MQL4でiIchimoku関数で遅行スパン(MODE_CHIKOUSPAN)で0が返ってくる対処

MT4のプログラムMQL4で、一目均衡表の関数iIchimoku()で、遅行スパン(遅行線)の戻り値がどうもおかしい。

いつも0が返ってくるんです。その対処方法をまとめてみました。MT5(MQL5)も同様の原因です。

iIchimokuの関数

一目均衡表の値を取得する関数の仕様は以下のとおり。

 

六番目の引数modeで取得する種類が変わります。

ID詳細
MODE_TENKANSEN1転換線
MODE_KIJUNSEN2基準線
MODE_SENKOUSPANA3先行スパンA
MODE_SENKOUSPANB4先行スパンB
MODE_CHIKOUSPAN5遅行線

サンプルコード

遅行スパンだけ0が返ってくる

Comment関数でチャートに表示させてデバッグしてみると

遅行スパンだけ常に0。1バー前の値も0.

iIchimokuのMODE_CHIKOUSPAN

最初は、MT4に不具合があると思いました。

あれこれ、iIchimoku関数の情報調べたんですが、全くヒットせず。

 

ほんっと、参りましたが、海外の方で良い情報が。

CHIKOU SPAN line return 0
Hello, i don't knew why MODE_CHIKOUSPAN return 0 usually i use this code : double CHIKOUSPAN=iIchimoku(NULL,0,9,26,52,MODE_CHIKOUSPAN,0); waiting...
Put it on a chart and look. The Line ends 26 bars earlier.  

チャートをよく見ろ!。26バー前で終わる

遅行スパンは26バー前の情報が表示される

これが全てですね。

一目均衡表の理論を知っていれば何の問題もない事でした^^;

 

分からない方は、外為オンラインのこのページで詳しく解説してました。ご参考を。

Request Rejected

正しいサンプルコード

最後の引数部分はshift(何本前のバー)の値なので、これに26とすれば取得できるはず。

1バー前は27ですね。

結果

無事取得できました。

 

矢野テック
矢野テック

僕みたいな、プログラマー上がりの方は、かなりハマってしまうんじゃないでしょうかね。だいぶあれこれ検索して調べましたもん。

 

 

コメント