また、実際にEAのバックテストを行う方法についても併せて解説していきます。
そもそもヒストリカルデータってなに?
ヒストリカルデータというのは、簡単に言うと、
「過去の為替レートのデータ」のことです。
MT4は初期状態だと、1分足や5分足のような小さな時間足のチャートは昔まで遡れません。
実際にMetaTraderを開いて左右にスクロールするとわかりますが、小さな時間足では数か月分のチャートしか表示できない仕様になっています。
デフォルトの状態で表示可能なバーの本数と期間の目安は以下の通りです。
時間足 | バーの本数 | 表示可能な期間 |
---|---|---|
1分足 | 65,536本 | 約1ヶ月半分 |
5分足 | 32,768本 | 約3ヶ月分 |
15分足 | 16,384本 | 約5ヶ月分 |
30分足 | 16,384本 | 約10ヶ月分 |
1時間足 | 16,384本 | 約1年8ヶ月分 |
4時間足 | 16,384本 | 約3年分 |
日足 | 16,384本 | 約7年分 |
週足 | 1,024本 | 約15年分 |
月足 | 256本 | 約21年分 |
例えば、「1年前の5分足のチャートデータを見たい…」という場合には、ヒストリカルデータをMetaTraderに導入することで参照が可能になります。
ヒストリカルデータには主に2つの使い道があります。
- 過去のチャート分析
- EAのバックテスト
ヒストリカルデータは主に「EAのバックテスト」の材料として利用されます。
この記事では、EAのバックテストを行うという想定で、ヒストリカルデータの導入方法を解説しています。
EAのバックテストとは?
MT4やMT5では、EA(Expert Advisor:エキスパートアドバイザー)と呼ばれる自動売買プログラムを稼働させることができます。
EAを使う際には「本当に利益が出せるのか」をチェックするために、以下の2つのテストを行う必要があります。
- バックテスト
→過去のチャートで実際にEAが利益を出せるのか確認するためのテスト - フォワードテスト
→一定期間実際にEAを稼働させてみて、現在の相場状況でも問題なく利益が出せるのか確認するためのテスト
「過去数年分のチャートデータ=ヒストリカルデータ」を、あらかじめMT4/MT5に導入しておく必要があるということです。
バックテストの結果は完璧じゃない!
バックテストというのは、あくまで過去データに基づいたテストなので、
実際に稼働させたときにバックテスト通りの利益が出ることはありません。
「相場は生き物」なので、年々状況は変化します。
2年前は優秀だったEAも、相場の状況が変われば全然利益の出せないEAになってしまう…ということも珍しくありません。
市販のEAを使う場合は、
「バックテスト+フォワードテスト(最低でも1か月)」
を必ず行うようにしましょう!
ヒストリカルデータで重要なのは「データの質」です。
ヒストリカルデータの質は、バックテストの信頼性を大きく左右します。
質が悪いヒストリカルデータを基にバックテストを行うと…
ヒストリカルデータの質の良し悪しは、以下の3点で決まります。
- ローソク足のヒゲの有無
- チャート抜けの有無
- MT4との時間のズレの有無
高品質はヒストリカルデータを提供しているのは、以下の3社です。
FXDDのヒストリカルデータは、品質が高く、無料でダウンロードすることができます。登録不要も不要です。
また、1999年からのヒストリカルデータを公開しているので、長い期間の検証をするのに適しています。
FXDDのヒストリカルデータをXMのMT4にインポートする手順(画像付き)
ヒストリカルデータの質の大切さが分かった所で、ここからはヒストリカルデータをMT4にインポートする手順を画像付きで解説していきます。
MT5でもヒストリカルデータの導入手順は全く同じです!以下で解説するやり方で問題ありません。
まずはFXDDの公式サイトからヒストリカルデータをダウンロードする必要があります。
1.ヒストリカルデータのダウンロード
FXDDのサイトへ移動し、ダウンロードしたい通貨ペアのヒストリカルデータを選択します。
今回は例として「ドル円」をインストールするので、「USD/JPY」をクリックします。
「USDJPY.zip」がダウンロードされたら圧縮ファイルを解凍して、デスクトップなど分かりやすい場所に置いておきます。
2.MT4の事前設定
MT4を起動し、「ツール」「オプション」をクリックして、「オプション画面」を開きます。
「オプション」画面が開いたら、「チャート」タブに移動します。
- ヒストリー内の最大バー数
- チャートの最大バー数
をそれぞれ「99999…」と入力して「OK」をクリックすれば、最大値の「2147483647」になります。
最大バー数の設定が終わったら「OK」を押して画面を閉じます。
次に、既に存在するヒストリカルデータを削除するために、MT4で開いているチャート画面を全て閉じます。
既存のヒストリカルデータの削除
「ファイル」「データフォルダを開く」をクリックし、「history」フォルダを開きます。
「XMTrading-Real○○」フォルダの順に開いて、既存の「USDJPY○○.hst」ファイルを選択して右クリック後、「削除」をクリックします。
(下記画像では「XMTrading-Real 37」フォルダで削除を実行)
FXDDのヒストリカルデータをMT4にインポート
ヒストリカルデータをインポートする為にMT4の画面を再度開き、「ツール」「ヒストリーセンター」をクリックします。
インポートしたい通貨ペア(ここでは「USDJPY」)をダブルクリックし、「1分足」を選択して「インポート」をクリックします。
「インポート」画面が表示されるので「参照」をクリックすると「開く」画面になり、右下で「All Files(*.*)」にすれば「USDJPY.hst」が表示されるので、これを選択して「開く」をクリックします。
「インポート」画面で、「OK」をクリックします。
「ヒストリーセンター:USDJPY,M1」画面の上部の「デー・ベース:○○レコード」の数値が増えていればインポートが成功しているので、「閉じる」をクリックします。
MT4を再起動し、オフラインチャートを開く為に「ファイル」「オフラインチャート」をクリックします。
「オフラインチャートリスト」画面で、「通貨ペア+M1」項目(ここでは「USDJPY,M1」)を選択し、「開く」をクリックします。
下記URLにアクセスして、「period_converter_ALL.ex4」を入手します。
≫「period_converter_ALL.mq4」のダウンロードページへ
ダウンロードしたら、解凍しておきましょう。
MT4で「ファイル」→「データフォルダを開く」をクリック。「MQL4」ファルダ、「Scripts」フォルダを開き、先ほど解凍した「period_converter_ALL.ex4」を移動させます。完了したら、MT4を再起動します。
「表示」「ナビゲーター」をクリックし、ナビゲーターウィンドウを表示される。
ナビゲーターウィンドウの「スクリプト」直下に「period_converter_ALL」があるので、チャート画面へドラッグ&ドロップします。
チャート画面の左上で数字が走り出すので、表示が止まるまで待つとインポートが完了します。
XMのMT4でEAのバックテストをする方法
MT4を起動し、「Strategy Tester」アイコンをクリックすると、「テスター」画面がMT4の下部に表示されます。
「セッティング」タブでテスター項目を設定後、「エキスパート設定」をクリックします。
テスター項目 | 内容 |
---|---|
①エキスパートアドバイザー/インディケータ | EAなので「エキスパートアドバイザー」を選択 |
②(↑の右隣) | バックテストしたいEAを選択 |
③通貨ペア | バックテストしたい通貨ペアを選択 |
④期間 | バックテストしたい時間足を選択 |
⑤モデル | 下記3つから選択 |
全ティック | 1分足データのみを対象にバックテスト。最も正確。 |
コントロールポイント | ④で選択した時間軸の一つ下の時間軸でバックテスト |
始値のみ | ④で選択した時間軸の始値のみでバックテスト |
⑥スプレッド | スプレッド幅を指定 単位は「ポイント」でレートの最小値を意味する レートが「105.765」なら「0.001」が「1ポイント」 |
⑦期間を指定 | チェックを入れるとバックテスト期間の設定が可能 長期の設定だとバックテスト終了に時間がかかる為、1年以内がオススメ |
⑧ビジュアルモード | チェックを入れると値動きと取引の様子が分かる様になる(右にあるバー操作で速度調整が可能) チェックを入れない方が早くバックテストが完了する |
「テスト中」タブの設定を行う。
「テスト設定」タブの詳細 | 内容 |
---|---|
初期証拠金 | 口座に入れたと想定する証拠金 |
(↑の隣にある通貨) | 手入力で「JPY」 |
ポジション | 下記3つから選択 |
Long & Short | 買い&売り注文両方でテストする |
Long Only | 買い注文のみでテストする |
Short Only | 売り注文のみでテストする |
「パラメーターの入力」タブで好きな値でパラメーターを設定し、「OK」をクリック。
「スタート」をクリックするとバックテストが開始され、緑色のバーが進みます。
バックテストを止めたい場合は、「ストップ」をクリックします。
EAバックテスト結果の見方
「テスター」画面の下にある
- 結果
- グラフ
- レポート
- 操作履歴
でバックテストの結果を見る事ができますが、レポート化した方が見やすいです。
- バックテストの結果をレポート化する方法
- バックテストのレポートの見方
バックテストの結果をレポート化する方法
バックテスト後、「結果」タブで右クリックし、「レポート保存」をクリック。
「保存」をクリックすると自動的にネットへ繋がり、ブラウザ上で閲覧可能になります。
バックテスト結果のレポートの見方
保存した「StrategyTester.htm」を開きます。
自動的にネットへ繋がり、ブラウザ上でレポートが開きます。
用語 | 説明 |
---|---|
テストバー数 | バックテスト時のローソク足の数 |
モデルティック数 | バックテスト時のティック数 ※「ティック」は取引時間の最小単位 |
モデリング品質 | ヒストリカルデータの信頼性 時間軸が短いほど高くなり「90%」が最高値 |
不整合チャートエラー | データが合わない数で、バックテストの信頼性に影響する 「0」に近いのが理想 |
純益 | 「総利益-総損失」 |
プロフィットファクタ | 「利益÷損失」 |
期待利得 | 「純益÷総取引数」 |
絶対ドローダウン | 初期証拠金から最も減った時の証拠金 |
最大ドローダウン | 下落幅が最大になった時の損失額 |
相対ドローダウン | 「最大ドローダウン」で減った証拠金の比率 |
売りポジション(勝率%) | 売りポジションの取引回数とその時の勝率 |
買いポジション(勝率%) | 買いポジションの取引回数とその時の勝率 |
勝率(%) | 利益が出て勝った確率 |
負率(%) | 損失が出て負けた確率 |
最大勝トレード | 1回のトレードで出た最大の利益額 |
最大敗トレード | 1回のトレードで出た最大の損失額 |
平均勝トレード | 勝った時の平均利益額 |
平均敗トレード | 負けた時の平均損失額 |
レポート内で重要になる用語をチェックして、バックテストを評価する。
重要用語 | 解説 |
---|---|
純益 | プラスでかつ値が大きい程、利益が見込める |
総取引数 | 多ければ多い程、バックテストの信頼性UP |
勝率(%) | EAの勝率なので高い方が望ましい |
最大ドローダウン | 小さい値であればある程、資金が底をつく可能性が低くなる |
XMのバックテストに関する「よくある質問」
XMのヒストリカルデータの信頼性は低いの?
XMはそもそも、自社のヒストリカルデータを公開していません。
XMのMT4/MT5上のヒストリーセンターでダウンロードできるのは、MetaQuotes社のヒストリカルデータです。
MetaQuotes社のヒストリカルデータはEAのバックテストに利用できるようなクオリティのものではないので、他社のヒストリカルデータを利用する必要があります。
XMのヒストリカルデータをダウンロードする方法はある?
XMは公式サイト、MetaTraderのサーバーのどちらでも、過去数年分のヒストリカルデータは配布していません。
上でも書いた通り、ソフト上で保持できるチャートデータは「1分足で一カ月半」「5分足で三か月」と少ないです。
EAの検証にXMのチャートデータを使用することは現実的ではありません。
XMのMT5で使うヒストリカルデータはMT4と同じで大丈夫?
XMのMT5を使う場合でも、上で紹介したヒストリカルデータを利用可能です。
「.hst」のヒストリカルデータファイルは、MT4/MT5のどちらでも読み込みできます。
ただし、MT4用EAはMT5では利用できません。逆に、MT5用EAはMT4で使えません。
MT4とMT5は根本的に開発言語が異なるので、EAもMetaTraderのバージョンに対応したものを用意する必要があります。
市販のEAを購入する場合、同じロジックでMT4用とMT5用の両方があったら、「MT5用EA」を購入するのがおすすめです。
スマホ版のMT4でバックテストはできる?
残念ながら、バックテストが行えるのはPC版のMetaTraderのみです。
そもそも、スマホ版のMetaTraderではEAの運用ができません。
VPSというのは仮想デスクトップとも呼ばれているもので、簡単にいうと…
24時間稼働しているパソコンをレンタルして、自宅のパソコンやスマホから操作することができるサービスのことです。
パソコンを持っていない人でも、レンタルしたパソコンをスマホで操作することができます。