跳转至

外汇订单与持仓止盈止损

六个接口默认关闭,真实后端尚未验证。读取需要 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-ordersview 默认为 today,允许 todayopenrecent_three_daysrecenthistory。可提供 page_flagpage_size;首次分页标记可省略。

非历史视图可使用顶层 time_begin_ustime_end_usside,不得提供 history_filter。历史视图只在 history_filter 中设置时间、方向及其他筛选,不得同时提供这三个顶层字段。

history_filter 支持 symbolcurrenciesdestinationsorder_typestrade_typesorder_statussidesfor_triggershow_related_orderrelated_group_typestime_begin_ustime_end_usdate_begindate_endquery_wordsort_rule。时间单位是微秒,日期形如 20260911。不要将目的地和触发筛选中的合法零值当作字段缺失。

get-forex-order-detail 另需 order_id,可提供 exchange。列表与详情返回当前账户下的完整公开订单投影;它们不构成某次未知写入已经成功的证明。

撤单、改价与止盈止损

  • 撤单:order_ididempotency_key
  • 快捷改价:order_id、当前 order_versionnew_priceidempotency_key。仅限可修改的 Limit/StopLimit;保留原数量和触发上下文,不开放数量或 aux_price 修改。
  • 持仓止盈止损:position_idcurrencyselectionidempotency_keyquote_optionsquote_options 必须显式提供 beforeafterovernight 三个布尔值,false 合法。还须显式提供 exclude_zero_positionsuse_option_comboexclude_delisted,选择用于定位持仓的数据范围。

pdt_protection 是可选的 PDT 保护选择;目标账户适用此项而未提供选择时,操作会拒绝继续,不会自动关闭保护。

selectionunsettake_profitstop_lossboth。只有选中的价格字段可提供,选中价格必须非零正数。Both 使用原持仓方向检查价格关系,价格相等允许。

new_pricetake_profitstop_loss 使用普通十进制字符串,不支持指数、符号、空白或 NaN;最多 35 个有效数字,计数忽略前导和尾随零,但输出不会删除整数末尾的零。超过范围明确拒绝,不自动压成 35 位。此限制不改变原后台数量或旧止盈止损字段。

快捷改价仅规范化前导/小数尾零,不按行情精度截断。持仓止盈止损会按当前有效价格规则处理范围与小数精度;不要据此推断普通新单、数量修改或市价平仓已开放。

确认与未知结果

确认请求提供 confirmation_id 和非空 selections;每项包含原返回的 order_id 与用户明确同意的 confirm_types。持仓止盈止损确认的 order_id 可能为空;按返回值显式传空字符串,不构造普通订单 ID,不能省略字段或重复选择。同意的类型必须与原待确认要求匹配。只能确认当前 caller 自己的待确认操作,不接受自由构造的内部确认内容。

写响应的 result 保留 intent_keyattempt_idstate,以及可能的 confirmation_idconfirmation_ordersconfirmation_promptsmessageneed_op_confirmconfirmation_prompts 保留每项原始标题、内容、按钮文案及文案 ID,供调用者展示后明确确认。请检查状态,不能把收到响应等同于成交、设置完成或送达。超时/未知结果不自动重发;通过现有 GetTradeIntent 查询原意图。持仓值碰巧相等也不证明本次设置成功。

MCP 必须配置 OpenD REST 地址,CLI 使用 --rest-url--api-key--c2s-json,以保留实际 caller。Gateway 和 gRPC 使用对应公开 protobuf 请求;六入口共享相同业务与权限校验。