成行・指値・逆指値とは — FX/CFDの基本注文タイプを整理する
cTrader や MT4/MT5 の注文画面を初めて開くと、Market・Limit・Stop といったボタンや、ストップロス(SL)・テイクプロフィット(TP)の入力欄がずらりと並んでいて、どこから手を付けるべきか迷うことがあります。注文タイプの違いを曖昧なまま使うと、想定と異なる価格で約定したり、本来出すべき注文が出ていなかったり、といった事故につながりやすくなります。本記事では、もっとも基本となる 成行・指値・逆指値 の 3 種類について、定義、約定価格の決まり方、活用場面、cBot で扱う際の注意点までをフラットに整理します。
注文タイプは「方向性を当てるための道具」ではなく、戦略の意図を取引所に正しく伝えるための文法 だと捉えると、後の話が追いやすくなります。
3つの注文タイプの全体像
成行・指値・逆指値は、現在価格を基準にして「いつ・どこで約定させたいか」が異なる注文方式です。買い注文を例に並べると、現在価格より下に置くのが指値、上に置くのが逆指値、現在価格そのもので即時約定させるのが成行、という関係になります。
売り注文の場合は上下関係が反転し、現在価格より上に置くのが指値(売り)、下に置くのが逆指値(売り)になります。「現在価格に対して、価格が 自分にとって有利な方向 に動いたら約定するのが指値、不利な方向 に動いたら約定するのが逆指値」という整理で覚えると、買い・売りどちらの方向でも一貫して扱いやすくなります。
成行注文(Market Order)
成行注文は、注文を出したタイミングの 現在価格で即時約定 させる注文方式です。買いなら Ask(売値)、売りなら Bid(買値)で約定します。
最大の特徴は、約定そのものを優先する 点です。「今すぐポジションを持ちたい」「想定したシグナルが出たので待たずに入りたい」というケースで使われます。一方で、約定価格は注文を出した瞬間の市場価格に依存するため、ボラティリティの高い局面ではスリッページ(想定価格と実際の約定価格のズレ)が発生しやすい性質があります。
スリッページの基礎については、別記事「スリッページとは — 約定価格のズレが起こる仕組みとリスク管理の考え方」も参考になります。
cBot やインジケーター連動の発注ロジックで成行を使う場合は、
- 約定価格を必ずログに残す
- 想定価格(シグナル時の Bid/Ask)との乖離を記録する
- 乖離が一定以上のときはエントリー見送りや警告を出す
といった枠組みを併設しておくと、想定外の約定が積み重なる前に検知しやすくなります。
指値注文(Limit Order)
指値注文は、現在価格より自分にとって有利な価格 を指定しておき、価格がそこに到達したら約定させる注文方式です。買いなら現在価格より下、売りなら現在価格より上に置きます。
代表的な使い方は 「押し目買い」「戻り売り」 の自動化です。たとえばトレンドが続いていると見立てたうえで、「現在価格から少し戻したラインで買う」というシナリオを、指値で事前に置いておくケースが該当します。
指値注文の強みは、約定価格を自分で固定できる 点です。指定したレートに価格が届かなければ約定しないため、想定外の高値づかみ・安値売りは構造的に発生しません。一方で、価格が指定レートに到達しないままトレンドが進行すると、「想定したシナリオは合っていたのに、ポジションを取れずに終わる」というケースが起きます。
戦略単位で「約定機会の最大化」と「約定価格の有利さ」のどちらを優先するかを事前に決めておくと、成行と指値の使い分けが整理しやすくなります。
逆指値注文(Stop Order)
逆指値注文は、現在価格より自分にとって不利な価格 を指定しておき、価格がそこに到達したら約定させる注文方式です。買いなら現在価格より上、売りなら現在価格より下に置きます。
逆指値には大きく分けて 2 つの用途があります。
ひとつは ブレイクアウトエントリー です。たとえば直近高値の少し上に買いの逆指値を置いておき、レンジ上抜けが確定したタイミングで自動的に買いポジションを持つ、という使い方です。前日高値ブレイクや直近レンジ突破を狙う戦略と相性が良いと考えられます。
もうひとつは ストップロス(損切り)としての利用 です。買いポジションを持っているときに、想定が外れたシナリオの価格帯(例: 直近安値の少し下)に売りの逆指値を置いておけば、価格がそこに到達した時点で自動的に決済され、損失を一定範囲に抑える運用が可能になります。
「逆指値=損切り」という説明だけだとブレイクエントリー用途が見えにくく、逆に「逆指値=ブレイクエントリー」だけだと SL の役割が抜けてしまいます。ブレイクの新規 / ポジションの撤退 という 2 用途を併記して覚えておくと、注文画面の選択肢で迷いにくくなります。
SL/TPと注文タイプの関係
新規注文には成行・指値・逆指値の 3 種類がありますが、ポジションに付随して設定する ストップロス(SL)とテイクプロフィット(TP) も、内部的には逆指値・指値として動作します。
- ストップロス(SL): ポジションと逆方向の 逆指値 として動作。買いポジションなら売りの逆指値、売りポジションなら買いの逆指値。
- テイクプロフィット(TP): ポジションと逆方向の 指値 として動作。買いポジションなら売りの指値、売りポジションなら買いの指値。
cTrader や MT4/MT5 の注文画面では SL/TP を pip 単位または絶対価格で入力できますが、サーバー側ではそれぞれ「決済方向の逆指値・指値」として保持される、と理解しておくと挙動を予測しやすくなります。
リスクリワード(R:R)の設計と SL/TP の関係は、別記事「リスクリワードレシオとは — 期待値で考える損切りと利確の比率」でも整理しています。
よくある誤解と注意点
注文タイプにまつわる誤解のうち、初心者がはまりやすいものを 2 つ取り上げます。
誤解 1: 「指値なら必ず指定した価格で約定する」
通常時はその通りですが、価格が指定レートを 大きく飛び越えるギャップ が発生した場合、約定価格は窓開けの先で滑ることがあります(特に週明けの始値や、重要指標発表直後)。指値=絶対安心ではなく、ギャップリスクは別途織り込む必要があります。
誤解 2: 「逆指値はトリガー価格そのもので約定する」
逆指値は「指定価格に到達したら成行として発注される」挙動が一般的です。つまりトリガー到達後の約定価格は、その瞬間の市場価格に依存し、ボラティリティの高い局面ではスリッページが発生します。「逆指値=固定価格で決済される」という認識のままだと、想定より深い損切りが発生したときに原因が掴めなくなるため注意が必要です。
cBotで扱う際の実装ポイント
cTrader の cBot API では、3 種類の注文に対応するメソッドがそれぞれ用意されています。代表的なものを整理すると次のようになります。
- 成行:
ExecuteMarketOrder(...) - 指値:
PlaceLimitOrder(...)(ペンディングオーダーとして登録) - 逆指値:
PlaceStopOrder(...)(同上)
実装時に意識しておきたいポイントは、おおよそ次の通りです。
ひとつめは 発注時のスリッページ上限指定 です。ExecuteMarketOrder の引数で許容スリッページを指定できるケースがあり、ここを未設定のまま運用すると、想定外の価格で約定するリスクが残ります。
ふたつめは ペンディングオーダーの有効期限管理 です。指値・逆指値で出した注文は、明示的に取り消すかキャンセル条件を組み込まない限り、長時間板に残り続けることがあります。「シグナルから N 時間以上経過したらキャンセル」「指標発表前にはすべてのペンディングをクリア」といった運用ルールをコード側に組み込んでおくと、想定外のタイミングで古い指値が刺さる事故を避けやすくなります。
みっつめは 発注後のステータス確認 です。PendingOrder の状態や約定イベントをログに残し、想定通りに発注・約定が進んでいるかを後追いできる形にしておくのが基本です。AI コパイロット系ツールでは、このログを使った異常検知や日次レポート出力までを自動化する設計が一般的だと考えられます。
cBot 開発の進め方や AI を活用した実装支援については、ai-programming.xyz のスクール教材でも体系的に取り上げています。
まとめ
成行・指値・逆指値は、FX/CFD 取引で最初に押さえておきたい基本注文タイプです。約定の即時性を優先するなら成行、約定価格の有利さを優先するなら指値、ブレイクや損切りなど「価格が動いたら反応する」発注なら逆指値、というのが基本の使い分けになります。
SL/TP も内部的には逆指値・指値として動作しているため、3 種類の構造を理解しておくと、注文画面と cBot API のどちらでも挙動を一貫して捉えやすくなります。実運用では、スリッページ・ギャップ・有効期限といった「注文タイプそのものに付随するリスク」を、戦略コード側のフィルタやログ収集とセットで組み込んでおくのが安全です。
本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。