作成日
:2023.03.27
2024.09.20 11:08
MyforexではFXDDの掲載を終了しております。
エキスパート・アドバイザ(EA)のバックテストを行うためには、過去の価格推移のデータである「ヒストリカルデータ」が必要です。
MT4開発元であるメタクオーツ社が提供するヒストリカルデータであれば、MT4から手軽にダウンロードできますが、データの精度が低いため、自社のデータを提供しているFXブローカーのヒストリカルデータがよく使われます。
無料で手に入れられるヒストリカルデータとしては、海外FX業者のFXDD(エフエックスディーディ)や国内FX業者のDukascopy(デューカスコピー)のものが有名です。
この記事では、FXDDのヒストリカルデータの特徴や、FXDDのヒストリカルデータをMT4にダウンロード・インポートする方法を紹介します。
FXDDのヒストリカルデータには、以下の2つの特徴があります。
なお、対応している通貨ペアは、ドルストレートとクロスペア、エキゾチック通貨ペアの計21種類です。
ドルストレート |
GBP/USD
NZD/USD
USD/CAD
AUD/USD
USD/CHF
EUR/USD
USD/JPY
|
---|---|
クロスペア |
AUD/CAD
EUR/CAD
AUD/JPY
EUR/CHF
AUD/NZD
EUR/GBP
EUR/JPY
CAD/JPY
CHF/JPY
GBP/CHF
EUR/AUD
GBP/JPY
|
エキゾチック通貨ペア |
USD/MXN
USD/TRY
|
ヒストリカルデータには、「時間足データ」と「ティックデータ」の2種類があります。時間足データの方は、対応する時間足の4本値(始値・高値・安値・終値)と出来高のデータが入っています。逆に言えば、4本値以外の値動きは時間足データではわからないということです。
1分足は、時間足データの中で最小単位であるため、最も正確なバックテストができます。1分足の5本分の4本値の値動きが5本足1本に集約され、5本足3本分の4本値の値動きが15分足に集約されるため、上位足になるほどデータ量が5分の1、3分の1と減っていきます。
一方ティックデータは、全ての値動きのデータが記録されています。バックテストを行う際には、もちろんティックデータを利用した方が時間足のデータよりも正確なバックテストが可能です。
ただし、MT4の標準仕様では、ティックデータをバックテストに利用することはできません。そのため、標準仕様の中で正確なバックテストを行いたい場合は、1分足を利用することとなります。
MT4でも、「Tick Data Suite(TDS)」という、サードパーティ製の有料のツールを購入すれば、ティックデータでのバックテストが可能です。なお、MT5では機能が進化し、標準仕様でティックデータでのバックテストが可能になりました。
FXDDは、2002年に創業された老舗ブローカーであるため、実際に自社で提供していた長期間にわたるデータの利用が可能となっています。ダウンロードできるのは2005年のデータからであり、15年以上のデータを用いたバックテストが可能です。
バックテストは、テスト期間が長期になるほど信頼性が高いとされており、GogoJungle(ゴゴジャン)などのEA販売サイトでも、2000年代からの長期間のバックテストがEAの成績として利用されることが多くあります。
外部サイトで販売されているEAの成績は、バックテスト結果から確認できます。バックテスト結果のうち、「モデリング品質」という項目がバックテストの精度を表しています。時間足データを利用する場合、モデリング品質は90%を上回ることはありません。しかしティックデータ、つまり有料ツールのTick Data Suite(TDS)を利用してバックテストを行った場合、モデリング品質の最大値は99.90%となります。
FXDDのヒストリカルデータをインポートし、バックテストで使えるようにするには、合計で5つの作業が必要となり、少し手間がかかります。画像を用いてそれぞれの手順を解説しますので、この記事を参考にインポートを進めていってください。
FXDD公式サイトのヒストリカルデータ提供ページにアクセスし、ヒストリカルデータの銘柄名をクリックすると、ダウンロードが始まります。
ヒストリカルデータは、zipファイルで提供されるため、ダウンロード後に解凍する必要があります。なお、FXDDのヒストリカルデータは「.hst」ファイルで提供されます。
ヒストリカルデータは、多くの場合「.hst」ファイルや「.csv」ファイルの形式で提供されます。「.csv」ファイルは一般的なファイル形式ですが、「.hst」ファイルはヒストリカルデータ専用のファイル形式です。
MT4では、保存できるヒストリカルデータの量を設定することができます。初期状態では最大量にはなっておらず、データ量の多いヒストリカルデータをインポートしてしまうと、一部しか保存されないため注意が必要です。
全てのヒストリカルデータを保存するためにも、データのインポート前にあらかじめMT4の設定でヒストリカルデータの保存容量を最大に増やしておきます。
MT4を開き、メニューバーの「ツール」をクリック、「オプション」を選択します。(ショートカットキー操作:「Ctrl」+「O」)
「チャート」タブ内の「ヒストリー内の最大バー数」「チャートの最大バー数」欄に「9」を打てるだけ打ち、「OK」をクリックします。いずれも最大バー数は「2,147,483,647」本ですが、すべて「9」を打つことで、自動で最大バー数を保存・取得することが可能となります。その後、MT4を再起動することで、設定が完了します。
MT4では、1つの銘柄に対して保存できるヒストリカルデータは1つのみです。そのため、FXDDのヒストリカルデータをインポートする場合、既存のヒストリカルデータは削除する必要があります。
メニューバーの「ファイル」をクリックし、「データフォルダを開く」を選択します。
「history」フォルダを展開します。
データを削除したいサーバ名を選択します。
ヒストリカルデータを削除したい銘柄の全てのヒストリカルデータを削除します。例えば、EURUSDのヒストリカルデータを削除したい場合、「EURUSD1」から「EURUSD10080」までの全てのデータを削除します。
フォルダに入っているヒストリカルデータの数は、過去のダウンロード状況などによって異なります。銘柄によっては全く入っていないこともあり、その場合は削除の必要はありません。
MT4にデフォルトで入っているヒストリカルデータは、基本的にはMT4の開発元であるメタクオーツ社が提供するデータです。これは「ヒストリーセンター」から再度ダウンロードできますので、削除してしまっても問題ありません。
ただし、時間足ごとにダウンロードし直す必要があるため、後で使う予定がある場合はお使いのPCに保存しておくことをおすすめします。
ダウンロードしたFXDDのヒストリカルデータを実際にMT4へインポートしていきます。
メニューバーの「ツール」をクリックし、「ヒストリーセンター」を選択します。
ヒストリカルデータをインポートしたい銘柄名をダブルクリックして時間足のメニューを展開し、「1分足」を選択します。その後、「インポート」をクリックします。
ヒストリーセンターを開くと、「Forex」や「Crypto」などの銘柄の区分が表示され、その区分の中に「EURUSD」や「USDJPY」などの具体的な銘柄名が表示されます。銘柄の区分名はブローカーごとに異なります。英語なのでやや読みづらいですが、FX通貨ペアでは「Forex」、さらに細かい区分として「Major(メジャー通貨ペア)」や「Minor(マイナー通貨ペア)」がよく使われます。
「参照」ボタンをクリックします。
右下のファイルの種類の選択欄で「MetaQuotes files(*.hst)」を選択し、インポートしたい銘柄のヒストリカルデータをダブルクリックします。
時間や4本値(始値・高値・安値・終値)の欄にヒストリカルデータが表示されていることを確認し、「OK」ボタンをクリックします。
インポートするヒストリカルデータは、以下の5つの詳細設定が可能です。
インポートが終了すると、上部に表示されるレコードの数が差し替えられます。レコード数を確認したら「閉じる」ボタンをクリックし、MT4を再起動することでインポートは完了です。
バックテストで1分足以外の時間足を利用したい場合は、インポートしたFXDDのヒストリカルデータを使って他の時間足の分を用意する必要があります。なお、対応する時間足が作成されていない状態でバックテストをすると、「TestGenerator: no history data」というエラーメッセージが表示されます。
メニューバーの「ファイル」をクリックし、「オフラインチャート」を選択します。
先ほどインポートした1分足を選択し、「開く」ボタンをクリックします。
オフラインチャートが表示されたら、上部に表示されるチャートの名称に「(offline)」がついていることを確認してください。
ツールバーの「自動売買」ボタンをONにします。マークの色が緑色ならON、赤色ならOFFを意味します。
後で利用する、時間足を変換するためのスクリプトを稼働させるために自動売買を許可することが必要です。売買を行う機能はありませんのでご安心ください。
MT4では、インディケータ・EA・スクリプトの3種類のプログラムを利用できます。スクリプトは、プログラムを1度のみ実行するツールであり、EAやチャート上のオブジェクトなどの管理や削除に利用されます。
「ナビゲーター」の「スクリプト」にある「PeriodConverter」をチャートにドラッグ&ドロップします。
「PeriodConverter」はMT4にデフォルトで用意されているスクリプトですが、過去に削除してしまったなどで見当たらない場合は、以下のページから再度入手ができます。
スクリプトの設定画面にて「全般」タブを選択し、「自動売買を許可する」にチェックが入っていることを確認します。なお、手順4でMT4本体の自動売買機能をONにしておくと、デフォルトでチェックマークが入ります。
スクリプトの設定画面にて「パラメーターの入力」タブを選択し、「Period Multiplier factor」の欄に、変換したい時間足を分数で入力します。5分足に変換したい場合は「5」、1時間足に変換したい場合は「60」となります。
なお、このパラメータは「倍数」を設定するものです。したがって1分足以外の時間足にスクリプトを適用した場合、元の時間足にパラメータをかけた時間足が出力されます。
正常に時間足の変換が完了したかどうかは「ターミナル」の「エキスパート」タブから確認できます。成功した場合、以下のように「〇〇record(s) written」というメッセージが表示されます。
最後にMT4本体を再起動します。他の時間足のデータが必要な場合は、手順4〜6を繰り返してください。
スクリプトの設定画面は、インディケータやEAの設定画面と似ています。しかしスクリプトは一度しかプログラムを実行できないため、再度設定画面を出すことができません。
そのため、スクリプトのパラメータを変更してPeriodConverterを複数回利用したい場合は、同じスクリプトを再度チャートに適用する必要があります。スクリプトはインディケータと異なり、一つのチャートにつき一つしか適用できません。同じチャートに再度適用すると、「'PeriodConverter'を停止して、'PeriodConverter'をチャートに適用しますか?」というメッセージが表示されますので、「はい」を選択します。
FXDDのヒストリカルデータのインポートが完了したら、正常に利用できるか実際にバックテストを行って確認してみましょう。
バックテストは、メニューバーの「表示」タブの「ストラテジーテスター」から行うことができます。
ストラテジーテスターで表示されるセッティング画面から、バックテストの条件を詳細に設定することで、検証したいEAやインジケーターのバックテストができます。
なお、FXDDのヒストリカルデータをインポートするための作業手順で既存のヒストリカルデータを削除しています。そのためFXDDのヒストリカルデータのインポートがうまくいっていない場合、バックテスト結果が表示されません。
エラー発生時は、ストラテジーテスターの操作履歴タブにて「TestGenerator: no history data」というエラーメッセージが表示されます。
よくあるエラーは、以下の4点です。どの段階でうまくいっていないのかを確認するために、一つずつ確認してください。
「ヒストリカルデータの容量を増やす」の見出しの手順1を参考に、「ヒストリー内の最大バー数」、「チャートの最大バー数」がどちらも「2,147,483,647」となっていることを確認してください。
2つのうちどちらかしか設定していなかったり、設定変更後の再起動を忘れていたりすると、両方の最大バー数が「2,147,483,647」になりません。
5分足や1時間足など、1分足以外でバックテストをしてエラーが出た場合、1分足に切り替えて稼働するかどうか確認してください。1分足であれば正常に稼働する場合、PeriodConverterでの変換がうまくいっていない可能性があります。
「他の時間足のデータを用意する」の見出しの手順1を参考に、オフラインチャートの一覧を表示させ、使いたい時間足があるかどうかを確認してください。
対応する時間足を生成する際によくあるミスは、自動売買がONになっていないことです。時間足を生成する際に利用するスクリプトは、MT4本体の自動売買設定または、スクリプトの個別設定内の自動売買設定がONになっていないと動作しません。
上記の注意点を確認してもうまくいかない場合は、手順後の再起動を忘れずに行ったかを確認しながら最初から全ての手順を再度行ってみてください。MT4のヒストリカルデータ関連の手順は、こまめな再起動が必要であることが多いため注意が必要です。
MT4からダウンロードしたヒストリカルデータは精度が低いため、バックテストがエラーとなって動かないことが多々あります。そのためより精度の高いバックテストをするためにも、インポートしたデータを使うようにしましょう。
まずは無料で利用できるヒストリカルデータを使ってみましょう。そして、よりバックテストの精度を上げたいと感じた場合は、ティックデータでバックテストを行う有料ツール「Tick Data Suite(TDS)」の利用を検討してみてもよいでしょう。
作成日
:2023.03.27
最終更新
:2024.09.20
海外FX歴5年。海外FX20社以上のアカウントを保有し、実際にサービスを利用して執筆を行う。長期トレードがメインで、スワップの有利なブローカーを愛用している。仮想通貨・原油等のCFD取引や各ブローカーのボーナスの仕組みにも詳しい。
ご覧いただきありがとうございます。Myforexでは、記事に関するご意見・ご感想をお待ちしています。
また、海外FX・仮想通貨の経験が豊富なライター様も随時募集しております。
お問い合わせ先 [email protected]
仮想通貨USUALの将来性は?RWA活用のステーブルコインプロトコルを解説
2024.11.20 20:00
Milton Marketsが2024年11月より最大100%分入金ボーナスを開催
2024.11.20 19:30
スマホ版MT4のやさしい使い方ガイド~iPhone&Androidの基本操作~
2024.11.20 19:00
ZoomexがクリプトバトルZを開催!毎週開催の取引大会で現物USDTやボーナスを獲得
2024.11.15 20:00
ゴールドラッシュXMは本当に儲かるのか?ほぼ破綻リスクゼロのEAの実力は
2024.11.14 20:30
Titan FXがブラックフライデーキャンペーンを開催!取引でキャッシュバックが付与
2024.11.14 20:00
免責事項:Disclaimer
当サイトの、各コンテンツに掲載の内容は、情報の提供のみを目的としており、投資に関する何らかの勧誘を意図するものではありません。
これらの情報は、当社が独自に収集し、可能な限り正確な情報を元に配信しておりますが、その内容および情報の正確性、完全性または適時性について、当社は保証を行うものでも責任を持つものでもありません。投資にあたっての最終判断は、お客様ご自身でなさるようお願いいたします。
本コンテンツは、当社が独自に制作し当サイトに掲載しているものであり、掲載内容の一部または、全部の無断転用は禁止しております。掲載記事を二次利用する場合は、必ず当社までご連絡ください。
Myforexでは、このウェブサイトの機能向上とお客様の利便性を高めるためにクッキー使用しています。本ウェブサイトでは、当社だけではなく、お客様のご利用状況を追跡する事を目的とした第三者(広告主・ログ解析業者等)によるクッキーも含まれる可能性があります。 クッキーポリシー