MT4でヒストリカルデータを取り込む方法(Tickstory Lite版)
MT4の扱いに慣れてない方向けの記事です。
Tickstroy Lite で取得したヒストリカルデータをMT4 に取り込む手順を紹介します。
※Tickstory Lite を使うと良質と言われる dukascopy のヒストリカルデータを簡単に取得することができます。EAの長期バックテストを行うのに適しています。
※MT5版の記事はコチラ → MT5でヒストリカルデータを取り込む方法(Tickstory Lite版)
やることは大まかに以下の4点です。
- Tickstory Lite でヒストリカルデータを取得する
- 取得したヒストリカルデータをMT4で取り込めるCSVファイルの形で出力
- ヒストリーセンターでCSVファイルを取り込む
- 「Period Converter All Timeframes」スクリプトを流して全時間足データを作成する
1. Tickstory Lite でヒストリカルデータを取得する
Tickstoryの公式サイト(https://tickstory.com/)にアクセスし、Tickstory Lite(Free)をダウンロード&インストールします。
インストールしたら Tickstory Lite を起動します。ヒストリカルデータを取得する通貨ペア(ここではUSDJPY)を右クリックし「ダウンロード」を選択します。
ダウンロード期間を指定し「OK」を選択します。
ダウンロードタスクが開始されますので完了するまで待ちます。
※ダウンロード期間が長い場合、それなりに時間かかります。私の環境ではすべての期間のダウンロードに数時間かかりました。
2. 取得したヒストリカルデータをMT4で取り込めるCSVファイルの形で出力
USDJPYを右クリックし、「MT5へエクスポート」→「バー…」を選択する。
※あえて「MT5へエクスポート」を選びます。Tickstory Lite(Free) の「MT4へのエクスポート」は1年間分までという制限があるためです。
出力内容を設定します。
- 開始日、終了日:データの出力範囲を指定します
- 時間フレーム:1分
- 時間帯調整:業者のMT4サーバー時間基準に合わせます(よくある「米国冬時間GMT+2、米国夏時間GMT+3」の業者であれば「(EST +07:00) ニューヨークの取引時間」を選べばOK)
- データ出力:「カスタム」を選びデータ形式に「{BarBeginTime:yyyy.MM.dd},{BarBeginTime:HH:mm:ss},{Open},{High},{Low},{Close},{Volume}」と指定します
- 出力ファイル名:CSVファイルの出力先ファイルパスを指定します
エクスポートタスクが開始されますので、完了するまで待ちます。
※期間が長い場合はそれなりに時間かかります。10年分で1時間くらい。
3. ヒストリーセンターでCSVファイルを取り込む
まず今あるヒストリカルデータを一度削除します。
[ファイル]メニューからデータフォルダーを開き、一旦MT4を終了します。
データフォルダーの「history\(MT4サーバー名)」フォルダーを開き、「<対象の通貨ペア>○○.hst」という名前のファイルをすべて削除します。
データフォルダーの「tester\history」フォルダーを開き、「<対象の通貨ペア>○○.fxt」という名前のファイルをすべて削除します。
MT4を起動し、[ツール] - [ヒストリーセンター]を開きます。
ダイアログ左のツリーから対象の通貨ペアの「1分足(M1)」を選択して、「インポート」を選びます。
「参照」から Tickstory Lite で出力したCSVファイルを指定します。読み込みが始まるのでそれが終わったら「OK」をクリックします。
1分足データが取り込まれました。「閉じる」をクリックしたら、MT4を終了させます。
4. 「Period Converter All Timeframes」スクリプトを流して全時間足データを作成する
次のリンクから「Period Converter All Timeframes」スクリプト(PeriodConverterAllTimeframes.ex4)を入手します。
リンク(ページの中腹あたり) → はじめてのEAバックテスト!人気のEAをバックテストできる『バックテストフリーEA(1本のみリアル稼働有り)キャンペーン』【11/13~11/25】
MT4を起動し、データフォルダーを開きます。
ダウンロードしたスクリプトファイル(PeriodConverterAllTimeframes.ex4)をデータフォルダーの「MQL4\Scripts」フォルダーに置きます。
ナビゲータで右クリックメニューの「更新」を行います。スクリプトの下に「PeriodConverterAllTimeframes」が表示されます。
[ファイル] - [オフラインチャート] を開き、対象の通貨ペアの1分足チャートを開きます。
チャートが開いたら、「PeriodConverterAllTimeframes」スクリプトをチャートにドラッグ&ドロップします。
ダイアログが表示されます。パラメーターの入力タブで「ConverterD1」「ConverterW1」「ConverterMN」にそれぞれ「true」を指定してOKを選択します。M1ローソク足から他の時間枠ローソク足を生成する処理が開始されます。
処理が完了すると以下のアラート通知が表示されます。
手順は以上で完了です。
MT4で思う存分バックテストしましょう!!??
《宣伝》
GogoJungleでインジケーターやEAなど出品しています。覗いてみていただけると嬉しいです。
- カーソル位置の時間ラベルが便利! セッションの色付け&時計
- お手持ちのサインツールがEAになります! 矢印サインで取引するEA Arrow-based Trading EA
- 過去10年分のデータから割り出した週間値動きサイクルをサインツールにしました! お師匠の心眼 Oshisho no Shingan
- ずんだもんが毎時0分と世界三大証券取引所の開始と終了をお知らせ! ずんだもん時報
よろしいですか?