注文タイプとトレーディングガイド
注文タイプとトレーディングガイド
Section titled “注文タイプとトレーディングガイド”MARKET
Section titled “MARKET”利用可能な最良価格での即時執行。
- price パラメーターは不要
- 即座に約定(または流動性がない場合は拒否)
- 最適な用途: ポジションへの迅速な出入り
特定の価格水準での保留中注文。
priceパラメーターが必要- BUY LIMIT: 現在価格より下に発注(より安く買う)
- SELL LIMIT: 現在価格より上に発注(より高く売る)
- デフォルト TimeInForce: GTC(約定または取消まで維持)
ストップ価格に達すると成行注文になります。
stopPriceパラメーターが必要- BUY STOP: 現在価格より上に発注(ブレイクアウト買い)
- SELL STOP: 現在価格より下に発注(ブレイクアウト売り)
- 用途: ブレイクアウト戦略、ストップロス実装
STOP_LIMIT(サポートされていません)
Section titled “STOP_LIMIT(サポートされていません)”⚠️ STOP_LIMIT は cTrader ブローカーでサポートされていません。 使用しようとするとブローカーが拒否します。 代わりに STOP または LIMIT 注文を個別に使用してください。
Time In Force
Section titled “Time In Force”| 値 | 名称 | 動作 |
|---|---|---|
GTC | Good Till Cancel | 約定または手動取消までアクティブ(デフォルト) |
DAY | Day Order | 取引日終了時に失効 |
IOC | Immediate or Cancel | 即座に約定できる分だけ約定し、残りはキャンセル |
FOK | Fill or Kill | 注文全体を即座に約定するか、完全にキャンセル |
GTD | Good Till Date | expireTime に達するまでアクティブ、その後自動キャンセル |
数量: ロットではなく単位(Units)!
Section titled “数量: ロットではなく単位(Units)!”重要: すべての数量は**ロットではなく単位(UNITS)**で指定します。
数量の計算方法
Section titled “数量の計算方法”各銘柄のロットサイズは get_symbols ツールまたは ctrader://symbols リソースで取得できます。
ロットを単位に変換するには: 数量 = 希望ロット数 × LOT_SIZE
例: EURUSD のロットサイズは 100,000 なので:
- 1 ロット = 100,000 単位 →
volume: 100000 - 0.5 ロット = 50,000 単位 →
volume: 50000 - 0.01 ロット = 1,000 単位 →
volume: 1000
注文を発注する前に、必ず get_symbols を呼び出して実際のロットサイズを確認してください。
ストップロスとテイクプロフィット(リンク注文経由)
Section titled “ストップロスとテイクプロフィット(リンク注文経由)”SL/TP は positionId 経由でポジションに接続された保留中リンク注文を使用して実装されます。
STOP または LIMIT 注文に positionId が含まれていると、トリガーされたときに新しい独立したポジションを開く代わりに、
その特定のポジションをクローズ/縮小します。
3 ステップ SL/TP ワークフロー
Section titled “3 ステップ SL/TP ワークフロー”ステップ 1: ポジションを開く
{ "symbol": "EURUSD", "side": "BUY", "volume": 100000, "orderType": "MARKET"}レスポンスには positionId(例: "12345")が含まれます — 次のステップのために保存してください。
ステップ 2: ストップロスを発注(ポジションにリンクされた STOP 注文)
{ "symbol": "EURUSD", "side": "SELL", "volume": 100000, "orderType": "STOP", "stopPrice": 1.0750, "positionId": "12345"}ステップ 3: テイクプロフィットを発注(ポジションにリンクされた LIMIT 注文)
{ "symbol": "EURUSD", "side": "SELL", "volume": 100000, "orderType": "LIMIT", "price": 1.0950, "positionId": "12345"}重要な注意事項
Section titled “重要な注意事項”- positionId は必須 — これがないと、STOP/LIMIT 注文は既存ポジションを保護するのではなく、新しい独立したポジションを開きます。
place_orderMARKET 約定レスポンス(data.positionIdフィールド)から取得するか、既存ポジションについてはget_positionsから取得してください。 - サイドはポジションの反対である必要があります: 買いポジション → 売りの SL/TP 注文、その逆も同様。
- 価格の方向ルール:
- 買いポジション: SL の
stopPriceはエントリー価格より下、TP のpriceはエントリー価格より上である必要があります - 売りポジション: SL の
stopPriceはエントリー価格より上、TP のpriceはエントリー価格より下である必要があります - エントリーの反対側に SL/TP を発注すると即座にトリガーされたり、ブローカーが拒否したりする可能性があります
- 買いポジション: SL の
- 数量は完全な SL/TP の場合はポジション数量と一致させ、部分の場合はそれより小さくしてください。
- OCO 自動キャンセル: ポジションがクローズしたとき(SL/TP 約定、
close_position、または手動クローズ)、サーバーはその positionId にリンクされた残りのすべての保留中注文を自動的にキャンセルします。手動クリーンアップは不要です。 - 発注後、
get_ordersを使用してリンクされた保留中注文がアクティブであることを確認してください。
注文ワークフローの例
Section titled “注文ワークフローの例”例 1: リスクパラメーター付き成行買い
Section titled “例 1: リスクパラメーター付き成行買い”{ "symbol": "EURUSD", "side": "BUY", "volume": 100000, "orderType": "MARKET"}例 2: リミット売り注文
Section titled “例 2: リミット売り注文”{ "symbol": "GBPUSD", "side": "SELL", "volume": 50000, "orderType": "LIMIT", "price": 1.2650, "timeInForce": "GTC"}例 3: ポジション全決済
Section titled “例 3: ポジション全決済”{ "positionId": "12345"}サイドは自動的に推論されます(LONG → SELL、SHORT → BUY)。
例 4: 部分決済
Section titled “例 4: 部分決済”{ "positionId": "12345", "volume": 50000, "comment": "Take partial profit"}例 5: すべてのポジションをクローズ(ブックをフラットに)
Section titled “例 5: すべてのポジションをクローズ(ブックをフラットに)”{ }反対側成行注文で各建玉ポジションをクローズします。close_all_positions ツールを使用してください。
特定ポジションのみをクローズするには銘柄でフィルタ:
{ "symbol": "EURUSD" }保留中注文の表示
Section titled “保留中注文の表示”get_orders を使用して、まだ約定または取消されていないすべての保留中注文(LIMIT、STOP)を表示します。
すべての保留中注文を表示
Section titled “すべての保留中注文を表示”{ }銘柄でフィルタ
Section titled “銘柄でフィルタ”{ "symbol": "EURUSD" }ステータスでフィルタ
Section titled “ステータスでフィルタ”{ "status": "PARTIALLY_FILLED" }ClOrdID で特定の注文を照会
Section titled “ClOrdID で特定の注文を照会”{ "clOrdId": "lq1x5k4fa3b2c1d9" }refresh なしでは、ローカル状態からフィルタします。refresh: true を指定すると、一括リフレッシュではなく、その単一注文に対してターゲットを絞ったステータスリクエストを送信します:
{ "clOrdId": "lq1x5k4fa3b2c1d9", "refresh": true }ブローカーからリフレッシュ
Section titled “ブローカーからリフレッシュ”注文がこのサーバー外で発注または取消された可能性がある場合(例: cTrader UI 経由):
{ "refresh": true }これはブローカーから新鮮な注文データを取得し、現在の注文スナップショットを返します。
1 つの注文のステータスのみが必要な場合は、代わりに clOrdId + refresh: true を使用してください — その注文のみのターゲットを絞ったリクエストを送信します。
ヒント: modify_order または cancel_order の前に、必ず get_orders を呼び出して注文の存在と現在の状態を確認してください。
市場クローズ時の取引
Section titled “市場クローズ時の取引”MARKET 注文はアクティブな取引セッションを必要とし、市場がクローズしている場合(例: FX の週末、特定商品の取引時間外)には拒否されます。
代わりに行うべきこと: 市場再開時に取引をキューに入れる保留中注文タイプを使用してください:
| 注文タイプ | ユースケース |
|---|---|
| LIMIT | 市場再開時に特定価格でエントリー(例: 予想されるオープン値より下に BUY LIMIT) |
| STOP | 取引再開後にレベルを超える/下回るブレイクアウトでエントリー |
| ブローカーでサポートされていない(拒否されます) |
timeInForce: "GTC" を設定すると、注文は約定または手動取消までアクティブのままです。
あるいは、特定時刻に自動キャンセルするために expireTime 付きの timeInForce: "GTD" を使用してください。
例: 週末前に BUY LIMIT を発注:
{ "symbol": "EURUSD", "side": "BUY", "volume": 100000, "orderType": "LIMIT", "price": 1.0800, "timeInForce": "GTC"}この注文は市場再開まで待機し、価格が 1.0800 に達した場合に執行されます。
例 6: 失効付き GTD 注文
Section titled “例 6: 失効付き GTD 注文”{ "symbol": "EURUSD", "side": "BUY", "volume": 100000, "orderType": "LIMIT", "price": 1.0800, "timeInForce": "GTD", "expireTime": "2025-12-31T23:59:59Z"}約定しなければ、指定された UTC 時刻に注文が自動キャンセルされます。expireTime は ISO 8601 UTC 形式(YYYY-MM-DDTHH:MM:SSZ)である必要があります。
注: expireTime が存在すると cTrader は GTD を自動検出するため、timeInForce: "GTD" の設定はオプションですが、明確性のため推奨されます。
過去のトレードのレビュー
Section titled “過去のトレードのレビュー”最近クローズされたポジションを確認するには get_trade_history を使用してください:
- デフォルト: 最新 20 件、最新順
- 銘柄でフィルタ:
{ "symbol": "EURUSD" } - 統計を含める:
{ "includeStats": true }→ 勝率、プロフィットファクター、平均 P&L
注: この MCP サーバーを通じてクローズされたポジションのみが追跡されます。 詳細については limitations トピックを参照してください。
注文に対するリスクチェック
Section titled “注文に対するリスクチェック”すべての注文は 11 のリスクチェックを自動的に通過します:
- キルスイッチが非アクティブである必要
- レート制限を超過していない必要
- 銘柄がホワイトリストにある必要
- 数量が制限内である必要
- ポジションサイズが制限内に留まる必要
- デイリーロス制限を超過していない必要
いずれかのチェックが失敗した場合、注文は理由と修正方法の提案を含む詳細なエラーメッセージと共に拒否されます。
