海外FX/運用環境

約定拒否、リクオート、スリッページの違い

EAで起きる約定トラブルの種類と対策を知りたい

Read this for この条件を、EA運用環境の中で確認する。

口座タイプ、スプレッド、手数料、約定、VPS、キャッシュバックは単独では判断しません。EAの売買回数と保有時間に合わせて見ます。

Category 海外FX/運用環境

execution

バックテストでは完璧に見えたEAが、リアル口座でなぜか期待通りのパフォーマンスを出せない。その原因の一つに、約定時のトラブルがある。

注文が通らない「約定拒否」、価格が再提示される「リクオート」、そして想定と違う価格で約定する「スリッページ」。これらは似ているようで全く異なる現象であり、EAの収益性を大きく左右する。

それぞれの違いを理解し、適切な対策を講じなければ、あなたのEAは本来の力を発揮できないだろう。

結論:EA運用における約定トラブルの種類と影響

EAの注文がエラーで弾かれたり、想定と違う価格で約定したりする現象は、主に以下の3つに分類される。

なぜEA運用で約定品質が重要なのか

裁量トレードでは「約定が滑った」と感じる程度でも、EA運用では毎回の約定品質がプロフィットファクター(PF)に直結する。

例えば、平均利幅が5pipsのスキャルピングEAで、常に1pipsのスリッページが発生すれば、利益の20%が自動的に失われる計算だ。また、10回に1回約定拒否が発生するなら、その分だけ期待利益が減少する。

スプレッドだけを見てブローカーを選ぶと、約定拒否やスリッページといった約定品質の問題を見落としがちだ。EA運用では、スプレッドより先に見るべき約定条件が多数存在する。

約定拒否、リクオート、スリッページの仕組みと発生条件

これらの現象は、主にブローカーの約定方式によって発生条件が異なる。

約定方式の違い

海外FX業者では、主に以下の約定方式が採用されている。

多くの海外FXのNDD(Non-Dealing Desk)業者、例えばExnessやIC MarketsなどではMarket Executionが主流だ。この方式ではリクオートは発生しにくいが、市場価格での約定を優先するため、スリッページは発生しやすくなる。

口座タイプによっても約定方式や条件は異なるため、EAを稼働させる前に必ず利用するブローカーの公式サイトで最新情報を確認することが重要だ。

MQL5での対策:EAに組み込むべきロジック

EA側でこれらの約定トラブルに対応するための基本的なMQL5コードの例を示す。

// 許容スリッページの設定
MqlTradeRequest request;
request.deviation = 10; // 許容スリッページ(ポイント)。10ポイント = 1pips(5桁表示の場合)

// リトライロジックの例
int retry_count = 0;
int max_retries = 3; // 最大リトライ回数

while(retry_count < max_retries)
{
    MqlTradeResult trade_result;
    bool result = OrderSend(request, trade_result);

    if(result && trade_result.retcode == TRADE_RETCODE_DONE)
    {
        // 注文成功
        break;
    }

    if(trade_result.retcode == TRADE_RETCODE_REQUOTE)
    {
        // リクオート: 価格を更新してリトライ
        // 最新のBid/Ask価格を取得し、request.priceを更新する
        request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK); // 買い注文の場合
        // request.price = SymbolInfoDouble(_Symbol, SYMBOL_BID); // 売り注文の場合
        retry_count++;
        Sleep(100); // 短時間待機
    }
    else if(trade_result.retcode == TRADE_RETCODE_REJECT)
    {
        // 約定拒否: リトライまたは見送り
        // 約定拒否は通常、サーバー側の問題や取引量の急増によるため、
        // リトライしても成功しにくい場合がある。
        retry_count++;
        Sleep(500); // やや長めに待機
    }
    else
    {
        // その他のエラーコードの場合はループを抜ける
        break;
    }
}

このコードはあくまで基本的な例であり、EAのロジックや取引戦略に合わせて調整が必要だ。特にリクオートや約定拒否時の再試行回数や待機時間は、EAの特性を考慮して慎重に設定すべきである。

バックテストやリアル運用でEAが壊れるポイント

約定品質に関する問題は、バックテストでは見えにくい落とし穴となる。

約定品質をどう確認し、EAに活かすか

EAのリアル運用前に、以下の手順で約定品質を確認し、ブローカー選びやEAの調整に役立てるべきだ。

  1. デモ口座での稼働とログ記録: 実際のEAをデモ口座で稼働させ、約定ログ(OrderSendの戻り値やエラーコード)を詳細に記録する。
  2. 約定品質の集計: 記録したログから、約定拒否率、リクオート率、平均スリッページ(特に指標発表時と平常時)を集計する。
  3. 複数ブローカーでの比較: 複数のブローカーのデモ口座で同じEAを稼働させ、約定品質を比較することで、よりEAに適した環境を見つける手がかりにする。

自分の検証スタンス

約定品質はEAのロジックとは別の要素だが、プロフィットファクター(PF)に直結するため、ブローカー選びの段階で非常に重視している。

特にMarket Execution方式を採用している業者を基本とし、スキャルピングEAを運用する際は、バックテストのPFに平均スリッページの影響を反映させて、より現実的な期待値を算出するようにしている。また、ストップレベルなど、約定に影響するブローカー固有の条件も事前に確認する。

約定品質は時間帯や市場の流動性によっても変動するため、「ここはまだ確認中」という保留の姿勢で、常に最新の情報を追うことが重要だと考えている。

関連して読む

約定品質はブローカー選びの重要な要素です。以下の記事も参考に、あなたのEAに最適な環境を見つけてください。

あなたのEAに最適な約定環境を見つける

約定拒否やスリッページは、EAのパフォーマンスを大きく左右します。主要ブローカーの約定条件を比較し、あなたのEAが最大限の力を発揮できる環境を選びましょう。

EA運用に最適な海外FX業者ガイドを見る

本記事は個人の検証メモであり、投資助言ではありません。約定方式や条件は業者・口座タイプによって異なります。必ず公式サイトで最新情報を確認してください。

Broker environment この条件を、EA運用環境の中で確認する。

口座タイプ、スプレッド、手数料、約定、VPS、キャッシュバックは単独では判断しません。EAの売買回数と保有時間に合わせて見ます。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。