国外期货程序化交易之报单流程讲解

0:00:00 2018年8月1日 by:

      陌生期货和约组成顺序,本SDK的二次开发,本郑州的Yisheng,经过行使复杂买卖API来遵守买卖方言。全面衡量,这是一家公司发布的新闻的SDK。,故,买卖API的设计风骨与求婚根本使相等。,行使逻辑也根本分歧。。编辑加密时,需求处置同一的人事物的两个方面。,第一是打电话者,收回所请求的事物,另第一是回调方。,答辩所请求的事物,喂也不这事了。。整数上讲,商务开展的审阅短距离有趣。,更多的事实要处置。头发送的首要用途是:、、及,静态库为:。上面是流程图和稍微加密示例:

       1. 找到TapAPI范例:

  1. IEsunnyTradeApi *pTradeApi = CreateEsunnyForeignTradeApi(szCertInfo, &result, szLogFilePath, szAppId);  
  2. if (pTradeApi == NULL)  
  3. {  
  4.     LOG_INFO << 找到商务API取消法令费的范例,失误码:” << result;  
  5.     return;  
  6. }  

       经过行使CreateEsunnyForeignTradeApi()找到api范例——pTradeApi,当时的行使范例来启动各式各样的所请求的事物。,比如,衔接维修、用户登录、报单、撤单、查询仓库栈、查问钱等。

       2. 找到第一TAPI API回调范例:

  1. EsunnyTradeSpi *pTradeSpi = new EsunnyTradeSpi(pTradeApi, this);  

       这需求为本人编辑相配的实施类。,该类需求承受易想要的iESunnTraseSPI类。。重写该类外面的方式,从SEIN维修中处置各式各样的知识。

       3. 关系上级的两个示例,启动衔接维修和用户登录:

  1. pTradeApi->SetSpi(pTradeSpi);  
  2. pTradeSpi->connect(serverAddr, port, username,密电码)

       衔接加密的维修部件:

  1. void EsunnyTradeSpi::connect(string serverAddr, uint16_t port, string username,字母串密电码
  2. {  
  3.       
  4.     serverAddr_ = serverAddr;  
  5.     port_ = port;  
  6.     username_ = username;  
  7.     password_ = password;  
  8.   
  9.       
  10.     TEsAddressField addrField;  
  11.     strcpy(, ());  
  12.      = port_;  
  13.     bool ret = (pTradeApi_ != NULL) ? pTradeApi_->Open(addrField) : false;  
  14.     if (!RET)
  15.     {  
  16.         LOG_INFO << username_ << 所请求的事物:衔接维修失误 << Err_Unknown;  
  17.     }  
  18. }  

       所请求的事物发送后,OnOpen()将回调以答辩是你这么说的嘛!所请求的事物,用户登录逻辑可以在OnOPEN()职务中写。,行使pRealAppi> >登录()后启动登录,OnLogin()及OnInitFinished()会以次答辩是你这么说的嘛!所请求的事物,思考归还的通牒,可以决定条件遵守登录。,API条件设定初值。一旦出错,还将有相配的失误加密归还。,思路敏捷的搜索成绩。

  1. void __cdecl EsunnyTradeSpi::OnOpen()  
  2. {  
  3. }  
  4.   
  5. void __cdecl EsunnyTradeSpi::OnLogin(const TEsLoginRspField *rsp, int errCode, const int iReqID)  
  6. {  
  7. }  
  8.   
  9. void __cdecl EsunnyTradeSpi::OnInitFinished(int errCode)  
  10. {  
  11. }  

       4. 期货报单:

      预告逻辑应是全部买卖系统的核部件。方言首要关涉以下功用,从ON开端的职务是从iESunnTrutsPPI类承受的。,需求显像剂重写:

       (1)OrderInsert():报单所请求的事物

  1. TEsOrderInsertReqField reqField;  
  2. memset(&reqField, 0, sizeof(TEsOrderInsertReqField));  
  3. ……  
  4. ……  
  5. pTradeApi_->OrderInsert(reqField,ReqID)

       少量的日志参量,需求右边填写事情/展出、翻开/翻开仓库栈、市价/价钱限度局限、付托数目、付托价钱等。这需求查询文档和易胜的示例演示。,OrderInsert()方言可以在遵守编辑后行使。。

       (2)OnRspOrderInsert():报单所请求的事物应对

  1. void __cdecl EsunnyTradeSpi::OnRspOrderInsert(const TEsOrderInsertRspField *rsp, int errCode, const int iReqID)  
  2. {  
  3. }  

       方言成后,职务将回调,将明确的通牒任命的成,开发人员容易的处置事情逻辑。。

       (3)OnRtnOrderState():付托变动通牒

  1. void __cdecl EsunnyTradeSpi::OnRtnOrderState(const TEsOrderStateNoticeField &rsp)  
  2. {  
  3. }  

       当付托的使习惯于零钱时,将回调。一般而言,付托的首要使习惯于首要是付托。:在排队、部件买卖、完整成交,一次报单,也许数目更多,通常过失所相当买卖都是用后就抛弃的遵守的。,但有很一炉的买卖,因而职务会不竭回调。

       (4)OnRtnMatchState():转变通牒

  1. void __cdecl EsunnyTradeSpi::OnRtnMatchState(const TEsMatchStateNoticeField &rsp)  
  2. {  
  3. }  

       感触职务反复(5),因而我在处置它,在职务(5)中直线行使职务,不要写这样的逻辑。

       (5)OnRtnMatchInfo():买卖通牒变动通牒书

  1. void __cdecl EsunnyTradeSpi::OnRtnMatchInfo(const TEsMatchInfoNoticeField &rsp)  
  2. {  
  3. }  

       这事功用更要紧,归还的每个音讯都是事务通牒。,它克制大部分、成交价、买卖成本等,这些是包围者愿意的知识。。总体来说,ONRSP开端时的职务都是,ONRTN的初始功用是维修的操纵推进运动通牒功用。。需求理睬的少许,Yisheng限度局限方言的频率,普通期货解释,方言的频率为10单/秒。,故,在编辑CO时,需求编辑票据流把持逻辑。。

       5. 期货记述安置查询:

       查询仓库栈首要行使pTradeApi_->QryHold(),思考发送填写拨的参量。查询仓库栈答辩职务为:

  1. void __cdecl EsunnyTradeSpi::OnQryHold(const TEsHoldQryRspField *rsp, TEsIsLastType islast, int errCode, const int iReqID)  
  2. {  
  3. }  

       这事功用需求由开发人员本人来重写。,故障的是,知识不熟练的一起归还。,只数组补偿,你需求对本人的计算做第一总结。。

       6. 期货记述资产查询:

      查询基金首要高价地PrasePisi-Q>,思考发送填写拨的参量。查询基金答辩职务:

  1. void __cdecl EsunnyTradeSpi::OnQryMoney(const TEsMoneyQryRspField *rsp, TEsIsLastType islast, int errCode, const int iReqID)  
  2. {  
  3. }  

       同一,这事功用需求由显像剂本人来重写。,这比拟复杂。,一次归还账号通牒,如:可获得的资产、现钱、近来的钱、经纪费、记述交易费等。

       编辑完加密,怎样受考验顺序?罚款。,可到Yisheng行政官员用网覆盖()登记簿买卖受考验记述,登记簿成后账号内现存的100万,这容许您受考验翻开和翻开仓库栈。。这正确的稍微根本容易搬运,宁静容易搬运需求反省API文档并写相配的。同一,实时买卖顺序必须做的事高效不变,因而你不克不及没遇到无论哪些求婚。,一旦涌现买卖记号,即时遵守仓库栈的开合任务,进项最大值化。捎带说一下,捎带说一下,易胜的境外盘买卖名人是一种套期保值机制,比如,同时,单独地单独地空表,复杂买卖系统套期保值后,确实,这过失一份方言。。故,当多人同时运用同一的人解释时,确实,你可以先写对冲池。,换句话说,当同一的人物种在期货记述下时,它将是DECL。,这可以推动取消法令买卖费。。

       参考资料:

>>我想说两句

告诉我你的想法... , 如果你想在评论中显示自定义头像, 请点击 gravatar!

注意:广告、垃圾评论、灌水请绕行。