投资者咨询:关于时间函数的机制 (文华财经wh9)
来源:文华财经 日期:2018-8-17 11:07
老师您好
if(Time==0.1300) 这个语句当中,是到达13点00分时立即触发if内的计算,还是会在13点59是触发。
我想,回测时不存在此问题,即直接调用收盘价,但当最新数据到达13点00分00秒时,程序应该会触发这一指令,但13点00分xx秒时,同样应触发,而这一分钟里可能会进行许多次次计算,但事实上if从句中计算的是一个中间全局变量,每一次计算都会影响对结果造成影响(并不是最新的计算结果覆盖到上一次结果)。
因此,有没有办法可以让我在在某一分钟内只进行1次计算
ps 系统会提示在分钟K线下TIME的结果为 0.HHMM
感谢您的关注
技术人员回复
日期:2018-8-17 11:35
单独使用Time==0.1300对应一个分钟内每笔TICK都会计算并赋值一次
可以编写没60秒赋值一次:
if(Time==0.1300&&TimeDiff(GetGlobalVar2("TT"),CurrentTime) > 60)
{
AA=Close;
SetGlobalVar2("TT",CurrentTime);
}