先日、下記の記事で立ち上げたVPSに、OANDA JAPANのMT4をインストールしデモ口座でテストを行うことにしました。
Table of Contents
早速これまで作成してきたEAをバックテストしてみたところ、 結果が全く違うといった現象に見舞われました。
比較した期間の資産曲線は以下のようになりました。
続いてFXDDでのバックテストです。
同じ期間のバックテスト結果ですが、EAとパラメータセットは同じものを使っていても違う結果になりました。
実際の資産曲線やシグナル、手仕舞いを見ても、もはや別物といった印象です。
FXDDの日足チャートをよく見てみると、日足が1週間で7本のところがたくさんありました。
日足チャートはperiod_converterAllというスクリプトを使って1分足から生成しています。
では1分足はどうかということで、ヒストリカルデータを確認しました。
赤枠内は土日です。出来高1のなくても問題なさそうなデータがいます。
このデータがある状態でスクリプトを実行すると、出来高がどれだけ少なくても1日の足を生成します。
period_converterAllは以下の記事で紹介しています。
調べたところOANDAのデモサーバーでも同様の状態はあるようです。ただし毎週必ずあるわけではありませんが、確かに存在しています。
下記はOANDAのヒストリカルデータです。H1での確認ですがどの時間枠でも存在します。
このまま足の本数が異なる状態ではデータ検証は無駄となり、EAとして成立しなくなってしまいます。
仮に1時間足であれば、土日に1本ずつ不要なデータが発生しても1週間単位で考えると24時間×5日+不要な2本となり、影響は120:122となり正常なデータが98%を占めます。
日足の分析になると、5日+不要な2本となり、5:7となり、正常なデータは71%になります。
シグナルや手仕舞いを複数の足から算出している都合上、ずれは大きくなり、機能しなくなっています。
どうすればよいか検討した結果、土日のデータを削除するのが一番良いのではないかと思います。
検証用のデータはperiod_converterAllを改造し、土日分はヒストリカルデータを生成しないようにしました。
period_converterALL_custom
EA稼働中のMT4は毎週末に手動でデータを削除することにしました。
削除方法はヒストリーセンターで対象通貨と時間枠を指定して、不要なデータを削除します。
不要なデータを削除してもEAは再起動しないことは確認しましたので、週末の状況確認に合わせて実施すればそれほど負担にはならないのではないかと思います。
period_converterAllの改造バージョンをダウンロードしたいのですが、、
今はできませんでした。
ぜひお願いします。
ご連絡ありがとうございます。
修正し、ダウンロードできるようにしました。