- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MT4のIndicatorCounted())
MT4のIndicatorCounted()の挙動について
このQ&Aのポイント
- MT4を応用した自動売買のシステムを作っている際に、MT4の関数であるIndicatorCounted()の挙動について悩んでいます。
- IndicatorCounted()は、PTRループ内で時系列のデータを処理した後に処理済みの数を返す関数です。
- しかし、初めて実行した時以外にも、IndicatorCounted()の値がゼロになることがあり、その条件について調査しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 誰もお答えしていなかったため、お答えさせていただきました。 > ふと疑問に思ったことは、ループ内で最小限どんな処理を行えば、IndicatorCounted()の値が更新されるのかなのです。 時系列バッファBuf[]と定義する値に何かセットしたときなのかなとも思いますが、明確な条件がわかりません。 もし、ICustom関数で、インディケーターをそのまま取り込んでいる場合でしたら、そのインディケーター自体によるものかもしれません。 例えば、以下に”VQ”のcodeが載せられていますが、 http://codebase.mql4.com/source/8680 ここに、 extern int CountBars = 1485; とのcodeがあります。 つまり、この”VQ”では、1485本ごとに再計算されているということになります。 お答えになっているかどうかはわかりませんが、お役に立てれば、幸いです。
お礼
お礼が遅くなりすみませんでした。 実は現象は、IndicatorBuffersの数(7個)がSetIndexBuffersの数(10個)より少なかったためで、同じに合わせると、現象はなくなりました。でもなぜ、違うとだめなのかは、わかりません。 IndicatorCounted()について ご提示いただいたコードを拝見しましたが、この関数は使っていませんでした。それで、この関数の更新時期についての知見は得られませんでした。しかし、このコードは走らせていませんが、IndicatoCounted()を使わない方法もあるのだなと参考になりました。 またこのコードも両者の値が違うので、わからなくなりました。 他人の作ったコードも参考にしたいので、検討して見ます。 ありがとうございました。