(1)概要
(2)plot関数
(3)change関数・iff関数
(4)input関数
(5)security関数、相関係数インジケータ
(6)fill関数
(7)bgcolor関数
(8)複数行を一括でコメントアウトできる?
(9)line.new関数・line.set関数、ピボット・インジケータ
(10)関数宣言(カスタム関数)、ピボット・ハイ・ロー・インジケータ
(11)ジグザグ(ZigZag)インジケータ
(12)平均足バー・マルチタイムフレーム(MTF)
(13)ストラテジー・バックテストの概要
(14)ストラテジー・サンプル「EMAクロス+固定TP/SL」
(15)ストラテジーの「最適化」をめぐるTradingViewとMetaTraderの違い
(16)Security関数のgapsとlookaheadとは?
(17)アラート条件の設定:alertcondition
はじめに
TradingViewの独自言語「Pine Script」入門ガイドの今回は5回目です。
前回は、「input関数」を紹介しました。
今回は、現在チャートに表示されているシンボルと違うシンボルや時間足の値を取得する「security関数」を紹介します。
たとえば、ドル円のチャートを表示させておいて、ドル円以外のシンボル、たとえば日経平均の値を取得するようなケースでSecurity関数を使います。
今回の記事では、このsecutiry関数を使って、別記事で紹介した「相関係数」を表示するインジケータを改良してみたいと思います。
security関数
security関数は、現在チャートに表示されているシンボルと違うシンボルや時間足の値を取得します。
security(symbol, resolution, expression, gaps, lookahead)
引数はsymbol、resolution、expressionまでで、通常はOKだと思います。
たとえば、「s = security(“MSFT”, “D”, close) 」では、マイクロソフト株の日足の終値を取得します。
相関係数インジケータの自作
しかし、このTradingView組み込みのインジケータでは、複数の対象の相関係数を比較できません。
今回は、上記のsecurity関数を使って、より便利な相関係数のインジケータを作ってみます。
たとえば、「米国株と、ドル円・オージードル・ユーロドル・ポンドドルの2020年年初からの相関関係を、一つのインジケータウインドウで表示させて比較したい」とします。
今回は先に結果を表示させます↓。
チャートウインドウの方は;
- 米国株(S&P500):オレンジ
- EURUSD:赤
- GBPUSD:緑
- AUDUSD:ネイビー
- 1/USDJPY(ドル円を反転させたもの):青
インジケータウインドウの方は;
- EURUSDとS&P500の相関係数:赤
- GBPUSDとS&P500の相関係数:緑
- AUDUSDとS&P500の相関係数:ネイビー
- 1/USDJPY(ドル円の反転)とS&P500の相関係数:青
で描画しています。
豪ドルが米国株と最も(正の)相関関係が強く、円が米国株と最も相関関係が弱いですね。
COVID-19のパンデミックによる株暴落の時期は、「豪ドル・ポンド」(より脆弱な通貨)と、「ユーロ・円」(より強い通貨)で全く異なる相関の動きだったことがわかります。
このインジケータのスクリプトは、以下の通りです。
//@version=4 study( "Coorelation Analysis", overlay=false) plot( correlation(security("eurusd" ,"D" ,close), close,20 ), linewidth = 2, color=color.red ) plot( correlation(security("gbpusd" ,"D" ,close), close,20 ), linewidth = 2, color=color.green ) plot( correlation(security("audusd" ,"D" ,close), close,20 ), linewidth = 2, color=color.navy ) plot( correlation(security("1/usdjpy" ,"D" ,close), close,20 ), linewidth = 2, color=color.blue ) hline(0, linewidth = 1, linestyle=hline.style_solid)
correlation関数は相関係数を取得する関数です。
correlation(source_a, source_b, length)
correlationで始まる4つの行に注目ください。まずsecurity関数で各通貨の日足終値を取得して、その後correlation関数でS&P500との相関係数を取得して、それをplot関数で描画しています。
最終行は、見やすいように相関係数がゼロのラインに実線を描画しています。