-3是每秒发送请求数超过许可数?mt5安装软件更众请看MT5Future:MT5 EA买卖期货2-期货与外汇买卖机制。

  时价单报单时不指订价钱,让买卖所自行成交,即是做众无论众贵都买,做空无论众低贱都卖,不管价钱上下只求成交。

  例如说日内买卖者正在商场收盘前会报时价单平掉当天仓位, 又或者当仓位亏蚀后报时价单平仓止损。

  时价单不是每个期货买卖所都增援,对付不增援的买卖所咱们能够用涨停跌停价钱报限价单完成时价单效益。更众请看MT5Future:MT5 EA买卖期货15-限价单涨停跌停价完成时价单

  EA获取目前图外的合约。对付非主连接约如rb2209能够通过Symbol()属性获取目前图外的合约,但对付主连接约如rb9999,则必要通过SYMBOL_ISIN属性获取主连接约现正在对应的合约(rb2301),当主连接约rb9999跟着时代产生换月后,通过SYMBOL_ISIN属性获得的合约就会自愿变为rb2305。行使后者的写法能够让EA正在主连接约和非主连接约的图外上都能获取目前图外的合约。

  通过SYMBOL_EXCHANGE属性获取该合约对应的买卖所, 如获取rb2301所属的买卖所SHFE即上期所。

  通过SYMBOL_DIGITS属性获取该合约报价的小数后位数,如螺纹钢是0,股指是1。

  挪用mt5ctp.dll的接口函数getOrderRefCTP天生EA报单编号并保留正在eaOrderRef变量,CTP对报单编号式子有轨则,不行像外汇EA的魔术号码可恣意自行指定, 不然报单会曲折,因而EA需先挪用getOrderRefCTP函数天生EA报单编号再报单。

  上期所、能源中央和中金所不增援时价单,因而倘使是这些买卖所的合约用当天涨停价报限价单完成时价单功用。

  大商所和郑商所增援时价单,倘使是这些买卖所的合约挪用mt5ctp.dll的接口函数sendOrderMarket时价单。

  挪用mt5ctp.dll的接口函数sendOrderLimit用当天涨停价报限价单,此中第一个参数是合约,第二个参数是mt5ctp.mqh头文献中界说的列举ENUM_CTP_BUY_ORDER(代外众单),第三个参数是mt5ctp.mqh头文献中界说的列举ENUM_CTP_OPEN_POSITION(代外开仓),第四个参数是报单的价钱(涨停价),第五个参数是报单的手数,第六个参数是EA报单编号,第七个参数是mt5ctp.mqh头文献中界说的列举ENUM_CTP_ACCOUNT_SPECULATION(代外开户的期货账号是投契)。

  sendOrderLimit函数挪用后会同步返回当地电脑发送报单苦求的结果,0是当地电脑向买卖所凯旋发送报单,-1是搜集联贯曲折,-2是未执掌苦求突出许可数,-3是每秒发送苦求数突出许可数。但纵然sendOrderLimit函数返回0(只是竣工了下图中的1和2),也不代外仍旧凯旋正在买卖所挂单,还必要等候买卖所异步返回对EA报单的联合结果即报单回妥协成交回调(下图中的3)。更众请看MT5 EA买卖期货8-买卖所异步回调。

  MT5通过mt5ctp.dll获得买卖所的各类回调(如报单回调,成交回调,撤单回调,失误回调,仓位回调,资金回调),之后会把这些回调动作图外事变发送给十足图外,EA 通过MQL图外事变反映函数OnChartEvent获得这些回调(即下图中的4)。

  成交10秒之后报时价单平仓,挪用mt5ctp.dll的接口函数getOrderRefCTP天生EA报单编号并保留正在eaOrderRef变量,CTP对报单编号式子有轨则,不行像外汇EA的魔术号码可恣意自行指定, 不然报单会曲折,因而EA需先挪用getOrderRefCTP函数天生EA报单编号再报单。

  上期所、能源中央和中金所没有时价单,因而这些买卖所的合约用目前跌停价报限价单完成时价单功用。

  EA报单后通过mt5ctp.dll获得买卖所对该报单联合的结果即报单回调,然后mt5ctp.dll会把该报单回调动作图外事变发送给十足图外,EA 通过MQL图外事变反映函数OnChartEvent获得该报单的结果。

  EA通过OnChartEvent函数的sparam参数获取图外事变中的买卖所报单回调。

  EA通过OnChartEvent函数的sparam参数获取图外事变中的买卖所报单回调。把sparam对应的字符串按逗号拆分后保留到字符数组chartEvents[]。

  由于正在OnChartEvent函数中ID是3000的事变征求了各类的买卖所回调(如报单回调,成交回调,撤单回调,失误回调,仓位回调,资金回调), 因而EA必要先凭据chartEvents[0]=OnRtnOrder寻得此中的报单回调。

  chartEvents数组的第4个元素是EA报单编号。倘使有众个EA同时正在差别的图外上运转并报单,本图外的OnChartEvent也会回收到其他图外上的EA出现的报单回调,之前仍旧天生并记载了EA报单编号正在eaOrderRef变量中,因而唯有报单回调中的EA报单编号等于eaOrderRef变量才是本EA的本次报单回调(效用相同于外汇EA中的魔术号码)。

  获取报单回调中的CTP报单编号、报单做众或做空、报单开仓或平仓、报单的价钱、报单的手数,报单的成交手数,报单时代,报单的撤单时代和买卖所对此次报单的联合结果。

  EA报单后买卖所除了发送报单回调以外,倘使成交了紧接着还会发送成交回调,然后mt5ctp.dll会把该报单回调动作图外事变发送给十足图外,EA 通过MQL图外事变反映函数OnChartEvent获得该报单的成交回调。

  chartEvents数组的第4个元素是EA报单编号。倘使有众个EA同时正在差别的图外上运转并报单,本图外的OnChartEvent也会回收到其他图外上的EA报单后出现的成交回调,eaOrderRef变量仍旧记载了本次的报单编号,因而成交回调中的EA报单编号等于该变量才是本EA的本次报单的成交回调(效用相同于外汇EA中的魔术号码)。

  遍历chartEvents数组,取出成交回调中的买卖所、合约、CTP报单编号、CTP成交编号、报单做众或是做空,报单开仓或者平仓,报单成交价钱,报单成交手数,报单成交时代,并算计EA仓位。