我用1分钟图表交易,用的是走完k线模式。在交易程序里面有下面的打印调试
IF ISLASTBAR THEN BEGIN
DEBUGFILE(log_file,'KD1: HHOLDING:'&numtostr(HHOLDING,0)&' LHOLDING:'&numtostr(LHOLDING,0)&' ,0);
END
我的理解是在走完k线模式下每分钟只有一个输出,但是实际结果是,每隔几秒就有一个输出,时间不固定,一般1秒钟之内有4~10条不等。请问是什么原因?
分笔来一次公式运行一次,每运行一次这个就会执行一次。你那个代码里面并没有什么能限制最后的K线内只输出一次的。
1. 我的公式是逐k线模式
2. 我的公式里面选的是:仅刷最后一根k线
3. 我的debugfile是放在IF ISLASTBAR THEN BEGIN里面的。
我的理解是,在我的设置下每更新一根新的k线,才运行上面的debugfile一次,是不是我的理解有误呢?
是的,你理解的不对的。 不是那样子的。 而且你这个和逐K模式之类的没有关系。
交易所的行情是分笔过来的,来一次公式就运行一遍。
你是说分笔行情没来一次,脚本就跑一次吗?
可是我看分笔行情的频率是比较高的,好像有映像说是每秒两次,而我这边的打印每分钟只有3~10次不等。
还要考虑到机器的计算能力,公式执行也需要时间。比如一次来了10笔分笔,但是本地计算机固定时间只能处理5笔。在处理完这五笔之后,行情又来了10笔分笔,那么就会舍弃之前来不及处理的五笔只处理当前最新的分笔数据。
最后输出多少也看本地机器情况,我本地大概一秒一次输出。