【開発の裏側㊼】損切りを動かす注文が、毎秒断られ続けていた。業者の最小の距離を確かめずに動かした話

【開発の裏側㊼】損切りを動かす注文が、毎秒断られ続けていた。業者の最小の距離を確かめずに動かした話

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

開発の裏側の41回目で、MT4のテスターは、今の価格からどれだけ離さないと損切りを置けないかという業者の最小の距離を、0として扱っていた、という話を書きました。
今回は、その最小の距離で、実際につまずいた話です。



ゴトー日に動くEAを、MQL5のマーケットへ出すための自動の検査にかけたときのことです。

検査は、MT5のユーロドルの1時間足のチャートで、EAを動かして確かめます。
結果は不合格でした。ログには、損切りの位置を変える注文が、位置が正しくないという理由で断られた、という行が、毎秒くり返し並んでいました。



このEAは、少し利益が乗ったら、損切りを入った価格より0.5 pipsだけ有利な位置へ動かします。

ところが、その位置が、業者の決めている最小の距離の内側に入ることがありました。今の価格に近すぎて、そこには損切りを置けない、という状態です。
EAはそれを確かめずに注文を出し、断られても、毎秒また同じ注文を出していました。

ふだん検証に使っている口座では、この最小の距離が0でした。だから、手元のテストでは、この問題が表に出ませんでした。



直したのは3つです。

損切りを動かす前に、業者の最小の距離と、注文を変えられなくなる距離の2つを確かめる。
届かない位置なら、注文を出さずに待つ。
断られたら、同じ1分足の中ではやり直さない。3回断られたら諦める。

MT5版もMT4版も、同じ形にしました。



直したあと、マーケットに出す版を、ユーロドルの1時間足の2026年8月から9月で回しました。取引は入り、断られた注文は0回でした。
いつもの検証の口座では、売買は直す前と1円まで同じでした。最小の距離が0の口座では、そもそも断られる場面が無いからです。



損切りや利確を動かすEAを作るときは、動かす先が業者の最小の距離の内側に入らないかを、注文の前に確かめてみてください。
そして、断られたときにどうするかも決めておく。断られても黙ってやり直し続けるEAは、業者によっては、知らないうちに注文を出し続けることになります。

EAの注文まわりを、業者ごとの決まりに合わせて作る開発のご依頼も受けています。


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