外汇订单与持仓止盈止损¶
六个接口默认关闭,真实后端尚未验证。读取需要 acc:read;写入需要 trade:real。账户权限始终生效;非空市场限制须包含 FX。写入还需要独立开启 FUTU_FOREX_ORDER_WRITES,并满足现有实验功能和交易开关。
| REST POST | MCP | CLI |
|---|---|---|
/api/get-forex-orders |
futu_get_forex_orders |
get-forex-orders |
/api/get-forex-order-detail |
futu_get_forex_order_detail |
get-forex-order-detail |
/api/cancel-forex-order |
futu_cancel_forex_order |
cancel-forex-order |
/api/set-forex-position-stops |
futu_set_forex_position_stops |
set-forex-position-stops |
/api/confirm-forex-order |
futu_confirm_forex_order |
confirm-forex-order |
/api/modify-forex-order |
futu_modify_forex_order |
modify-forex-order |
全部请求显式提供 broker_id 和当前外汇业务长账户 account_id。先通过外汇账户读取取得账户;交易凭据由外汇解锁管理。请求不接受 cipher、内部请求内容或 ROA 参数。
查询¶
get-forex-orders 的 view 默认为 today,允许 today、open、recent_three_days、recent、history。可提供 page_flag、page_size;首次分页标记可省略。
非历史视图可使用顶层 time_begin_us、time_end_us、side,不得提供 history_filter。历史视图只在 history_filter 中设置时间、方向及其他筛选,不得同时提供这三个顶层字段。
history_filter 支持 symbol、currencies、destinations、order_types、trade_types、order_status、sides、for_trigger、show_related_order、related_group_types、time_begin_us、time_end_us、date_begin、date_end、query_word、sort_rule。时间单位是微秒,日期形如 20260911。不要将目的地和触发筛选中的合法零值当作字段缺失。
get-forex-order-detail 另需 order_id,可提供 exchange。列表与详情返回当前账户下的完整公开订单投影;它们不构成某次未知写入已经成功的证明。
撤单、改价与止盈止损¶
- 撤单:
order_id、idempotency_key。 - 快捷改价:
order_id、当前order_version、new_price、idempotency_key。仅限可修改的 Limit/StopLimit;保留原数量和触发上下文,不开放数量或 aux_price 修改。 - 持仓止盈止损:
position_id、currency、selection、idempotency_key、quote_options。quote_options必须显式提供before、after、overnight三个布尔值,false 合法。还须显式提供exclude_zero_positions、use_option_combo、exclude_delisted,选择用于定位持仓的数据范围。
pdt_protection 是可选的 PDT 保护选择;目标账户适用此项而未提供选择时,操作会拒绝继续,不会自动关闭保护。
selection 为 unset、take_profit、stop_loss、both。只有选中的价格字段可提供,选中价格必须非零正数。Both 使用原持仓方向检查价格关系,价格相等允许。
新 new_price、take_profit、stop_loss 使用普通十进制字符串,不支持指数、符号、空白或 NaN;最多 35 个有效数字,计数忽略前导和尾随零,但输出不会删除整数末尾的零。超过范围明确拒绝,不自动压成 35 位。此限制不改变原后台数量或旧止盈止损字段。
快捷改价仅规范化前导/小数尾零,不按行情精度截断。持仓止盈止损会按当前有效价格规则处理范围与小数精度;不要据此推断普通新单、数量修改或市价平仓已开放。
确认与未知结果¶
确认请求提供 confirmation_id 和非空 selections;每项包含原返回的 order_id 与用户明确同意的 confirm_types。持仓止盈止损确认的 order_id 可能为空;按返回值显式传空字符串,不构造普通订单 ID,不能省略字段或重复选择。同意的类型必须与原待确认要求匹配。只能确认当前 caller 自己的待确认操作,不接受自由构造的内部确认内容。
写响应的 result 保留 intent_key、attempt_id、state,以及可能的 confirmation_id、confirmation_orders、confirmation_prompts、message、need_op_confirm。confirmation_prompts 保留每项原始标题、内容、按钮文案及文案 ID,供调用者展示后明确确认。请检查状态,不能把收到响应等同于成交、设置完成或送达。超时/未知结果不自动重发;通过现有 GetTradeIntent 查询原意图。持仓值碰巧相等也不证明本次设置成功。
MCP 必须配置 OpenD REST 地址,CLI 使用 --rest-url、--api-key 和 --c2s-json,以保留实际 caller。Gateway 和 gRPC 使用对应公开 protobuf 请求;六入口共享相同业务与权限校验。