このユーティリティは、トレーディング情報を提供するものではありません。主に、ターミナルデータが利用可能なバーの数を把握したい方に役立ちます。このユーティリティは、SeriesIntegerInfoとCopyRatesの機能を使用して、ターミナルからバー情報の可用性を取得し表示します。
ユーザーは、現在のチャートのシンボル(デフォルト)を使用するか、市場ウォッチにある任意のシンボルを入力して、各時間枠ごとにSeriesIntegerInfo関数から返される三つの情報を持つ列を作成します。
- SERIES_SYNCHRONIZED: ターミナルのデータが同期されているかどうか(指標は、真の場合はSYNC、偽の場合はUN_SYNCと表示します)。
- SERIES_BARS_COUNT: 指定した時間枠で利用可能なバーの数(バーゼロを含む)。
- SERIES_FIRSTDATE: 指定した時間枠で最も古いバーの日付。
このユーティリティは、各時間枠における有効なバーのCopyRates情報を表示する第二列も作成します(有効なバーは、SeriesIntegerInfoから返される情報に基づいています)。デフォルトでは、各時間枠の最古のバーに対するCopyRates情報が表示されますが、ユーザーは任意の有効なバー番号を入力することも可能です。
このインジケーターは、こちらのインジケーターの双子のインジケーターであり、有効なバーに関する情報を「Bars」関数を使用して取得します。SeriesInfoInteger関数は、バー情報を取得するより良い方法のようですが、現バージョンのターミナルでは、CopyRatesが情報を取得できないバーが存在することを報告します。
インジケーターの表示は、ターミナルがデータを初期化する間、数秒間安定します。以下のように、いくつかの4401「ターミナルデータが利用できません」エラーを含むリストとして表示されます。以下で、番号付きコントロールの説明をご覧ください:

コントロール:
- 1)「Rates and Bar」 - 表示をチャート上の別の位置に移動するために選択してドラッグします。
- 2) これはバー番号入力ボックスです。有効なバーのCopyRates情報が利用可能かどうかを確認するためにバー番号を入力します。
- 3)「Symbol」 - バー番号を「最古」のデフォルト、または最後に入力したバー番号に切り替えるためにクリックします。
- 4) これはシンボル入力ボックスです。市場ウォッチの任意のシンボルを入力して、そのシンボルの情報を表示します。
- 5) MN1 CopyRates情報をクリックして、ログの書き込みをオンまたはオフに切り替えます。オンにすると、BarsとCopyRatesから返されるエラーがログに書き込まれます。
推奨: #include <errordescription.mqh>を取得してコメントを解除し、インジケーターにErrorDescriptionテキストを追加することをお勧めします。このインクルードをコードに含めることはできません。
私のテストでは、SeriesIntegerInfoは100,000を超えるバーの値を報告しましたが、CopyRatesは99,999を超えるバー番号のデータを取得できないようです。以下の画像は、バー100,000に対するCopyRates 4401エラーと、バー99,999に対する成功を示しています:

バージョン: M1からMN1までの行識別子はV1.00で省略され、V1.02で修正されました。