【開発の裏側㊸】自分の模擬ではPF1.52、MT5のテスターでは1.07。同じEAの差を1つずつ突き合わせた話

【開発の裏側㊸】自分の模擬ではPF1.52、MT5のテスターでは1.07。同じEAの差を1つずつ突き合わせた話

記事
IT・テクノロジー
どうも、FXトレーダー兼システムエンジニアのナオトです。

開発の裏側の10回目で、1分足をたどる自分の模擬の売買が、小さなトレールを甘く測っていた話を書きました。
総当たりの前に、1本だけ実際のティックと突き合わせる。そう決めた、その突き合わせの話です。



ゴールドの押し目で買い下がるナンピンの試作を、MT5のEAとして書きました。
同じ決まりを、自分の模擬とMT5のテスターの両方で、2024年1月から2026年10月まで走らせました。

結果は、こうです。

組の数 模擬 687 MT5 716
組ごと損切りした回数 模擬 2回 MT5 3回
PF 模擬 1.52 MT5 1.07

PFが、これだけ違いました。



まず、取引を1つずつ並べました。

すると、組を始めた時刻は、同じ分でほぼ一致していました。
決まりの書き間違いではない、ということです。

ずれが始まったのは、2026年5月のある日です。
ある組が、模擬では利確して閉じたのに、MT5では閉じずに4本まで買い増していました。

原因は、価格のデータです。
模擬に使った1分足と、MT5のテスターの実際のティックは、出どころが違い、数ドルの差がありました。その数ドルで、利確に届いたか届かなかったかが分かれていました。

その時期のゴールドは、4,700ドルから3,950ドルへ下げています。
4本積んだ組が損切りまで行くかどうかは、紙一重でした。1回の違いが、そのまま大きな差になります。



2つ目の差は、テストの終わりです。

テストが終わる時点で、まだ持っていた組がありました。
MT5のテスターは、終わりに持っている取引を閉じて、損益に入れます。模擬は、閉じずに含み損のまま残していて、損益に入っていませんでした。



3つ目は、スワップです。

ゴールドの買いを持ち越すと、毎晩スワップを払います。水曜の晩は3日分です。
模擬には、これを入れていませんでした。3週間持った4本の組では、スワップだけでかなりの額になっていました。

スワップを除いて数え直すと、MT5のPFは1.17です。



模擬にスワップを入れて、設定を変えた次の試作で並べ直しました。
組の数、組ごと損切りした回数、年ごとの損益が、模擬とMT5でほぼ一致しました。残った差は、終わりの含み損の扱いと、数ドルの価格の差の分です。

突き合わせて分かったのは、決まりは同じで、違っていたのは決まりの外側だったことです。
価格のデータ、テストの終わり方、持ち越しの費用。どれも、決まりを読み直しても見つからない差でした。



自分で作った模擬とMT5の結果が違うときは、取引を1つずつ並べて、最初にずれた1つを探してみてください。
このときは、そこから先の違いが、その1つから広がっていました。

自作の検証とMT5のテスターの結果を突き合わせるご依頼も受けています。


最後までお読みいただき、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す