ヒストリカルデータについて
ヒストリカルデータは過去のMT4のデータの事を指します。
ヒストリカルデータはお使いのMT4自体にはごく僅かなデータしかなく、また正確性を欠いています。
ですからヒストリカルデータを提供している業者からデータをダウンロードし、
MT4にインポートする必要があります。
ヒストリカルデータは主にFXDD社・FXTF社・Axiory社等からダウンロードするのが一般的に知られていますが、
Tick Data Suiteという海外のサービスを利用することで、最高品質なヒストリカルデータを入手可能、且つバックテストが大変スムーズに行えます。
Tick Data Suite(ティックデータスイート)について
当サイトで提供するEAは全てTick Data Suiteを使ってバックテストを行っています。
理由は、最も品質が高いヒストリカルデータだからということと、バックテストが大変楽になるからです。
品質の良いヒストリカルデータを使わずにバックテストを行えば、
バックテスト結果にも影響して、EAの実際の結果とは大きくかけ離れてしまいます。
仮にバックテストで良い結果が出たとしても、
実際のリアルな相場では全く通用しないということが起こり得ます。
まずはこちらからTick Data Suiteのホームページにアクセスします。
Tick Data Suiteは高品質なヒストリカルデータを提供してくれる代わりに、
月額または年額あるいは買い切りプランと、有料のサービスになっています。
下の画像の一番下から、14日間のフリープランを選択できます。
まずは2週間無料で使ってみて、その後有料での契約を検討する流れで良いと思います。
名前・メールアドレスのみで14日間の無料体験が可能です。
登録メールアドレス宛にライセンス番号が届きます。
ダウンロードが完了したTick Data Suiteにてライセンス番号を入力し、
バックテストを行いたい通貨ペアのリストの右側赤枠の「・・・」を選択します。
期間を選択し、「ダウンロード開始」を押せば自動的にヒストリカルデータをダウンロードしてくれます。
Tick Data Suiteを使う場合のMT4バックテスト設定
MT4上部の「ストラテジーテスター」を選択すると画面下部にバックテストが可能なテスターの画面が表示されます。
続いて「ティックデータを使う」にチェックを入れ、「ティックデータ設定」を選択します。
こちらの画面がティックデータ設定です。
まずは「更新」を押して、ダウンロードしたヒストリカルデータを反映させます。
「スプレッド」のタブを選択し、本番環境に近いバックテストができるようにスプレッドの設定を行います。
XMKiwami口座のドル円の平均スプレッドは現在1.6pips(公式情報)とやや広めです。
これを書いている現時点のスプレッドは1pipsでした。
ちなみに、スプレッド情報を掲載してくれているサイト・ブログは多いですが、
それぞれ記載のスプレッドには差がありまして、どれを参考にすれば良いのか分かりません。
なので、下の設定では時間帯等によるスプレッド変動を考慮し、
最小スプレッド・最大スプレッドを入力し、スプレッド乗数を設定します。
スリッページも本番環境に近いバックテストを取るためには必須の項目です。
有効にチェックを入れ、デフォルト設定で良いでしょう。
バックテストするEA・通貨ペア・モデル(全ティック)を選択し、期間を指定にチェックを入れ期間を指定。
右下のスタートでバックテストを開始できます。
バックテストが終了すると、緑色のバーが満たされ、効果音で知らせてくれます。
バックテストの見方に関してはこちらをご参照下さい。
Tick Data Suite以外のヒストリカルデータ
今回は「Axiory」のヒストリカルデータをダウンロードして使います。
検証したい通貨ペアと年数のデータをダウンロードしましょう。
ダウンロード後、ZIPファイルは解凍しておきます。
MT4上部の「ツール」から「オプション」を選択します。
「チャート」タブを選択し、「ヒストリー内の最大バー数」と「チャートの最大バー数」という項目がありますので、
それぞれのボックス内に「9999999999999999」を入力し、最後にOKを押してください。
MT4の上部ツールバーの「ファイル」を選択して「新規チャート」→「USDJPY」と進むと、
MT4にUSDJPYの新規チャートが表示されますから、「M1(1分足)」に切り替えます。
MT4内でのヒストリカルデータの混同を避けるために、現在入っているヒストリカルデータを削除します。
MT4の上部ツールバーの「ファイル」を選択し、「データフォルダを開く」→「history」と進んでください。
historyの中には使用中の口座(デモまたはリアル)のフォルダが表示されています。
お使いのMT4口座名をダブルクリックすると別のフォルダが表示されます。
フォルダ内にはHSTという拡張子のファイルがあり「通貨ペア名+時間足」で作られています。
「USDJPY30」と表示されているファイルはUSDJPYの30分足のヒストリカルデータということになります。
フォルダはそのままにしてMT4のみを先に閉じます。
その後、フォルダからUSDJPYの全てのHSTファイルを削除し、フォルダを閉じます。
完了しましたら再度MT4を起動させます。
続いて、MT4の上部ツールバーの「ファイル」から「新規チャート」→「USDJPY」と進み、
チャート上部の「M1」を選択し、1分足チャートを表示して下さい。
マイナスの虫眼鏡マーク(ズームアウト)がグレー色になるまで押します。
次に緑の小さな▶マーク(自動スクロール)を押して凹みのない状態(機能の無効化)にします。
最後にパソコンキーボードの「Home」、「Page UP」、「方向キーの左」のいずれかでチャートの動きがと止まるまで押し、MT4を閉じて再起動させれば直近のヒストリカルデータの呼び出しが完了となります。
MT4の上部ツールバーの「ツール」から「ヒストリーセンター」を選択すると以下画像が表示されますので、「USDJPY」→「1分足(M1)」と進み、最後にインポートボタンをクリックして下さい。
以下画像が表示されましたら参照ボタンをクリックします。
Axioryからダウンロードしたフォルダを開き「USDJPY.hst」を選択して開くボタンをクリックします。
ファイルが見つからない場合は以下画像の赤枠部分が「MetaQuotes files(*.hts)」となっているかを確認します。
その後、「OK」→「閉じる」を押して完了します。
Axioryから取得したヒストリカルデータのインポートが完了しましたので、
MT4にデータを反映させるためにMT4を一旦閉じて再起動させます。
MT4の上部ツールバーの「ファイル」から「オフラインチャート」と進み、
「USDJPY M1」を選択して開くボタンをクリックします。
以下のようにMT4の画面上に「USDJPY,M1(offline)」のチャートが表示されます。
MT4上部メニューの「ナビゲーター」を押すと、左側にインジケーター等のリストが表示されます。
最下部の「スクリプト」→「PeriodConverter」をチャートにドラッグアンドドロップします。
「Script – PeriodConverter」という画面が開きますので、「全般」タブにて下の画像のようにチェックを入れます。
「パラメーターの入力」タブを選択して値に「5」を入力しOKボタンを押してください。
再度ナビゲーターから「スクリプト」→「PeriodConverter」をチャートにドラッグアンドドロップすると、
「Period_converterを停止して…?」という警告文が表示されますが「はい」を押して進みます。
今度は値に「15」と入力してOKボタンを押します。
続いて同様に「30」、「60」、「240」、「1440」と繰り返し行います。
MT4の上部ツールバーの「ファイル」から「オフラインチャート」へと進み、
画像のようにUSDJPYデータがM1からDailyまで作成されていればヒストリカルデータのインポートに成功したことになります。
オフライン・チャートリストのキャンセルをクリックし、USDJPY1分足のofflineチャートとMT4を閉じてください。
MT4を再起動させることで全ての設定がMT4に反映されます。
他ヒストリカルデータを使ったMT4バックテスト設定
こちらはTick Data Suite以外のヒストリカルデータを使う場合のMT4のバックテスト方法です。
MT4上部の「ストラテジーテスター」を選択すると画面下部にバックテストが可能なテスターの画面が表示されます。
バックテストするEA・通貨ペア・モデル(全ティック)を選択し、「期間を指定」にチェックを入れ期間を指定。
期間は時間足を指定し、スプレッドは固定スプレッドを入力して、右下のスタートでバックテストを開始できます。
※Tick Data Suite以外のヒストリカルデータでのバックテストでは変動スプレッド制を採用できませんので、通常のスプレッドよりやや広めの数値を入力してバックテストすることを推奨します。
バックテストが終了すると、緑色のバーが満たされ、効果音で知らせてくれます。
バックテストの見方に関してはこちらをご参照下さい。