0

我想计算每秒的刻度数(或者价格变化)。不幸的是 MQL5 的ENUM_TIMEFRAMES只下降到 1 分钟。不过,这个指标证明了这是可能的,但如何呢?也许通过OnTimer 事件

非常感谢您的回答!

4

1 回答 1

0

datetime时间是自新计算机时代以来的秒数。如果你调用TimeCurrent()它返回datetime,它会给你整数。如果您在 0.1 秒内再次调用它,您将收到相同的整数(或相同+1)。指标可以计算 OnCalculate() 中的刻度数并与旧时间进行比较。像这样的东西:

datetime lastTime;
int ticksLastSecond;
OnCalculate(***){
   if(TimeCurrent()>lastTime){
      lastTime=TimeCurrent();ticksLastSecond=1;
   }else{ticksLastSecond++;}
}

如有必要,添加ticksLastSecond一个数组以平均过去一分钟或任何其他时间段

于 2018-02-04T09:06:12.537 回答