: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

使用Matlab进行国内期货交易 作者:伍侃 part2

使用Matlab进行国内期货交易 作者:伍侃 part2

  1. 下单接口比较复杂,我们这在登录后立即发送一单

  2. 状态为已确认后,开始可以下单。



  3. 第一个参数是合约名,区分大小写,如果不清楚合约名可以查看快期软件中的“合约列表”。

  4. 第二个参数是买卖标记,只有两种选择,买/卖。

  5. 第三个参数是组合开平标记,第四个参数是组合投机套保标记。

  6. 组合开平标记和组合投机套保标记的写法有些特别,CTP支持组合单,组合单至少由两腿组成,如何区分每腿的开平与投保呢?那就是用的组合开平与组合投保了,第一个字符就标记的第一腿,第二个字符标示的第二腿,以此类推。



  7. /////////////////////////////////////////////////////////////////////////
  8. ///TFtdcOffsetFlagType是一个开平标志类型
  9. /////////////////////////////////////////////////////////////////////////
  10. ///开仓
  11. #define THOST_FTDC_OF_Open '0'
  12. ///平仓
  13. #define THOST_FTDC_OF_Close '1'
  14. ///强平
  15. #define THOST_FTDC_OF_ForceClose '2'
  16. ///平今
  17. #define THOST_FTDC_OF_CloseToday '3'
  18. ///平昨
  19. #define THOST_FTDC_OF_CloseYesterday '4'
  20. ///强减
  21. #define THOST_FTDC_OF_ForceOff '5'
  22. ///本地强平
  23. #define THOST_FTDC_OF_LocalForceClose '6'

  24. typedef char TThostFtdcOffsetFlagType;


  25. /////////////////////////////////////////////////////////////////////////
  26. ///TFtdcHedgeFlagType是一个投机套保标志类型
  27. /////////////////////////////////////////////////////////////////////////
  28. ///投机
  29. #define THOST_FTDC_HF_Speculation '1'
  30. ///套利
  31. #define THOST_FTDC_HF_Arbitrage '2'
  32. ///套保
  33. #define THOST_FTDC_HF_Hedge '3'

  34. typedef char TThostFtdcHedgeFlagType;


  35. 目前普通客户开通的账户只能下投机,所以第四个参数直接使用"11"最省事。

  36. 而第三个参数使用起来比较麻烦,因为上交所专门区分了平今与平昨,使用错了会提示平仓数不足。

  37. 第六个参数是价格,价格必需是最小价格变动单位的整数倍,不能超过涨跌停价

  38. 第七个参数是价格类型,接口预留了大量的类型,但交易所只部分支持,目前仅使用两种价格类型即可,限价与市价,上海不支持市价单,中金股指两个远月不支持市价。



  39. /////////////////////////////////////////////////////////////////////////
  40. ///TFtdcOrderPriceTypeType是一个报单价格条件类型
  41. /////////////////////////////////////////////////////////////////////////
  42. ///任意价
  43. #define THOST_FTDC_OPT_AnyPrice '1'
  44. ///限价
  45. #define THOST_FTDC_OPT_LimitPrice '2'
  46. ///最优价
  47. #define THOST_FTDC_OPT_BestPrice '3'
  48. ///最新价
  49. #define THOST_FTDC_OPT_LastPrice '4'
  50. ///最新价浮动上浮1个ticks
  51. #define THOST_FTDC_OPT_LastPricePlusOneTicks '5'
  52. ///最新价浮动上浮2个ticks
  53. #define THOST_FTDC_OPT_LastPricePlusTwoTicks '6'
  54. ///最新价浮动上浮3个ticks
  55. #define THOST_FTDC_OPT_LastPricePlusThreeTicks '7'
  56. ///卖一价
  57. #define THOST_FTDC_OPT_AskPrice1 '8'
  58. ///卖一价浮动上浮1个ticks
  59. #define THOST_FTDC_OPT_AskPrice1PlusOneTicks '9'
  60. ///卖一价浮动上浮2个ticks
  61. #define THOST_FTDC_OPT_AskPrice1PlusTwoTicks 'A'
  62. ///卖一价浮动上浮3个ticks
  63. #define THOST_FTDC_OPT_AskPrice1PlusThreeTicks 'B'
  64. ///买一价
  65. #define THOST_FTDC_OPT_BidPrice1 'C'
  66. ///买一价浮动上浮1个ticks
  67. #define THOST_FTDC_OPT_BidPrice1PlusOneTicks 'D'
  68. ///买一价浮动上浮2个ticks
  69. #define THOST_FTDC_OPT_BidPrice1PlusTwoTicks 'E'
  70. ///买一价浮动上浮3个ticks
  71. #define THOST_FTDC_OPT_BidPrice1PlusThreeTicks 'F'

  72. typedef char TThostFtdcOrderPriceTypeType;


  73. 第八个参数是时间类型,根据国内交易所的情况,目前支持GFD,IOC

  74. 第九、十参数是条件单使用,首先大商所支持止盈止损单,郑商所支持止损单。

  75. /////////////////////////////////////////////////////////////////////////
  76. ///TFtdcContingentConditionType是一个触发条件类型
  77. /////////////////////////////////////////////////////////////////////////
  78. ///立即
  79. #define THOST_FTDC_CC_Immediately '1'
  80. ///止损
  81. #define THOST_FTDC_CC_Touch '2'
  82. ///止赢
  83. #define THOST_FTDC_CC_TouchProfit '3'
  84. ///预埋单
  85. #define THOST_FTDC_CC_ParkedOrder '4'
  86. ///最新价大于条件价
  87. #define THOST_FTDC_CC_LastPriceGreaterThanStopPrice '5'
  88. ///最新价大于等于条件价
  89. #define THOST_FTDC_CC_LastPriceGreaterEqualStopPrice '6'
  90. ///最新价小于条件价
  91. #define THOST_FTDC_CC_LastPriceLesserThanStopPrice '7'
  92. ///最新价小于等于条件价
  93. #define THOST_FTDC_CC_LastPriceLesserEqualStopPrice '8'
  94. ///卖一价大于条件价
  95. #define THOST_FTDC_CC_AskPriceGreaterThanStopPrice '9'
  96. ///卖一价大于等于条件价
  97. #define THOST_FTDC_CC_AskPriceGreaterEqualStopPrice 'A'
  98. ///卖一价小于条件价
  99. #define THOST_FTDC_CC_AskPriceLesserThanStopPrice 'B'
  100. ///卖一价小于等于条件价
  101. #define THOST_FTDC_CC_AskPriceLesserEqualStopPrice 'C'
  102. ///买一价大于条件价
  103. #define THOST_FTDC_CC_BidPriceGreaterThanStopPrice 'D'
  104. ///买一价大于等于条件价
  105. #define THOST_FTDC_CC_BidPriceGreaterEqualStopPrice 'E'
  106. ///买一价小于条件价
  107. #define THOST_FTDC_CC_BidPriceLesserThanStopPrice 'F'
  108. ///买一价小于等于条件价
  109. #define THOST_FTDC_CC_BidPriceLesserEqualStopPrice 'H'

  110. typedef char TThostFtdcContingentConditionType;


  111. 使用Immediately时即普通报单,使用LastPriceGreaterThanStopPrice一类的将按第十个参数的止损价进行触发。



  112. SendOrder是有返回值的,就是当前会话的第几个委托。



  113. 此报单指令还是很复杂,实盘中使用肯定过于繁琐,

  114. 建议用户在Matlab层再封一次,可行的封装方式有:

  115. Buy/Sell,仅记录净持仓
  116. OpenLong/CloseLong、OpenShort/CloseShort,区分了双向持仓
  117. SetPostion,不管操作,只在乎最后持仓
  118. ……


  119. 每个单子在报出后都会有委托回报,在OnRtnOrder中将单子记录下来,就可以进行撤单了

  120. function OnRtnOrder(sender,arg)
  121. % 委托回报

  122. % 打印内容
  123. disp(arg)

  124. % 在某种情况下撤单,自己考虑各条件
  125. %if arg.pOrder.VolumeTotal>2
  126.     global td;
  127.     % 撤单
  128.     td.CancelOrder(arg.pOrder);
  129. %end

  130. end


  131. 实际上,实盘中还有更多的工作要做

  132. OnRspOrderInsert:当报单在期货公司前置机参数检测出错时返回,如资金不足等

  133. OnErrRspOrderInset:交易所报单出错时返回,如不支持的交易指令等

  134. OnRspOrderAction:当撤单在期货公司前置机参数校验出错时返回,如找不到报单

  135. OnErrRspOrderAction:交易所撤单出错时返回,如报单已经成交等

  136. 第九节 Matlab对接证券
  137. 证券接口开放性就有些不够了,金证、金仕达、恒生、根网、顶点都有证券柜台,但接口都不向外公开。只有国信证券向公众提供了FIX接口.2012年下半年,上期技术又打破平静,推出了CTP证券接口,特别是证券与期货接口仅仅是类型定义有所区别。直接可以将期货的代码略做修改移动到证券。

  138. 直接看项目https://github.com/QuantBox/CTPZQ/tree/master/CSharp-CTPZQ即可。
复制代码

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表