コンテンツにスキップ

Place Order

writes · destructive

FIX API経由でcTraderに新しい取引注文を発注します。

キルスイッチ、レート制限、ポジションサイズ制限、日次損失制限を含む11個のリスクチェックを通過後、注文を送信します。

PARAMETERS:

  • symbol: 正確なシンボル名(例: “EURUSD”、“GBPUSD”、“XAUUSD”)
  • side: ロングは “BUY”、ショートは “SELL”
  • volume: ロットではなく単位(UNITS)で指定
    • FXペア: 100000 = 1標準ロット、10000 = 0.1ロット
    • ゴールド(XAUUSD): 10 = 1ロット、1000 = 100ロット(ブローカー最小値!)
    • シルバー(XAGUSD): 500 = 1ロット(ブローカー最小値!)
    • 設定でシンボルのロットサイズを確認してください
  • orderType: “MARKET”(即時)、“LIMIT”(指定価格で待機)、“STOP”(逆指値注文)
    • 注意: STOP_LIMITはブローカーでサポートされていません
  • timeInForce: “GTC”(デフォルト、キャンセルまで有効)、“DAY”、“IOC”、“FOK”
  • price: LIMITおよびSTOP_LIMIT注文に必須(絶対価格水準)
  • stopPrice: STOPおよびSTOP_LIMIT注文に必須(トリガー価格)
  • positionId: SL/TP注文には必須。positionIdがない場合、STOP/LIMIT注文は 対象ポジションをクローズせず、新しい独立ポジションをオープンします。 必ず先に get_positions からポジションIDを取得してください。

リスクチェック(すべて自動): ポジションサイズ、オープンポジション数、日次損失制限、レート制限が強制されます。注文は詳細な理由と提案とともに拒否される場合があります。

モード:

  • readonly: MODE_RESTRICTEDエラーで拒否
  • paper: 検証・記録されるが、ブローカーには送信されない
  • live: 検証してブローカーに送信(実際に執行される)

レスポンス:

  • MARKET約定時: orderId、clOrdId、status、avgPrice、positionIdを返します。 SL/TP保護のため、positionIdを使ってリンクされたSTOP/LIMIT注文を発注してください。
  • LIMIT/STOP受理時: orderId、clOrdId、status(NEW)を返します。 失敗時には、LLMがパラメータを調整するための理由と提案を含む構造化エラーを返します。

SL/TPワークフロー:

  1. MARKET注文を発注 → レスポンスからpositionIdを取得(data.positionIdフィールド)
  2. positionIdを指定してSTOP注文を発注(反対サイド) → ストップロス
  3. positionIdを指定してLIMIT注文を発注(反対サイド) → テイクプロフィット OCO: ポジションがクローズすると(SL/TP約定または close_position)、サーバーは残りのリンクされた待機注文をすべて自動キャンセルします。

SL/TP価格ルール:

  • BUYポジション: SLのstopPriceはエントリー価格より下、TPの価格はエントリー価格より上
  • SELLポジション: SLのstopPriceはエントリー価格より上、TPの価格はエントリー価格より下
  • SL/TP水準を計算する前に、get_quoteで現在のビッド/アスクを取得してください

⚠️ 計算の安全性 — このツールを呼び出す前に必ず以下を実行してください:

  1. 数量を段階的に計算する: 希望ロット数 × LOT_SIZE = 単位数。計算をユーザーに表示してください。
  2. シンボルのLOT_SIZEを get_symbols で確認(不明な場合は get_knowledge トピック “order-guide” を確認)。
  3. クロスチェック: 単位数は妥当に見えますか?(例: 1 FXロット = 100,000であり、10,000や1,000,000ではない)
  4. 注文送信前に、シンボル、サイド、数量、注文種別についてユーザーから明示的な確認を得てください。
  5. 疑わしい場合は、まずペーパーモードと小さな数量を使用してください。
パラメータ必須説明
symbolstringはいシンボル名(例: ‘EURUSD’、‘GBPUSD’、‘XAUUSD’)
side"BUY", "SELL"はい注文サイド: ロングは ‘BUY’、ショートは ‘SELL’
volumenumberはい注文数量(ロットではなくUNITS)。例: 100000 = 1標準FXロット、10 = 1ロット XAUUSD、0.01 = 0.01ロット BTCUSD。ロットサイズの小さい銘柄では小数値も許可されます。get_symbolsからシンボルのロットサイズを取得してください。
orderType"MARKET", "LIMIT", "STOP", "STOP_LIMIT"はい注文種別: ‘MARKET’(即時執行)、‘LIMIT’(指定価格で待機)、‘STOP’(逆指値注文)。⚠️ STOP_LIMITはブローカーでサポートされておらず、拒否されます。
timeInForce"GTC", "DAY", "IOC", "FOK", "GTD"いいえTime in Force: ‘GTC’(キャンセルまで有効、デフォルト)、‘DAY’(当日終了で失効)、‘IOC’(即時または取消)、‘FOK’(全量約定または取消)、‘GTD’(指定日まで有効、expireTimeが必要) デフォルト: GTC
pricenumberいいえ指値価格(LIMITおよびSTOP_LIMIT注文に必須)
stopPricenumberいいえストップトリガー価格(STOPおよびSTOP_LIMIT注文に必須)
positionIdstringいいえこの注文を既存ポジションにリンクするためのポジションID。SL/TP注文には必須 — これがないと、STOP/LIMIT注文は対象ポジションをクローズせず、新しい独立ポジションをオープンします。positionIdは、place_orderのMARKET約定レスポンスから、または既存ポジションについてはget_positionsから取得します。
commentstringいいえ任意の注文コメント/ラベル
expireTimestringいいえISO 8601形式の任意の有効期限(例: ‘2025-12-31T23:59:59Z’)。DAYまたはGTC timeInForceと併用。