EMT API ver: 2.23.1
|
OnDisconnected()
断线通知;自动重连成功后,API将回调OnConnected()
连接成功通知。OnDisconnected()
方法将被调用;API内部支持自动重连机制,此接口仅用做断线通知,需要快速返回,用户无需在此函数中做特殊处理。系统告警信息如下:
此问题原因是您当前使用的用户无lshw命令权限,请首先使用root用户安装lshw命令,再visudo配置sudo权限(或修改/etc/sudoers),如下以test用户为例进行配置:
msvcp140.dll
、vcruntime140.dll
、vcruntime140_1.dll
,放置于emt_api.dll同级目录下后再次运行程序;该vc运行库也可联系EMT技术支持人员获取。SetHeartBeatInterval()
,可选择不调用,或设置为5s到15s内任意值。req_count
为单页请求记录数,限制为200条之内,reference
为上一次收到的分页查询结果中带回来的索引号,如您本次是从头查询,请传0;sequence
为0,表明当次查询没有查到任何记录;当is_last
为true时,如果sequence
等于req_count
,表示可能还有后续结果,可以进行下一次分页查询请求,如果不等,表示所有结果已经查询完毕;一个查询请求可能对应多个响应,需要快速返回,否则会堵塞后续消息。OnOrderEvent()
方法,该方法可能收到以下6种订单状态:订单初始化、已报未成交、全部成交、部分撤单、全部撤单、拒单;订单的部分成交状态仅通过OnTradeEvent()
方法回调。InsertOrder()
下单接口同步返回的订单编号在先,OnOrderEvent()
订单推送在后。SetCpuAffinity()
为将API内部处理线程绑核,可通过top -Hp pid
查看线程绑核情况,并确保该方法在Login前调用。OnOrderEvent()
、OnTradeEvent()
、OnCancelOrderError()
等可能由另一内部线程回调。CreateQuoteApi()
创建行情API实例时要保证其参数data_type值与账号权限一致:QueryAllTickers() / QueryAllTickersFullInfo()
调用频率为8s~10s一次;QueryLatestInfo() / QueryTickersPriceInfo() / QueryMinuteInfo() / QueryMinHistoryInfo()
调用频率为1s~3s一次;CreateTraderApi()
创建交易API实例时可选择日志等级,交易API日志不会产生控制台输出。CreateQuoteApi()
创建行情API实例时可选择日志等级,日志等级对控制台输出及日志文件均有影响。OnOrderEvent()
回调EMTOrderInfo
中的order_submit_status
提交状态来判断,也可使用order_cancel_emt_id
非0来判断。OnTradeEvent()
回调EMTTradeReport
中的exec_id
交易所成交编号来唯一标识一笔成交,当发现存在两笔成交回报exec_id
相同,则为自成交。request_id
完全由用户自定义,请求中填写的request_id
会在对应的应答回调方法中原样带回。GetClientIDByEMTID()
方法获取该笔订单下单的客户端id,由于不同端client_id
各不相同,可用此方法过滤本端自己的订单。此方法为同步返回。CancelOrder()
接口需传入InsertOrder()
返回的系统订单编号order_emt_id
(当日保证全局唯一),请检查撤单接口传入的订单号是否为该编号,并检查接收InsertOrder()
返回值的字段类型定义应为uint64_t
而不是int32_t
或uint32_t
,否则赋值将被截断。InsertOrder()
入参中的position_effect
开平标志,两融委托时开平标志应填EMT_POSITION_EFFECT_INIT
。InsertOrder()
入参中的business_type
业务类型,两融委托时业务类型应填EMT_BUSINESS_TYPE_MARGIN
。