最終更新日:2022年12月13日 22時06分
TradingView(トレーディングビュー)のプログラム言語「Pineスクリプト」って何? Pineスクリプトを覗いてみよう
TradingView(トレーディングビュー)では「Pineスクリプト」という オリジナルの言語を用いてインジーケーターを作成することができます。
また、ストラテジーといわれる売買のサインを表示させるタイプのインMACDをTradingViewのプログラム言語「Pineスクリプト」で書くと次のようなプログラムになります。 ジケーターも作成することができ、その売買の結果をバックテストすることもできます。
今回はその「Pineスクリプト」がどのようなものなのかを実際のインジケーター「MACD」のプログラムを用いて見てみたいと思います。
MACDとは?
プログラムを見る前に前提として、MACDというインジケーターについておさらいしておきましょう。
MACDは英語の「Moving Average Convergence and Divergence」の略で日本語に直訳すると「移動平均線、収縮と拡散」というような意味になります。
その名の通り、短期と長期の移動平均線(指数平滑移動平均線)の差の収縮と拡散を見ながら相場の状況を分析するツールです。
具体的には短期(デフォルトでは期間12)のEMA(指数平滑移動平均線)と長期(デフォルトでは期間26)のEMAの差をMACDという数値とし、そのMACDを移動平均化(デフォルトでは期間9)して均したものをシグナルとし、それぞれチャートの下部に表示します。
また、MACDからシグナルを引いた数値をヒストグラムとし、棒グラフで表示します。
MACDをPineスクリプトで書くと・・・
MACDをTradingViewのプログラム言語「Pineスクリプト」で書くと次のようなプログラムになります。
//@version=3 ・・・・・①
study(title="Moving Average Convergence/Divergence", shorttitle="MACD") ・・・・・②
source = close ・・・・・③
fastLength = input(12, minval=1), slowLength=input(26,minval=1) ・・・・・④
signalLength=input(9,minval=1)
fastMA = ema(source, fastLength) ・・・・・⑤
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal
plot(hist, color=red, style=histogram) ・・・・・⑥
plot(macd, color=blue)
plot(signal, color=orange)
上から順に内容を見てみると
①最初の「//@version=3」がPineスクリプトのversion3の言語を使いますということを示しています。
Pineスクリプトは本書執筆時点ではVersion3が使用されています。過去にはVersion1、Version2が使用されており、将来的には新しいVersionになる可能性もあります。プログラムを書く際は古いVersionの場合、不具合が生じることがあるため、最新のものを確認しておきましょう。
②「study」でインジケーターの名前(title)を「Moving Average Convergence/Divergence」、短い名前(shorttiltle)を「MACD」と定義しています。
③「source」では計算の対象となる価格を指定しています。ここでは「close」(終値)を指定しています。
④「fastLength」、「slowLength」、「signalLength」で3つのパラメーターについて定義しています。具体的には、次のようなことを定義しています。
短期のEMAの期間をデフォルトで12、最小値は1
長期のEMAの期間をデフォルトで26、最小値は1
シグナルを計算するための移動平均線の期間をデフォルトで9、最小値は1
⑤次に各数値を具体的に指定しています。MACDでは5つの値を計算しています。
「fastMA 」
短期のEMAの数値を計算します。「ema」(指数平滑移動平均線)という関数を用いて、「close」(終値)で算出した期間が④の「fastLength」で指定した数値のEMAの数値を算出します。
「slowMA」
長期のEMA の数値を計算します。「ema」(指数平滑移動平均線)という関数を用いて、「close」(終値)で算出した期間が④の「slowLength」で指定した数値のEMAの数値を算出します。
「macd 」
MACDの値を計算します。上記の2つの差がMACDなので、「fastMA – slowMA」という数式で算出します。
「signal」
シグナルの値を計算します。シグナルは「ema」関数を使用し、MACDの数値を「signalLength」で指定した期間のEMAの数値を算出します。
「hist」
ヒストグラムの数値を計算します。ヒストグラムは単純にMACDからシグナルを引いた数値であるため、「macd – signal」で算出します。
⑥算出した数値をチャート上に表示します。
「plot(◯◯, )」という関数が◯◯を書き出すという関数となります。「書き出すものに続いて「color=」で色を指定します。
また、指定がない場合はラインで表示しますが、それ以外のグラフを表示する場合は「style=」で表示の方法を指定します。MACDではヒストグラムを棒グラフで表示するため、
「style=histogram」で指定します。
これで、MACDをチャート上に表示するプログラムが完成です。
Pineスクリプトで作成したインジケーターの表示方法
Pineスクリプトはチャートの下のPineエディタで編集し、「チャートへ追加」をクリックするとチャート上に表示されます。
ちなみに、「保存」の部分をクリックすると名前を付けて保存することができ、次回以降は「インジケーター&ストラテジー」のウィンドウの中の「マイスクリプト」から選び、表示することができます。
Pine Script(Pineスクリプト)をさらに学びたい方へオススメのコンテンツ

OANDA証券では、TradingViewのプログラミング言語である「Pine Script(Pineスクリプト)」に関する記事を豊富に提供しています。
プログラミング初心者の方でも、インジケーターやストラテジーの作成ができるよう、ソースコードをコピペ+少しの修正で組み上がる構成としています。
またOANDA証券とTradingViewのアカウントを連携させることで、「Tradingview」から直接トレードすることが可能です。
ぜひOANDA証券での口座開設をご検討下さい。
TradingView(トレーディングビュー)で使用する情報は、全てTradingView(トレーディングビュー)社に帰属するものであり、当社は、その正確性、完全性を保証するものではありません。同サイトで使用する情報に基づいて行った取引によって発生したいかなる損害・損失について、当社は一切責任を負いかねますのでご了承下さい。最終的な投資判断についてはお客様ご自身でお願い致します。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。