【開発の裏側⑨】MT5のテスターで、書かなかった設定は前回の値のまま残ります

【開発の裏側⑨】MT5のテスターで、書かなかった設定は前回の値のまま残ります

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

EAの検証では、MT5のストラテジーテスターを画面から操作せず、設定のファイルを渡して回すことが多いです。
何十通りもの設定を順番に回すなら、このほうが速くて、打ち間違いもありません。

ただ、ここに落とし穴が1つありました。



設定のファイルには、EAの入力の値を並べて書きます。
書かなかった入力は既定の値になる、と思っていました。

実際は違います。
書かなかった入力には、前回テスターを回したときの値が入るんです。



気づいたのは、ドル円のEAを作っていたときです。

新しい版で、入る日を選ぶ入力、待つ時間の入力、スプレッドの上限の入力の3つを足しました。
そのあと、比べるために、古い設定のファイルを土台にして回しました。古いファイルには、この3つの行がありません。

すると、直前に回した設定の値がそのまま入っていました。
15日と20日の買いだけを測るつもりが、ゴトー日すべての買いで回っていたんです。

おかしいと分かったのは、損益が直前の結果と1円まで同じだったからでした。
設定を変えたはずなのに結果がまったく同じなら、まず入力の取り違えを疑う。これはそれ以来の決まりにしています。



直し方は簡単です。

EAに入力を足したら、土台の設定のファイルにも、その行を必ず足す。既定の値のままでも書いておく。
これだけで、前回の値が紛れ込むことはなくなります。



テスターまわりでは、もう1つ似たことがあります。

すでに起動しているターミナルに、設定のファイルを渡して呼んでも、何もせずに正常に終わったことになります。
終わった合図が出ても、テストが回ったとは限らない。ログか結果のファイルを読んで、本当に回ったかを確かめています。

どちらも、エラーが1つも出ないのが厄介なところです。
結果が出たら、数字を見る前に、その数字がどの設定で出たのかを確かめてみてください。



EAの過去検証や、テスターで回す形のご依頼も受けています。


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