EX5を復元するとき「動く」だけでは足りない理由

記事
IT・テクノロジー
EAのソースを紛失して、手元に.ex5だけが残っている。そんなとき「復元」という選択肢を考える方は多いと思います。ただ、復元したファイルがコンパイルできて、チャートに乗せたら動いた。それだけで安心するのは少し早いかもしれません。

「動く」と「同じ動きをする」は別物です

EAは、わずかな条件の違いで売買が変わります。たとえば次のようなずれです。
・しきい値が元と少しだけ違う
・比較が「以上」か「より大きい」かが入れ替わっている
・新しい足を判定するタイミングが1本ずれている
・決済の順番が元と違う
どれもコンパイルは通りますし、エラーも出ません。短い期間だけテストすると、たまたま結果が近く見えることもあります。ところが期間を延ばしたり、設定を切り替えたりすると、約定の時刻や件数が少しずつ離れていきます。

損益の合計が近いだけでも足りません

「総損益がだいたい同じだから大丈夫」と考えがちですが、合計が近くても中身の約定が違うことはあります。勝ちと負けが入れ替わって、たまたま合計が近くなっているだけかもしれません。これでは、復元したソースを改修しても、元のEAを改修したことにはなりません。

では何を確かめればよいか

元のEX5と復元したMQ5を、同じ銘柄・時間足・モデル・証拠金でストラテジーテスターにかけ、約定を1件ずつ突き合わせることです。
・エントリーの件数
・エントリー時刻(秒まで)、売買方向、ロット
・決済の対応と決済時刻
・1約定ごとの損益の差
・レポートの総損益
これを1つの期間だけでなく、長い期間や別の期間、inputを切り替えた状態でも確認できて、はじめて「元と同じロジックが戻ってきた」と言える、と私は考えています。

改修の土台にするために

ソースを取り戻したい理由の多くは「この先も手を入れたいから」だと思います。土台が元と違っていれば、改修の結果も正しく評価できません。復元を依頼するときは、「何をもって完成とするか」を最初に確認しておくのがおすすめです。
私は、元のEX5とテスター結果が約定単位で一致したものだけを納品する形で、復元をお受けしています。権利者の方のEAに限りますが、気になる方はサービスページをのぞいてみてください。
▼EX5をテスター一致のMQ5に復元します
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す