注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

fix协议中消息尾校验方法  

2016-05-31 15:13:33|  分类: 经济学 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
fix协议的每一条消息都分为三部分,
即:消息头,消息内容,消息尾

消息头和消息尾

FIX 协议每个消息都包括标准消息头和标准消息尾。在标准消息头和标准消息尾中间的是消息体。消息的类型在标准消息头中标签信息类型35=

标准消息头#

下边是btcc的专业交易消息头
标签名称数据类型必选?注释
8BeginStringString'FIX.4.4'.
9BodyLengthlength消息长度的字节数. 永远在整条消息的第二个字段(不加密).
35MsgTypeString代表消息类型
34MsgSeqNumSeqNum整型消息序列号.
49SenderCompIDString您的访问秘钥.
52SendingTimeUTCTimestamp消息发送时间, UTC时间(世界标准时间, 也称作 'GMT').
56TargetCompIDString'BTCC-PRO-EXCHANGE-SERVER'.

消息头有第一个标签一般情况下都是8,表示消息使用的fix协议版本.接着9标签表示消息内容长度的字节数,第三个标签,消息类型,分为"A","U",等不同类型,"A"类型为登陆消息,"U"类型一般表示自定义消息类型.

标准消息尾#

标签名称数据类型必选?注释
10CheckSumString三个字节的校验码
btcc的专业交易标准消息尾只有一个三字节的消息效验码。

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'类型)用来请求用户账户余额信息。
标签名称数据类型必选?注释
35MsgTypeString'U1000'.
1AccountString经过秘钥加密后的字符串
8000AccReqIDString客户端请求的唯一标识ID.
9263SubAccountInfoRequestTypeChar值是‘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'类型)消息给客户端。

标签名称类型必选?注释
35MsgTypeString'U2001'.
1AccountStringYes经过秘钥加密后的字符串.
8000AccReqIDStringYes和请求传过来的AccReqID一样
8002UserIDIntYes用户 id .
8003SumOfDepositDoubleYes充值总和
8004CashDoubleYes现金
8005TotalProfitDoubleYes总盈亏
8006TotalSizeDoubleYes总量
8007TotalInitMarginRequiredDoubleYes总共必须的初始保证金
8009TotalMaintenanceMarginRequiredDoubleYes总共必须的维持保证金
8010UsableMarginDoubleYes可用的保证金
8011RemainEquityDoubleYes保留的仓位
9001ContractListNUMINGROUPYes合约数量
55SymbolStringYes标示 ,“XBTCNY”或“XBTUSD”
8012TotalSellSizeDoubleNo总卖量
8013TotalBuySizeDoubleNo总买量
8014OpenPositionDoubleYes持仓数量
6AvgPxDoubleYes平均价格
8015ProfitDoubleYes收益
8016MarketValueDoubleYes市场价
8017UnchargedFeeDoubleYes待收手续费
8018InitMarginRequiredDoubleYes需要的初始保证金
8019MaintenanceMarginRequiredDoubleYes需要的维持保证金
8020InitMarginFactorDoubleYes初始保证金比例
8021MaintenanceMarginFactorDoubleYes维持保证金比例

账户信息查询响应消息样本#

服务器返回的账户信息查询响应消息样本:

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

  评论这张
 
阅读(171)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017