【開発の裏側㊿】MQL5のマーケットの検査で、入力の区切りの罫線がエラーに。取引は60回通ったのに

【開発の裏側㊿】MQL5のマーケットの検査で、入力の区切りの罫線がエラーに。取引は60回通ったのに

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

開発の裏側の49回目は、MT5のテスターの設定ファイルの先頭に付いた、見えない3バイトの話でした。
今回は、EAをMQL5のマーケットへ出すときの、自動の検査で引っかかった話です。



MQL5のマーケットは、MT5を作っている会社が運営している売り場です。
EAを出すと、まず自動の検査にかけられます。運営側のテスターでEAを回して、エラーが出ないかを見るものです。

ゴトー日に動くEAを、この検査にかけました。
ユーロドルの1時間足で、取引は60回、問題なく通りました。ところが、エラーが3件出ていました。



エラーの中身は、入力の値でした。

私のEAは、パラメーターの画面を見やすくするために、入力の間に区切りの行を入れています。
値は ──────── のような罫線で、表示名は ■ 取引 のような日本語です。

マーケットの検査は、入力の名前と値に、ラテン文字、つまり英数字と記号だけを求めていました。
罫線の文字は、それに当たりません。区切りが3つあったので、エラーも3件でした。



困るのは、日本のお客さん向けには、この区切りと日本語の表示名を残したいことです。
パラメーターの画面は、日本語で、意味の分かる言葉で見せる。それが私の決まりです。開発の裏側の7回目に、true と false を出さない理由として書きました。

そこで、ソースは1つのまま、マーケットに出す版だけを作り分けることにしました。
マーケット版を作る道具が、区切りの値と表示名を、-------- Trading -------- のような英数字に置き換えます。
そのうえで、入力の行に英数字以外の文字が1つでも残っていたら、その場で止まるようにしました。

開発の裏側の45回目に書いた、1つのソースから検証用とお客さん向けの2つを作る形と同じ考え方です。



置き換えたあと、MT5版もMT4版も、コンパイルはエラー0件で通りました。
取引がきちんと通っても、売り場ごとの決まりで落ちることがあります。

ちなみに、同じマーケットの検査では、このあと別の件でも引っかかりました。損切りを動かす注文が断られ続けていた話で、開発の裏側の47回目に書いています。

EAやインジケーターを、売り場に合わせて作り分ける開発もお受けしています。


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