XMではEA(自動売買ツール)を使用できますが、自動売買ツールの性能を検証するために必要なチャートデータのダウンロードができることをご存じでしょうか?過去数年~数十年分ものチャートデータを使用すれば、より高性能な自動売買を発見できる可能性も高くなります。
ただ、検証よりも取引に目が行きがちなので、どうしても分析や検証については後回しにしてしまうことも多いと言えます。
そこで今回は、自動売買の検証を最後まで行えるようにヒストリカルデータの基礎知識から取得方法について詳しく紹介していきます。最後にバックテスト結果に記載された専門用語の解説もしています。
XMでの自動売買ツールを使う場合の方法は下記の記事をご覧ください。
ヒストリカルデータとは
ヒストリカルデータとは「過去の為替レートのデータ」のことです。通常MT4/MT5では、短い時間足の場合、2~6ヶ月分ほどのデータしか閲覧できませんが、ヒストリカルデータを使用することで、数年前のチャートを確認することが可能となります。
ヒストリカルデータの使い道は2種類あります。
ヒストリカルデータの使用用途
- トレンドを予測する
- EA(自動売買)のバックテストに使う
EA(自動売買ツール)のバックテストは過去数年~十数年のチャートを使用することも珍しくないよ!
MT4/MT5に入ってる過去のデータ量では精度の高い分析を行うことは難しいですが、ヒストリカルデータを使用することで「トレンドの予測」「自動売買の性能」などが調べやすくなります。
トレンドの予測をする
ヒストリカルデータを使用すれば、過去数年~数十年のチャートを確認できます。そのため、膨大なデータ量を使ってトレンドの予測をすることが可能です。
ヒストリカルデータは一切加工されてないから、そのデータを元にいろいろな分析展開ができる!
また、テクニカル分析に使用される「移動平均線」「RSI」などのインジケーターを作成するときもヒストリカルデータ使用してるので、分析のやり方次第ではトレンドの予測だけでなく、自作でインジケーターを作成することも可能だと言えます。
自動売買のバックテストに使う
新しい自動売買を使用するときは、実際に取引をするまえに自動売買の性能を調べるために過去数年~数十年のチャートをもとにバックテストを行います。そのときにヒストリカルデータを使えば、より正確に自動売買の性能を調べることができます。
バックテストとあわせてフォワードテストをすれば、さらに自動売買の性能を理解できる!
また、バックテストだけでなく、リアルタイムで試験的に取引をしてみる「フォワードテスト」を行えば、より現実的な自動売買の性能やデータを把握できるので、自動売買で本格的に取引を始めるまえに試してみましょう。
MT4でXMのヒストリカルデータを取得する手順
XMのMT4/MT5どちらでもヒストリカルデータを取得できます。
まずは、MT4の手順について画像付きで解説していきます。
ヒストリー内の最大バー数を最大値にする
ヒストリカルデータを取得するまえにMT4のヒストリー内の最大バー数を最大値に設定して、長期間のヒストリカルデータを取得できるようにしましょう。
最大バー数が多くなるほど、過去のデータを多く取得できる!
まずは「ツール」→「オプション」を選択します。
「チャート」を選択して、「ヒストリー内の最大バー数」に「2147483647」入力して「OK」をクリックすれば、設定完了です。
ヒストリカルデータを取得する
MT4でヒストリカルデータを取得するときは、「ツール」→「ヒストリーセンター」を選択します。
通貨ペアが表示されるので、ヒストリカルデータを取得したい「銘柄」「時間足」を選択後、ダウンロードをクリックします。
時間足が表示されないときは「銘柄」をダブルクリックしてみよう!
ダウンロード・アラートが表示されますが、「OK」をクリックしてダウンロードを開始します。
ダウンロード中の画面です。
ダウンロード終了後、データが表示されれ、ヒストリカルデータのダウンロードは完了です。データが表示されない場合は時間足をダブルクリックしてみましょう。
PCやスマホで見れるXMのチャートの取り扱いについては下記の記事をご参照ください。
MT5でXMのヒストリカルデータを取得する手順
MT5でヒストリカルデータを取得する手順に画像付きで解説していきます。
ヒストリー内の最大バー数を最大値にする(MT5)
まずは「ツール」→「オプション」を選択します。
「チャート」を選択して「チャートの最大バー数」を「Unlimited」に変更後、「OK」をクリックします。
ヒストリカルデータを取得する(MT5)
MT5でヒストリカルデータを取得するときは「表示」→「銘柄」を選択します。
「チャートバー」を選択して、画面上部に表示されている「銘柄」「時間足」「期間」を設定後、「情報呼出」をクリックします。
設定したデータが表示されるので、確認して「OK」をクリックすればヒストリカルデータのダウンロードは完了です。
ヒストリカルデータを削除する方法【MT4/MT5】
ヒストリカルデータは1種類しか使用できないので、違うデータを取り込むときは1度削除する必要があります。
ヒストリカルデータを削除したいときは、MT4/MT5を1度「×」マークをクリックして閉じます。
閉じないまま削除した場合、自動的にデータが復元されてしまうよ!
再度、MT4/MT5を立ち上げて「ファイル」→「データフォルダを開く」を選択します。
ファイルが表示されるので「history」をダブルクリックします。
使用してるサーバー名のファイルをダブルクリックします。
新たにヒストリカルデータを取得したい通貨ぺアを選択して、右クリックを押します。メニューが表示されるので、「削除」をクリックすればデータの削除は完了です。
MT4でバックテストを行う手順
MT4でバックテストを行うときは、画面上部にある「ストラテジーテスター」をクリックします。
テスターが表示されるので右下の「セッティング」を選択して各種設定を行います。
テスターの解説
- エキスパートアドバイザー=バックテストを行うEA
- 通貨ペア=テストする銘柄
- 期間=テストする時間足
- モデル=バックテストの種類
- 期間を指定=テストする期間
- スプレッド=テストするスプレッド
- エキスパート設定=初期費用やロット数などの詳細設定(変更可)
- チャートを開く=チャート画面にテストするEAを表示
モデルは最も正確な結果を出せる「全ティック」を選択しよう!
各種設定の入力をして「スタート」をクリックするとバックテストが始まります。今回は2016年1月から2021年1月までの期間を指定してみました。
期間によってテスト時間の長さが変わるよ。ちなみに5年だと約2分ぐらい!
バックテスト終了後は画面左下に表示されてる「結果」をクリックします。
結果が表示されればバックテストは成功しています。
残高がマイナスになると期間の途中でテスト終了となるので、「エキスパート設定」で初期費用を増やしてから再度バックテストを行うことをおすすめします。
バックテスト結果の見方【レポート化】
バックテスト終了後は、「結果」「グラフ」などを確認できますが、レポート化したほうがデータを把握しやすいので、データをレポートにする方法を紹介します。
まずは、「結果」を選択します。その後「結果」が表示されてるテスター内で右クリックを押すとメニューが表示されるので、「レポートの保存」をクリックします。
ファイル保存画面表示されるので、「保存」をクリックします。その後、レポートの閲覧に使用するアプリの選択をするとレポートが表示されます。
テスター内でも同じデータを確認できますが、レポート化すればタグをクリックする手間が省けるため、効率良く検証できますよ。
バックテスト結果の用語と意味
バックテストの結果には複数の専門用語が記載してありますので、それぞれの意味について紹介します。また専門用語の中でも特に注目したほうが良い項目があるので、覚えておきましょう。
レポート内の重要項目
- 純益=プラスかつ数値が大きいほど高性能(利益を上げやすい)
- 総取引数=数が多いほどテストの信頼性が高くなる
- 勝率(%)=EAの勝率(高いほうがベスト)
- 最大ドローダウン=小さい数値であるほど破産しにくい
この4項目を見ればどのような自動売買ツールなのか判断しやすくなる!
レポート内には多くの数値が記載されてますが、上記の4項目を抑えてから他の項目を確認に移りましょう。
専門用語の解説
- テストバー数=バックテスト時のローソク足の数
- モルディック数=バックテスト時のティック数
- モデリング品質=ヒストリカルデータの信頼性
*時間軸が短いほど高い - 不整合チャートエラー=データが合わない数(バックテストの信頼性がわかる)
*数値が少ないのが良い - 純益=「総利益ー総損失」
- プロフィットファクタ=「利益÷損失」
- 期待利得=「純益÷総取引数」
- 絶対ドローダウン=初期証拠金から最も減ったときの証拠金
- 最大ドローダウン=下落幅が最大時の損失額
- 相対ドローダウン=「最大ドローダウン」で減った証拠金の割合
- 売りポジション=売りポジションの取引回数+勝率
- 買いポジション=買いポジションの取引回数+勝率
- 勝率=利益を出した確率
- 負率=損失を出した確率
- 最大勝トレード=1回のトレードで出た最大の利益額
- 最大敗トレード=1回のトレードで出た最大の損失額
- 平均勝トレード=勝ちトレードの平均利益額
- 平均敗トレード=負けトレードの平均損失額
種類は多くあるけど、複雑な意味の用語はないから少しずつ確認していこう!