AI EA スクール
0記事中 0記事 読了
カリキュラム 第5章 バックテスト ヒストリカルデータを準備する
5-1

ヒストリカルデータを準備する

読み終わるまでの目安 約20分

この記事でできるようになること

  • バックテストに「過去の値動きデータ(ヒストリカルデータ)」が必要な理由が分かる
  • MT4のヒストリーセンターから、必要な通貨ペアのデータをダウンロードできる
  • ダウンロードしたデータがきちんと入っているかを自分で確認できる

準備するもの

  • HFMのデモ口座でログインできているMT4(第2章で準備したもの)
  • 第4章で完成させたEA(MA_Cross_Sample.mq4 をコンパイルしたもの)
  • 安定したインターネット回線(データのダウンロードに数分かかることがあります)

手順

手順1 なぜヒストリカルデータが必要かを知る

バックテストとは、「このEAを過去の相場で動かしていたら、どんな成績になっていたか」をMT4に計算させることです。専門用語で言えば「過去検証」です。

この計算のもとになるのが、過去の値動きの記録、つまり「ヒストリカルデータ」です。ヒストリカル(historical)は「過去の・歴史的な」という意味で、「ヒストリー」「ヒストリーデータ」と呼ばれることもあります。

MT4は、インストールしたばかりの状態だと、過去のデータをほんの少ししか持っていません。データが無い期間は、そもそもテストができないか、途中でデータが抜けたまま計算されてしまい、結果が信用できないものになります。「テストは動いたけれど、数字が当てにならない」という状態を避けるために、まずデータをそろえます。

なお、ここでダウンロードするのはMT4の開発元(MetaQuotes社)が配布している標準データで、HFMの実際の値動きとは細かい部分が異なります。「だいたいの傾向をつかむ」用途には十分ですが、テスト結果が実際の運用と1円単位で一致するものではない、という点は覚えておいてください。より精度の高い外部データ(Tickstory など)を使う方法は上級者向けなので、別の記事で扱います。

ここに画面写真を入れてくださいMT4のチャートを過去方向にスクロールし、データが途切れて空白になっている状態5-1-01.png

手順2 MT4が保持できるデータ量を増やす

先に、MT4が「何本分のローソク足を覚えておけるか」という上限を引き上げておきます。初期設定のままだと、せっかくダウンロードしたデータが古い部分から捨てられてしまうことがあるためです。

  1. MT4上部のメニューから「ツール」→「オプション」を開きます。
  2. 「チャート」タブを選びます。
  3. 「ヒストリー内の最大バー数」と「チャートの最大バー数」の2つの欄に、それぞれ「9999999999」のように9をたくさん入力します。要確認
  4. 「OK」を押します。

入力した数字は、MT4が自動的に扱える最大値に丸めてくれるので、桁数をぴったり合わせる必要はありません。

ここに画面写真を入れてください「オプション」ダイアログの「チャート」タブ。最大バー数の2つの欄に大きな数値を入力した状態5-1-02.png

一度この設定をしたら、MT4を再起動しておくと確実です。

手順3 ヒストリーセンターを開く

データをダウンロードする画面が「ヒストリーセンター」です。

  1. MT4上部のメニューから「ツール」→「ヒストリーセンター」を選びます。ショートカットは [F2] です。
  2. 左側に通貨ペアの一覧が、右側に選んだ通貨ペアのデータが表示されるウィンドウが開きます。
ここに画面写真を入れてくださいヒストリーセンターを開いた直後の画面。左に通貨ペアのツリー、右に日時と4本値の一覧5-1-03.png

手順4 通貨ペアと時間足を選ぶ

本スクールでは、サンプルEAと同じ「USDJPY(ドル円)」を使います。

  1. 左側の一覧から「Forex」などのフォルダを開き、「USDJPY」を探してダブルクリックします。要確認
  2. USDJPYの下に「1分足(M1)」「5分足(M5)」…「月足(MN)」と時間足の一覧が出てきます。
  3. まず「1分足(M1)」をクリックして選びます。

