トレーダーにとって、特定の時間足で新しいバーが出現したかどうかの情報は非常に重要です。今回は、その実装方法の一例をご紹介します。
isNewBar()関数を最初に呼び出すと、現在のバーは新しいバーとは見なされません。この関数は現在のバーの時間を保存し、次のバーが新しいものとして扱われます。
コードにはコメントが付けられているので、理解しやすいと思います。ぜひ役立ててください。
MQL5では、チャートの最大バー数を無制限に設定している場合にのみ機能します:

この場合、新しいバーが出現すると、Bars関数は増加したバーの数を返しますが、チャートの最大バー数が制限されている(例えば、10000バーなど)場合、この方法は機能しません!簡単に確認できます。
そのため、最後のバーの時間を保存し、比較する必要があります。バーが完成するまで時間は変わらないからです。
このメソッドはインディケーターで使用されています。

コメント 0