mq软件内 在tick模式下 当条件满足记录这条数据 (文华财经wh9)

投资者咨询:mq软件内 在tick模式下 当条件满足记录这条数据 (文华财经wh9)
来源:文华财经  日期:2019-7-29 0:22
mq软件内 在tick模式下 当条件满足记录这条数据。等下一步计算要引用。用什么函数?记录这个k线的所有相关数据。我原想是记录这个k线是哪一根的,等下引用
技术人员回复
日期:2019-7-29 8:11

是要引用最近一次满足某条件的K线的数据?

 

例如引用最近满足COND的K线的收盘价,参考:

 

 

ValueWhen(COND,Close);

投资者咨询:mq软件内 在tick模式下 当条件满足记录这条数据 (文华财经wh9)
来源:文华财经  日期:2019-7-29 0:22
 我的需求是这样 在tick模式下。判断该笔交易是否满足特定要求(比如多单  现手100手 增仓50手  )若满足 则记录1.
若又一个满足,则记录2。需要比较记录1和记录2时间的差,若时间差满足小于5秒,则开多。大概需求是如此。具体的更复杂一些。我的想法是用数组记录,然后对比数组之间的值。只是需要同时记录 现手 增仓 时间。需要一个二维数组。貌似mq不支持二维数组,我就是只记录是哪一个tick线,然后读取tick线的值就行。
技术人员回复
日期:2019-7-29 13:10

参考下面写法:

 

N=Ref(Time,SumBars(条件,1)-1)-Ref(Time,SumBars(条件,2)-1);

投资者咨询:mq软件内 在tick模式下 当条件满足记录这条数据 (文华财经wh9)
来源:文华财经  日期:2019-7-29 0:22
 我觉得您这么写有点问题。time上面写的HHMMSS。应该是精确到秒。然后tick线1秒就有二根。
我目前采用的方法是用一个NumericSeries记录N。每一个tick线出线就+1.若满足条件则用数组记录这个N数字。
然后用N换算成时间。但又遇到问题,( �s□�t )。
tick线应该是1秒2根。应该从21:00点到23:30 然后从上午9点到10:15 然后 10:30到11:30.应该是150分+135分=285.换算成秒应该是17100换算成tick线应该是 34200根。但是我测试的图显示是43057根线。不知道错在哪
技术人员回复
日期:2019-7-29 13:48

 不建议您这么换算,每秒是1~2笔tick不等,不一定都是2笔,无法根据笔数来确定时间

 

并且不同交易所的频率也不同,可能是1~2笔,也可能是2~4笔

 

或者直接用笔数来作为条件,是最准确的,您考虑下