「1分足」を選ぶ理由は、1分足は一番細かいデータで、MT4はこの1分足のデータをもとに5分足や1時間足などを組み立てられるからです。逆に、1時間足のデータだけがあっても1分足は作れません。

ここに画面写真を入れてくださいヒストリーセンターでUSDJPYを展開し、「1分足(M1)」を選択した状態5-1-04.png

手順5 データをダウンロードする

  1. 「1分足(M1)」を選んだ状態で、ウィンドウ下部の「ダウンロード」ボタンを押します。
  2. 「この操作は時間がかかります」という趣旨の確認が出たら「OK」を押します。要確認
  3. ウィンドウ下部に進行バーが表示されるので、終わるまで待ちます。回線速度によりますが、数分〜十数分ほどです。

途中でMT4を閉じたり、PCをスリープさせたりしないでください。ダウンロード中はMT4の動作が重くなりますが、故障ではありません。

ここに画面写真を入れてくださいヒストリーセンターの「ダウンロード」ボタンを押し、進行バーが伸びている途中の画面5-1-05.png

ダウンロードが終わると、右側の一覧に古い日付のデータがずらりと並びます。一番古い日付が数年以上前になっていれば成功です。

手順6 他の時間足にも反映させる

サンプルEAは「1時間足(H1)」で使う想定なので、1時間足のデータも必要です。

  1. ヒストリーセンターで、USDJPYの下の「1時間足(H1)」を選びます。
  2. 同じように「ダウンロード」ボタンを押します。要確認
  3. 終わったら「閉じる」でヒストリーセンターを閉じます。

新しいMT4では、1分足をダウンロードした時点で他の時間足も自動的に作られる場合があります。要確認念のため、テストで使う時間足は個別にダウンロードしておくと安心です。

ここに画面写真を入れてくださいUSDJPYの「1時間足(H1)」を選択し、ダウンロード後に古い日付のデータが一覧に並んだ状態5-1-06.png

手順7 データが入ったか確認する

最後に、チャートで確認します。

  1. MT4を一度終了し、もう一度起動します。
  2. USDJPYの1時間足チャートを開きます(第2章の「MT4の基本操作」で行った手順です)。
  3. キーボードの [Home] キーを押すか、チャートを左方向へ何度もスクロールして、過去にさかのぼります。
  4. 途切れずに何年分もローソク足が表示されれば、データの準備は完了です。
ここに画面写真を入れてくださいUSDJPYの1時間足チャートを数年前までスクロールし、ローソク足が途切れずに表示されている状態5-1-07.png

ここまでできたら、次の記事でいよいよバックテストを実行します。

つまずきポイント

  • 「ダウンロード」を押しても何も起きない: MT4がサーバーに接続できていない可能性があります。画面右下の接続状態(通信量の数字)を確認し、切断されていれば再ログインしてから試してください。
  • ダウンロードは終わったのに、チャートを過去に戻すと途中で空白になる: 手順2の「最大バー数」の設定が反映されていないことが多いです。設定を見直したうえで、MT4を再起動してください。
  • 通貨ペアの一覧に「USDJPY」が見当たらない: 気配値表示ウィンドウ(画面左上)で右クリック→「すべて表示」を選ぶと、非表示になっていた通貨ペアが出てきます。要確認その後ヒストリーセンターを開き直してください。
  • ダウンロードが途中で止まる・失敗する: 一度「閉じる」で閉じてから、もう一度ヒストリーセンターを開いて「ダウンロード」を押すと、続きから進むことがあります。それでもダメなときは時間を置いて再試行してください。
  • データはあるのに、あとでテストの「モデリング品質」が低い: これはMT4標準データの限界で、初心者のうちは気にしなくて大丈夫です。次の記事で「モデリング品質」の見方を説明します。

次の記事

5-2 ストラテジーテスターの使い方 で、準備したデータを使ってサンプルEAのバックテストを実行します。