TradingViewの使い方

TradingView(トレーディングビュー)のプログラム言語「Pineスクリプト」って何? Pineスクリプトを覗いてみよう


TradingView(トレーディングビュー)では「Pineスクリプト」というオリジナルの言語を用いてインジケーターを作成することができます。
また、プログラムに基づいて売買のシミュレーションができるストラテジーといわれるスクリプトも作成することができ、スムーズにバックテストを行うことが可能です。

今回はその「Pineスクリプト」がどのようなものなのかを、TradingViewに内蔵されているMACDのソースコードを用いて見てみたいと思います。


MACDとは?


プログラムを見る前に前提として、MACDというインジケーターについておさらいしておきましょう。

MACDは英語の「Moving Average Convergence and Divergence」の略で日本語に直訳すると「移動平均線、収縮と拡散」という意味になります。

その名の通り、短期と長期のMA(移動平均線)の差の収縮と拡散を見ながら相場の状況を分析するツールです。

具体的には、短期MA(一般的には期間12のEMA)と長期MA(一般的には期間26のEMA)の差をMACDという数値とします。
そのMACDを移動平均化(一般的には期間9のEMAを使用)して均したものをシグナルとし、それぞれをチャート下部に表示します。

また、MACDからシグナルを引いた数値をヒストグラムとし、棒グラフで表示します。

★image1_TradingView(トレーディングビュー)のチャートにMACDを表示


MACDをPineスクリプトで書くと・・・


以下は、TradingViewに内蔵されているMACDのソースコードです。

★image2_MACDのPineスクリプトのソースコード

上から順に内容を見ていきましょう。

①Pineスクリプトのバージョン

最初の「//@version=5」は、Pineスクリプトのversion5(v5)の言語を使うことを示しています。

Pineスクリプトは、本記事の執筆時点ではv5が使用されています。
古いバージョンの場合、不具合が生じることがあるため、最新のものを確認しておきましょう。

②作成するスクリプトの種類を宣言

「indicator()」と記述して、作成するスクリプトがインジケーターであることを宣言します。
この中で、インジケーターの名前(title)を「Moving Average Convergence/Divergence」、短い名前(shorttiltle)を「MACD」と決めています。

ちなみに、ストラテジーを作成する場合は、「strategy()」と記述します。

③パラメータ項目の追加

「input」から始まる青字は、インジケーターの設定の「パラメータ」タブで、ユーザーが変更できるパラメータ項目を追加する関数です。
具体的には、以下の6つのパラメータ項目と、それぞれの設定値が格納される変数を定義しています。

・Fast Length:短期MAの期間、デフォルトは12
・Slow Length:長期MAの期間、デフォルトは26
・Source:計算で使用する価格、デフォルトは終値
・Signal Smoothing:シグナルを計算する際の移動平均線の期間、デフォルトは9
・Oscillator MA Type:MACDを計算する際の移動平均線のタイプ、デフォルトは「EMA」
・Signal Line MA Type:シグナルを計算する際の移動平均線のタイプ、デフォルトは「EMA」

上記の項目に設定された値は、上から順にfast_length/slow_length/src/signal_length/sma_source/sma_signalという変数に格納されます。

④計算ロジックを記述

次に各数値を具体的に指定しています。
MACDでは5つの値を計算しています。

fast_ma

短期MAの数値を計算して、算出値を「fast_ma」という変数に格納します。
移動平均の計算では、パラメータの「Source」で設定した価格、「Fast Length」で設定した期間が使用されます。
移動平均の種類は、「Oscillator MA Type」に「EMA」を設定している場合がEMA、「SMA」を設定している場合がSMAです。

slow_ma

長期MAの数値を計算して、算出値を「slow_ma」という変数に格納します。
移動平均の計算では、パラメータの「Source」で設定した価格、「Slow Length」で設定した期間が使用されます。
移動平均の種類は、「Oscillator MA Type」に「EMA」を設定している場合がEMA、「SMA」を設定している場合がSMAです。

macd

短期MAと長期MAの差(MACD)を算出して、「macd」という変数に格納します。
短期MAの値はfast_maに、長期MAの値はslow_maに格納されているので、計算式は「fast_ma – slow_ma」 です。

signal

MACDの値を移動平均化してシグナルを算出し、「signal」という変数に格納します。
移動平均の計算では、「Signal Smoothing」で設定した期間を使用されます。
移動平均の種類は、「Signal Line MA Typ」に「EMA」「EMA」を設定している場合がEMA、「SMA」を設定している場合がSMAです。

hist

MACDからシグナルを引いてヒストグラムの数値を算出し、「hist」という変数に格納します。
計算式は、「macd – signal」です。

⑤アラート条件の作成

「alertcondition()」という関数を使うと、作成するインジケーターを使ったアラート条件を追加することができます。
ここでは、以下の名称のアラート条件を追加しています。

・Rising to falling:ヒストグラムが0以上からマイナスになったときにアラート
・Falling to rising:ヒストグラムが0以下からプラスになったときにアラート

⑥算出値などをチャート上に表示

算出した数値をチャート上に表示します。

「plot()」という関数で、対象となる値をチャート上にさまざまな形状・色で表示することができます。
ここでは、hist/macd/signalに格納されている値を、それぞれ以下のように表示する形で指定しています。

・hist:ヒストグラムの形状で、状況に応じて濃い緑/薄い緑/薄い赤/濃い赤で表示
・macd:青のラインで表示
・signal:オレンジのラインで表示

なお、形状は「style=」の記述で指定でき、histはヒストグラムを意味する「plot.style_columns」が記述されています。
macdとsignalのように特に記述がない場合は、デフォルトのライン表示となります。

色を指定するのは、「color=」の記述です。
histは以下のように条件によって色が変わるように記述されています。

・histが0以上で値が大きくなっている:濃い緑
・histが0以上で値が小さくなっている:薄い緑
・histが0未満で値が大きくなっている:薄い赤
・histが0未満で値が小さくなっている:濃い赤


Pineスクリプトで作成したインジケーターの表示方法


Pineスクリプトはチャートの下のPineエディタで編集し、「チャートへ追加」をクリックするとチャート上に表示されます。

ちなみに、「保存」の部分をクリックすると名前を付けて保存することができ、次回以降は「インジケーター、指標、ストラテジー」のウィンドウの中の「パーソナル」から選び、表示することができます。

★image3_Pineエディタ

Pine Script(Pineスクリプト)をさらに学びたい方へオススメのコンテンツ

Pine Scriptとは?種類や関数などを初心者向けに詳しく解説

OANDA証券では、TradingViewのプログラミング言語である「Pine Script(Pineスクリプト)」に関する記事を豊富に提供しています。
プログラミング初心者の方でも、インジケーターやストラテジーの作成ができるよう、ソースコードをコピペ+少しの修正で組み上がる構成としています。
またOANDA証券とTradingViewのアカウントを連携させることで、「Tradingview」から直接トレードすることが可能です。
ぜひOANDA証券での口座開設をご検討下さい。




TradingView(トレーディングビュー)で使用する情報は、全てTradingView(トレーディングビュー)社に帰属するものであり、当社は、その正確性、完全性を保証するものではありません。同サイトで使用する情報に基づいて行った取引によって発生したいかなる損害・損失について、当社は一切責任を負いかねますのでご了承下さい。最終的な投資判断についてはお客様ご自身でお願い致します。


本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。

この記事をシェアする

ホーム » TradingViewの使い方 » TradingView(トレーディングビュー)のプログラム言語「Pineスクリプト」って何? Pineスクリプトを覗いてみよう