MT5にOCO注文はあるか|画面に「OCO」という項目は無い
結論から書きます。MT5の画面に「OCO」という名前の注文項目はありません。注文種別を探しても見つからないのはこのためです。
ただし、OCOと同じ動きをする仕組みは標準で備わっています。保有中のポジションに決済逆指値(S/L)と決済指値(T/P)を両方置けば、片方が成立した時点でもう片方は消えます。これが実質的なOCOです。
この記事では、できること・できないことを分けて整理します。
(確認環境:MetaTrader 5 / Windows 11)
OCO注文とは
OCO(One Cancels the Other)は、2つの注文を同時に出しておき、片方が成立したらもう片方を自動で取り消す注文方法です。国内FX業者の取引ツールでは、注文種別の1つとして用意されていることが多い機能です。
MT5にはこの名前の項目がありません。機能が無いのではなく、別の形で実現されています。
できること:決済側のOCO
保有中のポジションに対しては、OCOと同じ動きを作れます。
- ツールボックスの「取引」タブで対象のポジションを右クリック
- 「ポジションの変更」を選ぶ
- 決済逆指値(S/L)と決済指値(T/P)の両方に価格を入れる
これで「利確に届けば利確、損切りに届けば損切り、どちらか一方だけが実行される」状態になります。片方が約定すればポジションが消えるので、もう片方も自動的に無効になります。
新規注文の画面でも、発注時に同じ2つを入れられます。価格の入れ方と桁の注意点はMT5の決済逆指値・決済指値の設定方法にまとめています。
🔴 できないこと:新規側のOCO
ここが実際に困る部分です。
「上に抜けたら買い、下に抜けたら売り。どちらかが成立したらもう片方は取り消す」という新規注文の組み合わせは、MT5の標準機能では作れません。
指値注文と逆指値注文を2つ並べて置くこと自体はできます。しかしMT5はその2つを関連付けて管理しないため、片方が約定しても、もう片方はそのまま残ります。
結果として起きるのがこれです。
買いで入った後、値が戻って下側の売り注文も約定し、両建てになる。
レンジを抜ける方向に賭ける使い方をしていると、抜けきらずに戻された時にこの状態になります。残った側を自分で消す必要があるということです。
回避する方法
- 注文に有効期限を付ける — 新規注文の画面で期限を指定できます。時間で自動的に消えるため、放置される時間を短くできます
- 片方が約定したら手で消す — 確実ですが、見ていないとできません
- EAで管理する — 片方の約定を検知して、もう片方を削除する処理を自分で書く形になります
3つ目は、決済や注文の管理を自動化する話に入ります。考え方はMT5で決済だけを自動化する方法で扱っています。
残った注文の消し方
約定しなかった側を消す手順です。
- ツールボックスの「取引」タブを開く
- 対象の注文を右クリック →「削除」
まとめて消したい場合は「一括操作」の中に「すべての注文を削除」があります。ただしこれはポジションの決済とは別の項目です。全部片付けたつもりで注文だけ残っていた、という事故はここで起きます。詳しくはMT5で複数ポジションをまとめて決済する方法にまとめました。
まとめ
- MT5に「OCO」という項目は無い
- 決済側のOCOは可能。S/LとT/Pを両方置けば同じ動きになる
- 🔴 新規側のOCOは標準では作れない。2つ並べても関連付けされない
- 片方が約定してももう片方は残る。放置すると両建てになる
- 有効期限を付けるか、手で削除するか、EAで管理する
MT5で出せる予約注文6種類(指値・逆指値・ストップリミット)と有効期限の選び方はMT5の指値・逆指値の種類にまとめています。
本記事は操作手順と仕様を説明したものであり、特定の売買を推奨するものではありません。仕様は業者やビルドによって異なる場合があります。投資判断はご自身の責任で行ってください。FXは元本割れの可能性があります。


