2017年3月31日金曜日

[MT4プログラミング]MT4のバグ??iCustomを2回コールしないと最新値が取得できない。

EA開発中です。

毎Tickとか動かしているといつまでたってもテストが終わらないため、M5の確定足で動作するような設計にしています。

で、自作のインジケータをiCustomで呼び出しているのですが、1回目は正しい値が返ってきません。2回目だと帰ってきます。

・・・・・。なんで??
以前こんなこともありましたが、これと同じように毎Tickコールしないと正しく値がとれないのでしょうか??
[MT4プログラム]EA内でマルチタイムフレームを見る場合、常時取得しないと値がずれる

うーん。

ちなみにNGのコードはこれ
      buySell = CallHarmonic(HM_BUYSELL, shift);
      if( buySell != EMPTY_VALUE )
      {

値が取れるコードはコレ
      buySell = CallHarmonic(HM_BUYSELL, shift);
      buySell = CallHarmonic(HM_BUYSELL, shift);
      if( buySell != EMPTY_VALUE )
      {

(--#
血管浮き出そうです。

とりあえず、たまにHarmonicインジケータを呼び出すときに2回呼び出さないといけないということはわかりました。

呪詛の言葉を吐きそうです。

サンプルコードも見直します。
バックテストの遅さは無視して全Tickコールするしかなさそうです。

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ FX テクニカルトレード派へ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。