You need to enable JavaScript to run this app. 如何使用python-binance提交BTCUSD永续期货市价订单?
优惠活动
大模型
产品
解决方案
定价
更多

如何使用python-binance提交BTCUSD永续期货市价订单?

问题核心原因

你提交的订单被匹配到带日期后缀的交割合约,本质是两个链路的配置错位:

  1. 传递的symbol值本身是交割合约的固定到期日标的,没有使用永续合约对应的符号
  2. 客户端初始化时错连到了交割合约的专属服务路由,导致永续的下单请求被路由到交割合约池匹配标的
分步修正方案

1. 匹配正确的永续合约符号

币安所有带_YYYYMMDD后缀的交易对都是固定到期日的交割合约,永续合约的符号有固定规则,和目标标的的对应关系:

  • USDT本位BTC永续(最常用,保证金以USDT结算):正确符号为BTCUSDT,无任何后缀
  • 币本位BTCUSD永续(保证金以BTC结算,合约面值锚定美元):正确符号为BTCUSD_PERP,必须带固定的_PERP后缀

2. 校验客户端初始化配置

python-binance的不同合约类型对应不同的接口路由,初始化时不要手动指定交割合约的专属服务地址,否则所有请求都会被路由到交割合约域:

  • 对接USDT本位永续时,保留客户端默认配置即可,默认路由就指向USDT本位永续的服务端点
  • 对接币本位永续时,不能直接使用通用的futures_create_order方法(该方法仅覆盖USDT本位域),必须调用币本位专属的接口方法

3. 替换对应场景的正确下单代码

场景1:提交USDT本位BTC永续市价买单

from binance.client import Client
# 替换为你自己的API Key、Secret,确保账号已开通期货交易权限
client = Client(api_key="你的API Key", api_secret="你的API Secret")
client.futures_create_order(
    symbol="BTCUSDT",
    side="BUY",
    type="MARKET",
    quantity=0.001
)

场景2:提交币本位BTCUSD永续市价买单

# 复用同一个客户端实例,调用币本位专属下单接口
client.futures_coinm_create_order(
    symbol="BTCUSD_PERP",
    side="BUY",
    type="MARKET",
    quantity=1, # 币本位合约的quantity为张数,1张对应100美元面值,注意和USDT本位的数量规则区分
)
额外排查点
  • 下单前打印代码中sym变量的实际取值,确认不是之前测试交割时残留的带日期后缀的符号
  • 如果使用测试网环境,确认配置的服务地址和你要对接的永续测试域一致,不要混用交割测试网的地址

内容的提问来源于stack exchange,提问作者SAENGSURIN kowit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 05:15:05