💬
MQL5ForumにEAをアップロードする際の注意点
はじめに
MQL5フォーラムでは不正なEAかどうかを自動的に判定してくれるバリデーション機能がある。
バリデーション機能で不正なEAかどうかを判定するが、現実的にそんなことはないであろうというテストケースまで判定されるので、要注意。
ケース1 過剰なスプレッド
バリデーション時に過剰なスプレッドの際のテストがされる。
エントリー時に複数ポジションのSL/TPを変更するEAの場合、BuyLimit / SellLimit / BuyStop / SellStopの記述を正確に行わないとエラーが出て、バリデーションが止まる。
解決策として、AskとBid値を取得し不等号でSL/TPを動かす処理を入れることで解決。
ケース2 最大ロット処理
最大ロット時のテストが実行される。
通常の証券会社であればあり得ないのだが、EURUSDの最大ロットが0.01で設定されているテストが実行され、エラーが出てしまい、リアルに1日詰まっていた。
解決策として、最大ロットを取得して、最大ロット以上の注文を処理しないようなロジックを作成する。
(↑現実的に最大ロットでエントリーをするようなEAはないとは思うが以下のような処理を書いておく)
最後に
不正なEAを消すという名目でテストをしているのはわかるが、流石にやりすぎじゃない?というものもある・・・
また見つかり次第追記します。
Discussion