MetaTrader 4用ヒストリーダウンローダーの活用法

Mike 2018.02.14 20:51 15 0 0
添付ファイル

このEA(エキスパートアドバイザー)は、現在のチャートシンボルと期間の価格履歴を「ホームボタンを押す」ことでダウンロードします。この方法は、s-Downloader by Talex スクリプトのアイデアに基づいています(CodeBaseリンク)。

s-Downloaderとの主な違いは、指定した時刻までの現在の時間足のバーのみがダウンロードされる点です。私自身は、通常使用する時間足でテストを行うため、これがより便利だと感じています。

この実装では、EAは単一のstart()イテレーションで実行されます。このため、チャートウィンドウ内のバー数や最初のバーの時間を取得する際にいくつかの困難がありました。そのため、EAはHistoryDownloaderI インジケーターを使用して更新されたグローバル変数からこれらのデータを取得します(添付ファイルに含まれています)。実際、このインジケーターはグローバル変数の更新以外には何も行いません :)

添付ファイルには、EA(HistoryDownloader.mq4)、インジケーター(HistoryDownloaderI.mq4)、および両方のソースコードとコンパイル済みファイルを含むアーカイブ(HistoryDownloader.zip)が含まれています。

これらを使用する手順:

  • Ctrl+Oを押して、履歴とチャートの最大バー数を確認する。
  • 必要なシンボルのチャートウィンドウを開き、履歴をダウンロードする時間足を選択する。
  • 自動スクロールを無効にし、スケールを最小に設定する(可能な限り「ズームアウト」する)。
  • チャートにHistoryDownloaderI インジケーターを起動する。
  • その後、EAを起動する。

EAパラメータ:

datetime ToDate - どこまでの価格履歴をダウンロードするかの日時。

int Timeout - チャート更新の待機時間(ミリ秒)。デフォルトは1秒(1000)です。

int MaxFailsInARow - チャートの「シフト」操作における最大連続失敗数。デフォルトは10です。

コードに関しては、できる限り詳細にコメントを付けました。結局、これは私のCodeBaseでの初めての公開作品です。

リスト
コメント 0