fix协议的每一条消息都分为三部分,
即:消息头,消息内容,消息尾
下边是btcc的专业交易消息头
| 标签 | 名称 | 数据类型 | 必选? | 注释 |
|---|---|---|---|---|
| 8 | BeginString | String | 是 | 'FIX.4.4'. |
| 9 | BodyLength | length | 是 | 消息长度的字节数. 永远在整条消息的第二个字段(不加密). |
| 35 | MsgType | String | 是 | 代表消息类型 |
| 34 | MsgSeqNum | SeqNum | 是 | 整型消息序列号. |
| 49 | SenderCompID | String | 是 | 您的访问秘钥. |
| 52 | SendingTime | UTCTimestamp | 是 | 消息发送时间, UTC时间(世界标准时间, 也称作 'GMT'). |
| 56 | TargetCompID | String | 是 | 'BTCC-PRO-EXCHANGE-SERVER'. |
消息头有第一个标签一般情况下都是8,表示消息使用的fix协议版本.接着9标签表示消息内容长度的字节数,第三个标签,消息类型,分为"A","U",等不同类型,"A"类型为登陆消息,"U"类型一般表示自定义消息类型.
标准消息尾#
| 标签 | 名称 | 数据类型 | 必选? | 注释 |
|---|---|---|---|---|
| 10 | CheckSum | String | 是 | 三个字节的校验码 |
char *GenerateCheckSum( char *buf, long bufLen )
{
static char tmpBuf[ 4 ]; long idx;
unsigned int cks;
for( idx = 0L, cks = 0; idx < bufLen; cks += (unsigned int)buf[ idx++ ] ); sprintf( tmpBuf, “%03d”, (unsigned int)( cks % 256 ) );
return( tmpBuf );
}
账户信息查询请求--Account Info Request (U1000)#
账户信息查询请求消息('U1000'类型)用来请求用户账户余额信息。
| 标签 | 名称 | 数据类型 | 必选? | 注释 |
|---|---|---|---|---|
| 35 | MsgType | String | 是 | 'U1000'. |
| 1 | Account | String | 是 | 经过秘钥加密后的字符串 |
| 8000 | AccReqID | String | 是 | 客户端请求的唯一标识ID. |
| 9263 | SubAccountInfoRequestType | Char | 否 | 值是‘0’或‘1’(BTCC自定义字段,如果想要使用推送功能,请参照selfFIX44.xml修改您的xml文件) |
账户信息查询请求消息样本#
注意:FIX消息是由一串”标签=数值”的字段表示的,它们之间的分隔符是SOH(0x01). SOH是不可见的字符,在下面的所有样本示例中,我们使用'|'代替SOH来分隔不同字段.
客户端发来的账户信息查询请求消息样本:
8=FIX.4.4 | 9=149 | 35=U1000 | 34=2 | 49=<ACCESS KEY>| 52=20150917-02:23:49.088 | 56=BTCC-PRO-EXCHANGE-SERVER | 1=1414580974252000:Basic YmQ2NzI4OTctMTA0ZC00OTRlLWE0ZjItMjI5N2M0ZjdlMTMxOmMzOTYyMTBkNWMyNDk1MjE4YzFkZThlYjczOWQzMjVlNTgyNjMzZmE= | 8000=3b0e8c02-1401-4316-a290-6341af439ce9 | 10=018 |
依据上述说明,这条消息表示:
BeginString: FIX.4.4
BodyLength: 149
MsgType: AccountInfoRequest (U1000)
MsgSeqNum: 2
SenderCompID: ACCESS KEY
SendingTime: 20150917-02:23:49.088
TargetCompID: BTCC-PRO-EXCHANGE-SERVER
Account: 经过秘钥加密后的字符串
AccReqID: 3b0e8c02-1401-4316-a290-6341af439ce9
CheckSum: 018
账户信息查询响应--User Account Info Response (U2001)#
成功收到用户发送的账户信息请求消息后,服务器会返回一个AccountInfoResponse ('U2001'类型)消息给客户端。
| 标签 | 名称 | 类型 | 必选? | 注释 |
|---|---|---|---|---|
| 35 | MsgType | String | 是 | 'U2001'. |
| 1 | Account | String | Yes | 经过秘钥加密后的字符串. |
| 8000 | AccReqID | String | Yes | 和请求传过来的AccReqID一样 |
| 8002 | UserID | Int | Yes | 用户 id . |
| 8003 | SumOfDeposit | Double | Yes | 充值总和 |
| 8004 | Cash | Double | Yes | 现金 |
| 8005 | TotalProfit | Double | Yes | 总盈亏 |
| 8006 | TotalSize | Double | Yes | 总量 |
| 8007 | TotalInitMarginRequired | Double | Yes | 总共必须的初始保证金 |
| 8009 | TotalMaintenanceMarginRequired | Double | Yes | 总共必须的维持保证金 |
| 8010 | UsableMargin | Double | Yes | 可用的保证金 |
| 8011 | RemainEquity | Double | Yes | 保留的仓位 |
| 9001 | ContractList | NUMINGROUP | Yes | 合约数量 |
| 55 | Symbol | String | Yes | 标示 ,“XBTCNY”或“XBTUSD” |
| 8012 | TotalSellSize | Double | No | 总卖量 |
| 8013 | TotalBuySize | Double | No | 总买量 |
| 8014 | OpenPosition | Double | Yes | 持仓数量 |
| 6 | AvgPx | Double | Yes | 平均价格 |
| 8015 | Profit | Double | Yes | 收益 |
| 8016 | MarketValue | Double | Yes | 市场价 |
| 8017 | UnchargedFee | Double | Yes | 待收手续费 |
| 8018 | InitMarginRequired | Double | Yes | 需要的初始保证金 |
| 8019 | MaintenanceMarginRequired | Double | Yes | 需要的维持保证金 |
| 8020 | InitMarginFactor | Double | Yes | 初始保证金比例 |
| 8021 | MaintenanceMarginFactor | Double | Yes | 维持保证金比例 |
账户信息查询响应消息样本#
服务器返回的账户信息查询响应消息样本:
8=FIX.4.4 | 9=421 | 35=U2001 | 34=2 | 49=BTCC-PRO-EXCHANGE-SERVER | 52=20150917-02:23:52.330 | 56=<ACCESS KEY> | 8000=3b0e8c02-1401-4316-a290-6341af439ce9 | 8002=93 | 8003=0 | 8004=99889.2 | 8005=112.7 | 8006=17 | 8007=1278.4 | 8009=421.12 | 8010=98722.75 | 8011=99580.03 | 9001=2 | 55=XBTCNY | 8012=0 | 8014=14 | 6=1495.95 | 8015=112.6 | 8016=21056 | 8017=0.75 | 8018=0 | 8019=0 | 8020=0.05 | 8021=0.02 | 55=XBTCNY| 8012=0 | 8014=0 | 6=0 | 8015=0 | 8016=0 | 8017=0 | 8018=0 | 8019=0 | 8020=0.05 | 8021=0.02 | 10=129 |
依据上述说明,这条消息表示:
BeginString: FIX.4.4
BodyLength: 421
MsgType: AccountInfoResponse (U2001)
MsgSeqNum: 2
SenderCompID: BTCC-PRO-EXCHANGE-SERVER
SendingTime: 20150917-02:23:52.330
TargetCompID: ACCESS KEY
AccReqID: 3b0e8c02-1401-4316-a290-6341af439ce9
UserID: 93
SumOfDeposit: 0
Cash: 99889.2
TotalProfit: 112.7
TotalSize: 17
TotalInitMarginRequired: 1278.4
TotalMaintenanceMarginRequired: 421.12
UsableMargin: 98722.75
RemainEquity: 99580.03
ContractList: 2
Symbol: XBTCNY
TotalSellSize: 0
OpenSize: 14
AvgPx: 1495.95
Profit: 112.6
MarketValue: 21056
UnchargedFee: 0.75
InitMarginRequired: 0
MaintenanceMarginRequired: 0
InitMarginFactor: 0.05
MaintenanceMarginFactor: 0.02
CheckSum: 129
本文介绍了FIX协议在专业交易中的应用,详细解析了账户信息查询请求及响应消息的结构,包括消息头、消息体和消息尾的具体字段及其含义。
2377

被折叠的 条评论
为什么被折叠?



