EAのバックテスト
FX初心者
EAを購入したら、まずバックテスト!
デフォルト設定でどのくらいのパフォーマンスが出るのか?カタログスペック通りなのか?
やっぱり確かめてみないと!ですね。
デフォルト設定では物足りないなーとか、もっと安全に運用したいとか言う人は絶対したほうが良いです!
やり方は簡単、ヒストリカルデータをMT4に読み込ませて「ストラテジーテスター」を走らせるだけ。
まずはヒストリカルデータ
FX会社からダウンロードします。FXTF、FXDDなどのヒストリカルデータのダウンロードサイトですね。
口座登録のいらないFXDDヒストリカルデータは→こちら。
そして、1分足から各時間足に展開するスクリプトをダウンロードしておきます。→こちら。
ヒストリカルデータはZIP形式なので、解凍ソフト(Lhasaなど)で解凍しておきます。
準備は整いました。
MT4の準備をする
まず、チャートを最大に表示できるようにしておきます。
"9999999999"を入れてOKボタンで設定すると、最大値で更新してくれます。
自動売買はできないようにして、DLLの使用を許可します。
(デモ口座で自動売買のフォワードテストもするのであれば、チェックしておきましょう)
ヒストリーセンターを開いて、ヒストリカルデータをダウンロードした通貨ペアを開いて、インポートボタンを押すと、インポートするファイルの指定になります。
ダウンロードしたファイルを読み込ませると、ヒストリカルデータが表示されます。
↓
ここで一旦、MT4を終了します。(終了させないと反映されないことがあるようです)
MT4を立ち上げ直して、オフラインチャートを表示します。(一分足)
表示した一分足のオフラインチャートに、先ほどダウンロードした「period_converter_All」をドラッグドロップします。
「period_converter_All」が、一分足から全足に展開してくれます。
ここまででヒストリカルデータがチャートに反映されました。
もう一度MT4を再起動しておきましょう。
EAを動かす
やっとバックテストができます。
ストラテジテスターの画面を表示してください。
エキスパートアドバイザにバックテストをしたいEAを設定します。
期間にバックテストをしたい時間足を指定します。スプレッドは「現在値」のままでも「2」などをしていしてもOKです。
また、期間を指定しないと時間がかかるので、指定しておきます。
「スタート」で実行されます。
「MACD Sample」の結果は全然だめですね^^;
デフォルトの設定だからかもしれません。「最適化」をしてみましょう。
パラメータの設定にスタート・ステップ・ストップを入力して、左にチェックをしておきます。
スタート~ストップまでを、ステップごとにテストしてくれます。
「最適化」にチェックを入れて「スタート」!
最適化結果を見てみると・・・?!何も表示されてません><
バグってる??
いえいえ、有効な利益の出るパラメータのパターンがないと何も表示されませんww
「MACD Sample」・・・がっかりですw
例がないとわかりにくいので、パペ太自作のEA(テスト用)を最適化してみた結果はこちら。
ちゃんと最適化結果が表示されます。
最適化結果の一つのパラメータ設定でバックテストをしてみました。
(プロフィットファクタ:3.26、ドローダウン%:0.98のパラメータを選択しています)
普通に利益が出ていますね。
EAを新しく買ったり、パラメータを変えたいと思ったら、必ずバックテストをしましょう。
痛い目にあいますよー
パペ太メモ
最適化は「ある期間」の最適なパラメータを探すのに役にたちますが、「ある期間」以外の期間にはあっていない可能性があります。(カーブフィッティング)
買ってきたEAはバックテストで最適化されていますが、フォワードに対処できるかは未知数です。
カーブフィッティングの場合は全くフォワードで機能しない場合もありますので、定期的に直近のバックテストをしてみたり、最適化をしてパラメータを変えて(デモ口座で)フォワードテストをするのが、おすすめです。
豆知識:
株式とかFXでは「カーブフィッティング」というようですが、機械学習(ディープラーニング)にもあって、ニューラルネットワークが学習データに合いすぎているのを、オーバーフィッティング(過学習)といいます。
- 関連記事
-
- FX会社とインジケータと (2018/12/15)
- 個人的におすすめのEA (2018/08/18)
- EAのバックテスト (2018/08/04)
- EAを選びましょう (2018/07/28)
- FX通貨ペアとスプレッド (2018/07/22)
コメント