• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MT4のIndicatorCounted())

MT4のIndicatorCounted()の挙動について

このQ&Aのポイント
  • MT4を応用した自動売買のシステムを作っている際に、MT4の関数であるIndicatorCounted()の挙動について悩んでいます。
  • IndicatorCounted()は、PTRループ内で時系列のデータを処理した後に処理済みの数を返す関数です。
  • しかし、初めて実行した時以外にも、IndicatorCounted()の値がゼロになることがあり、その条件について調査しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんにちは  誰もお答えしていなかったため、お答えさせていただきました。 > ふと疑問に思ったことは、ループ内で最小限どんな処理を行えば、IndicatorCounted()の値が更新されるのかなのです。 時系列バッファBuf[]と定義する値に何かセットしたときなのかなとも思いますが、明確な条件がわかりません。  もし、ICustom関数で、インディケーターをそのまま取り込んでいる場合でしたら、そのインディケーター自体によるものかもしれません。  例えば、以下に”VQ”のcodeが載せられていますが、 http://codebase.mql4.com/source/8680   ここに、 extern int CountBars = 1485;  とのcodeがあります。  つまり、この”VQ”では、1485本ごとに再計算されているということになります。    お答えになっているかどうかはわかりませんが、お役に立てれば、幸いです。

qhtsige
質問者

お礼

お礼が遅くなりすみませんでした。 実は現象は、IndicatorBuffersの数(7個)がSetIndexBuffersの数(10個)より少なかったためで、同じに合わせると、現象はなくなりました。でもなぜ、違うとだめなのかは、わかりません。 IndicatorCounted()について ご提示いただいたコードを拝見しましたが、この関数は使っていませんでした。それで、この関数の更新時期についての知見は得られませんでした。しかし、このコードは走らせていませんが、IndicatoCounted()を使わない方法もあるのだなと参考になりました。 またこのコードも両者の値が違うので、わからなくなりました。 他人の作ったコードも参考にしたいので、検討して見ます。 ありがとうございました。

関連するQ&A