目次
概要
相関性の高い通貨ペアを比較するためのインジケータを作成した。
ロジック
相関性の高い通貨ペアを2つ用意する。
例として、GBP/JPYとEUR/JPYで考える。
GBP/JPYとEUR/JPYは通貨の単位が異なるので直接比較はできない。
そこで、一定期間(例えば、過去30本分の足)でのGBP/JPYと EUR/JPYの平均値をもとに変換用の係数を求める。
例えば、以下のような状況を考える。
GBP/JPYの過去30本分の足の平均値が140。
EUR/JPYの過去30本分の足の平均値が120。
EUR/JPYをGBP/JPYのグラフの上に描写する時はEUR/JPYの終値に変換用の係数として140/120を掛ける。
使い方
相関性の高い通貨同士を比較して、大きなギャップが生じたら、そのギャップを埋める方向にエントリーを行う。
※このトレードルールが有効かは別途調査する予定。
参考にしたもの
相関性の高い通貨を使用したトレードについて
・https://fxscalping.web.fc2.com/page29.html
MT4で、別の通貨の時間足を重ねるインジケータ
・https://www.mql5.com/ja/code/7933
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue // 指標バッファ double BufMain[]; double BufSub[]; // 外部パラメータ extern int MAPeriod=30;// 平均値を取る期間 extern int mode=MODE_SMA;// 平均値を取るモード extern string SubSymbol="EURJPY"; // 初期化関数 int init() { IndicatorBuffers(2); //指標バッファを1個使用する SetIndexBuffer(0,BufMain); SetIndexBuffer(1,BufSub); SetIndexLabel(0,"BufMain"); SetIndexLabel(1,"BufSub"); return(0); } // スタート関数 int start() { int barsCount = BarsPerWindow() + 1; int firstBar = FirstVisibleBar(); int lastBar = firstBar - barsCount + 1; if(lastBar < 0) { lastBar = 0; barsCount = firstBar + 1; } for(int i = lastBar; i < lastBar + barsCount; i ++) { double mainPair=iMA(_Symbol, 0, MAPeriod, 0, mode, PRICE_CLOSE, i); double subPair=iMA(SubSymbol, 0, MAPeriod, 0, mode, PRICE_CLOSE, i); double conversionFactor=mainPair/subPair; BufMain[i]=iMA(_Symbol, 0, 1, 0, mode, PRICE_CLOSE, i);//Close[i]と同じ BufSub[i]=conversionFactor*iMA(SubSymbol, 0, 1, 0, mode, PRICE_CLOSE, i); } return(0); } //+------------------------------------------------------------------+ |
結果
説明
赤線がGBP/JPYの終値を結んだもの。
青線がEUR/JPYの終値に変換用の係数を掛けたもの。
~FXを始めてみませんか?~
XMは、口座を開設するだけで、3000円のボーナスが無料でもらえます。
資金はないけど、FXを試しに挑戦してみたい方でも大丈夫です。
(サイト主もXMを使用しています)