私たちのファンページに参加してください
- ビュー:
- 886
- 評価:
- パブリッシュ済み:
- 2016.07.15 12:26
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
履歴データエキスポートのスクリプト。
MetaTrader 4で履歴に問題がおありですか?どんな長さの履歴でもMetaTrader 5から読み取れます。
ステップ1:設定
erminal_data_folder\MQL5\scripts\ のスクリプトを読み込みます。
CheckHistory及びStringライブラリを terminal_data_folder\MQL5\Include\komposter\に読み込みます。
スクリプトをコンパイルします。
ステップ2:履歴の長さの設定
「チャート」タブで「ツール」「オプション」(Ctr+O)に行くか、「チャート」タブでバーを何本エキスポートしたいか指定します(ウィンドウでのバーの最大数)。1年のМ1の履歴は約37万バーです。
「ОK」をクリックしてМТを再起動します。
ステップ3:製品リストの設定
一度に多くのパラメータの履歴を読み込みたい場合は、それらを「気配値表示」に追加して不要な製品を隠します。
ステップ4:スクリプト実行
任意のチャートにスクリプトをドラッグし、外部変数の値を設定します。
- SymbolsList:カンマで区切った銘柄のリスト(例:EURUSD,GBPUSD)。
「すべて」に設定すると、「気配値表示」のすべての文字が使用されます。 - TimeFramesList:カンマで区切った時間枠のリスト(例:M1,M5,M15)。
「すべて」に設定すると、D1より小さいすべてのМТ4時間枠が使用されます。 - BarsToDownload:エキスポートするバーの数
。0に設定すると、チャート上に見えるすべてのバーがエクスポートされます(ウィンドウでの最大バー数)。
「ОK」をクリックしてシャットダウンメッセージを待ちます。進捗状況は端末の「エキスパートアドバイザー」タブで追うことができます。
2013.03.28 11:42:55 sHistoryExport (EURUSD,H1) GBPJPY, PERIOD_M1: history synchronized within 1.5 sec
2013.03.28 11:43:25 sHistoryExport (EURUSD,H1) GBPJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\GBPJPYM1.csv" and "History (MetaQuotes-Demo)\GBPJPY1.hst" within 30.0 sec!
2013.03.28 11:43:27 sHistoryExport (EURUSD,H1) EURJPY, PERIOD_M1: history synchronized within 1.6 sec
2013.03.28 11:43:55 sHistoryExport (EURUSD,H1) EURJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\EURJPYM1.csv" and "History (MetaQuotes-Demo)\EURJPY1.hst" within 28.6 sec!
2013.03.28 11:43:57 sHistoryExport (EURUSD,H1) NZDUSD, PERIOD_M1: history synchronized within 1.6 sec
2013.03.28 11:44:26 sHistoryExport (EURUSD,H1) NZDUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\NZDUSDM1.csv" and "History (MetaQuotes-Demo)\NZDUSD1.hst" within 29.0 sec!
2013.03.28 11:44:28 sHistoryExport (EURUSD,H1) AUDUSD, PERIOD_M1: history synchronized within 1.7 sec
2013.03.28 11:44:56 sHistoryExport (EURUSD,H1) AUDUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\AUDUSDM1.csv" and "History (MetaQuotes-Demo)\AUDUSD1.hst" within 28.2 sec!
2013.03.28 11:44:59 sHistoryExport (EURUSD,H1) USDCAD, PERIOD_M1: history synchronized within 1.8 sec
2013.03.28 11:45:27 sHistoryExport (EURUSD,H1) USDCAD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDCADM1.csv" and "History (MetaQuotes-Demo)\USDCAD1.hst" within 28.3 sec!
2013.03.28 11:45:31 sHistoryExport (EURUSD,H1) USDCHF, PERIOD_M1: history synchronized within 3.9 sec
2013.03.28 11:46:00 sHistoryExport (EURUSD,H1) USDCHF, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDCHFM1.csv" and "History (MetaQuotes-Demo)\USDCHF1.hst" within 28.5 sec!
2013.03.28 11:46:01 sHistoryExport (EURUSD,H1) GBPUSD, PERIOD_M1: history synchronized within 1.5 sec
2013.03.28 11:46:31 sHistoryExport (EURUSD,H1) GBPUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\GBPUSDM1.csv" and "History (MetaQuotes-Demo)\GBPUSD1.hst" within 29.5 sec!
2013.03.28 11:46:33 sHistoryExport (EURUSD,H1) USDJPY, PERIOD_M1: history synchronized within 2.6 sec
2013.03.28 11:47:03 sHistoryExport (EURUSD,H1) USDJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDJPYM1.csv" and "History (MetaQuotes-Demo)\USDJPY1.hst" within 29.4 sec!
2013.03.28 11:47:04 sHistoryExport (EURUSD,H1) EURUSD, PERIOD_M1: history synchronized within 1.5 sec
2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) EURUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\EURUSDM1.csv" and "History (MetaQuotes-Demo)\EURUSD1.hst" within 28.8 sec!
2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) History export finished within 279.6 sec!9 files have been written to:
2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) D:\_Forex\MetaTrader 5 Work\MQL5\Files\History (MetaQuotes-Demo)\
多数の製品及び/または時間枠及び/または読み込むバーが設定されると、スクリプトは非常に長く実行されるもしくは通常コアメモリの不足によってハングアップします。使用しているハードウェアの可能性は適切に評価されるべきです。
ステップ5:完成!
必要なすべての履歴を読み込むと、スクリプトは情報ウィンドウを表示して終了します。ファイルが保存されているフォルダの名前は、警告ウィンドウから直接コピーすることができます。
MetaTrader 4(「相場アーカイブ - インポート」)でインポートする準備が整ったスクリプトによって書かれたCSV-ファイル:
変更履歴:
2013.03.25:
- [*] サーバー上の製品/時間枠の十分な長さの履歴が存在しない場合、スクリプトは全体の利用可能な履歴をダウンロードして保存します(以前はエラーが発生し何も保存されませんでした)。
2013.03.28:
- [+] 「hst」への書き込みが追加されました。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1252

MetaQuotesの履歴読み込み関数を少し変更しました。

文字列操作関数のライブラリ:StringToArray、StringToPeriod、PeriodToString