FIX API
注意: 此 API 只能用于现货 (SPOT
) 交易所。
基本信息
FIX API 订单接入会话
- 端点为:
tcp+tls://fix-oe.binance.com:9000
- 支持下单,取消订单和查询当前限制使用情况。
- 支持接收账户的所有 ExecutionReport
<8>
和 List Status<N>
。 - 仅允许带有
FIX_API
的 API Key 连接。
FIX API Drop Copy 会话
- 端点为:
tcp+tls://fix-dc.binance.com:9000
- 支持接收账户的所有 ExecutionReport
<8>
和 List Status<N>
。 - 仅允许连接带有
FIX_API
或FIX_API_READ_ONLY
的 API Key。
关于 QuickFix 模式 (Schema) 文件, 请点击 这里。
FIX 连接需要 TLS 加密。请使用本地 TCP+TLS 连接或设置本地代理如 stunnel 来处理 TLS 加密。
API Key 权限
如果您需要使用 FIX API 的订单接入会话,您的 API key 必须配置 FIX_API
权限。
如果您需要使用 FIX API 的 Drop Copy 会话,您的 API key 必须配置 FIX_API_READ_ONLY
或 FIX_API
权限。
FIX API 订单接入和 FIX API Drop Copy 会话仅支持 Ed25519 密钥。
关于如何设置 Ed25519 密钥对,请参考 本教程。
关于消息处理顺序
初始消息 Logon<A>
中必需的 MessageHandling (25035)
字段被用于控制:是否在消息被撮合引擎处理前,需要重新排序消息。
UNORDERED(1)
允许不按顺序将来自客户端的消息发送到撮合引擎。SEQUENTIAL(2)
来自客户端的消息始终以MsgSeqNum(34)
中定义的顺序发送到撮合引擎。
[!TIP] 在有多个消息需要从客户端传输到服务器的情况时,
UNORDERED(1)
应该会提供更好的性能。
响应模式
FIX API 允许单个账户的多个并发会话(参见 连接限制)。
默认情况 下,所有会话将接收该账户的所有成功 ExecutionReport<8>
和 ListStatus<N>
消息。这被称为 ExecutionReport
推送。
用户可以在初始消息 Logon<A>
中使用 ResponseMode (25036)
字段来改变这种行为。
EVERYTHING(1)
: 默认模式。ONLY_ACKS(2)
: 无论操作成功还是失败,都只接收 ACK 消息。禁用ExecutionReport
推送。
如何签署 Logon<A>
请求
Logon<A>
消息用于验证您与 FIX API 的连接。
这条消息必须是客户端发送的第一条消息。
Username (553)
字段必须包含 API key。RawData (96)
字段必须包含使用 API key 生成的有效签名。
签名 payload 是一个文本字符串。该字符串通过按以下所列顺序去连接下列字段来构成, 并且以 SOH 字符作为分隔符:
MsgType (35)
SenderCompId (49)
TargetCompId (56)
MsgSeqNum (34)
SendingTime (52)
请使用您的密钥签署 payload。请使用 base64 对签名进行编码。
生成的文本字符串是 RawData (96)
字段的值。