我想计算每秒的刻度数(或者价格变化)。不幸的是 MQL5 的ENUM_TIMEFRAMES只下降到 1 分钟。不过,这个指标证明了这是可能的,但如何呢?也许通过OnTimer 事件?
非常感谢您的回答!
我想计算每秒的刻度数(或者价格变化)。不幸的是 MQL5 的ENUM_TIMEFRAMES只下降到 1 分钟。不过,这个指标证明了这是可能的,但如何呢?也许通过OnTimer 事件?
非常感谢您的回答!
datetime
时间是自新计算机时代以来的秒数。如果你调用TimeCurrent()
它返回datetime
,它会给你整数。如果您在 0.1 秒内再次调用它,您将收到相同的整数(或相同+1)。指标可以计算 OnCalculate() 中的刻度数并与旧时间进行比较。像这样的东西:
datetime lastTime;
int ticksLastSecond;
OnCalculate(***){
if(TimeCurrent()>lastTime){
lastTime=TimeCurrent();ticksLastSecond=1;
}else{ticksLastSecond++;}
}
如有必要,添加ticksLastSecond
一个数组以平均过去一分钟或任何其他时间段