投资者咨询:咨询MQ撤单问题 (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-8-31 9:18
想咨询几个mq的执行细节问题,从其他平台转过来
2、比如图表第100根bar 符合条件condition=c>o 然后这根bar的H=4000 ,然后在 第101根我的语句是 if (condition[1])( buy(1,max(open,h[1]+2)) )
这个涉及到极端执行细节问题,麻烦客服确认下
技术人员回复
日期:2018-8-31 9:37
问题1:
K线走完是以下一根K线第一笔TICK来判断的
问题2:
MQ软件默认盘中满足IF条件就立即执行
if (condition[1])( buy(1,max(open,h[1]+2)) ) 这个开仓语句执行的条件仅condition[1]
max(open,h[1]+2)这个部分仅控制委托价格,所以在101不需要满足价格达到4002
而是在看盘第一笔 TICK判断上一根K线满足condition就立即以max(open,h[1]+2),MAX中两个价格中的最大值发出委托
投资者咨询:咨询MQ撤单问题 (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-8-31 9:18
是否误解了我的意思 , 我说的类似停损指令的情况,要盘中大于指定价格才发单,否则本地等待,可能这是别的平台的写法有误解,先不纠结,
技术人员回复
日期:2018-8-31 10:10
不需要一直等到“10个tick的价格才大于等于4002”,您的语句开仓条件只有上一根K线满足condition
所以在当根k线第一笔TICK就判断满足了,就会立即执行的
投资者咨询:咨询MQ撤单问题 (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-8-31 9:18
是否误解了我的意思 , 我说的类似停损指令的情况,要盘中大于指定价格才发单,否则本地等待,可能这是别的平台的写法有误解,先不纠结语句表达,
技术人员回复
日期:2018-8-31 10:16
那么首先需要修改一下语句的编写,if (condition[1] && CLOSE>4002)( buy(1,max(open,h[1]+2)) )
然后,因为4002是开仓的判断条件所以必须要一直等到某一笔TICK价格大于4002才会委托
如果这样的编写下,到102当根因为101不满足condition,也就是不满足开仓条件condition[1]
即使价格大于4002也是不会出信号的
投资者咨询:咨询MQ撤单问题 (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-8-31 9:18
如果按照你的讲解,是否 if (condition[1] && h>=4002)( buy(1,max(open,h[1]+2)) ) 比if (condition[1] && CLOSE>4002)( buy(1,max(open,h[1]+2)) )更严谨呢
技术人员回复
日期:2018-8-31 10:36
不会的,MQ软件默认出信号立即下单
CLOSE函数在盘中返回的是最新价,所以盘中最新价大于4002就会立即委托
投资者咨询:咨询MQ撤单问题 (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-8-31 9:18
那这个代码回测应该不行了,另外盘中的话我得那个用high来表达有问题吗
技术人员回复
日期:2018-8-31 10:46
没有问题,盘中这样编写与使用CLOSE效果是一样的