ホーム テクニカル指標 投稿

MetaTrader 5用のシリーズインジケーターとCopyRates情報の活用法

添付ファイル
26330.zip (8.02 KB, ダウンロード 0回)

このユーティリティは、トレーディング情報を提供するものではありません。主に、ターミナルデータが利用可能なバーの数を把握したい方に役立ちます。このユーティリティは、SeriesIntegerInfoCopyRatesの機能を使用して、ターミナルからバー情報の可用性を取得し表示します。

ユーザーは、現在のチャートのシンボル(デフォルト)を使用するか、市場ウォッチにある任意のシンボルを入力して、各時間枠ごとにSeriesIntegerInfo関数から返される三つの情報を持つ列を作成します。

  • SERIES_SYNCHRONIZED: ターミナルのデータが同期されているかどうか(指標は、真の場合はSYNC、偽の場合はUN_SYNCと表示します)。
  • SERIES_BARS_COUNT: 指定した時間枠で利用可能なバーの数(バーゼロを含む)。
  • SERIES_FIRSTDATE: 指定した時間枠で最も古いバーの日付。

このユーティリティは、各時間枠における有効なバーのCopyRates情報を表示する第二列も作成します(有効なバーは、SeriesIntegerInfoから返される情報に基づいています)。デフォルトでは、各時間枠の最古のバーに対するCopyRates情報が表示されますが、ユーザーは任意の有効なバー番号を入力することも可能です。

このインジケーターは、こちらのインジケーターの双子のインジケーターであり、有効なバーに関する情報を「Bars」関数を使用して取得します。SeriesInfoInteger関数は、バー情報を取得するより良い方法のようですが、現バージョンのターミナルでは、CopyRatesが情報を取得できないバーが存在することを報告します。

インジケーターの表示は、ターミナルがデータを初期化する間、数秒間安定します。以下のように、いくつかの4401「ターミナルデータが利用できません」エラーを含むリストとして表示されます。以下で、番号付きコントロールの説明をご覧ください:

シリーズ情報とCopyRatesインジケーター表示パネル

コントロール:

  • 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に対する成功を示しています:

CopyRatesの最古の使用可能なバーは99,999

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

関連記事

コメント (0)