可以将时间换算成秒,再除以60,计算出分钟数,如下,例子中用的是开仓位置的K线时间来作为开仓时间了,如果需要更精确的时间,那可能需要全局变量来标记开仓时具体的时间了。
A:REF(TIME,ENTERBARS+1);
B:(TIMETOT0(DYNAINFO(207))-TIMETOT0(A))/60;
[此贴子已经被作者于2020/6/24 17:27:20编辑过]
这个只能在最新K返回最近一次开仓信号的分钟数。历史的建议用 开仓历时*周期对应分钟数
buy(TODAYBAR=11,1,market);
A:REF(TIME,ENTERBARS+1);
B1:=(TIMETOT0(DYNAINFO(207))-TIMETOT0(A))/60;
B2:=(ENTERBARS+1);
//先获得周期对应的秒数
z1:=VALUEWHEN(TODAYBAR=1,time);
z2:=VALUEWHEN(TODAYBAR=2,time);
df:TIMETOT0(z2)-TIMETOT0(z1);//计算周期对应的秒数
B:IF(ISLASTBAR,B1,B2*DF/60);//区分最新K和历史K的计算结果。历史K按照信号所跨周期数目等效的分钟数来计算。