——————————————
//后台预警、不间断监控频率1毫秒、逐K计算(不勾选仅刷最后一根)、快速计算设置为120
GLOBALVARIABLE:oldc=0;
if not(ISLASTBAR) then exit;
debugfile ('c:\test1\'&STKLABEL&'.txt',' c0'&numtostr(c,2)&' oldc'&numtostr(oldc,2)&' time=0.f',time);
if abs((c-oldc)/(c+oldc)*2)>0.01 then debugfile ('c:\test2\'&STKLABEL&'.txt',' c0'&numtostr(c,2)&' oldc'&numtostr(oldc,2)&' time=0.f',time);
oldc:=c;
bbb:1>2;
——————————————
设置图
需要在C盘目录下建立TEST1以及TEST2,当TEST2会出现输出最后CLOSE值乱的现象(约一天重现3次左右)
机器信息:WIN7 32/4G/
金字塔版本:2.997
大概一天会重现几次,进行多品种监控后,就容易看到了
可否将你记录到的出现乱情况的日志贴过来,我们先分析一下
可否将你记录到的出现乱情况的日志贴过来,我们先分析一下
第四张图显示了,正常焦炭合约连续价格应该为1600左右波动,突然最新的CLOSE值突变成3000多,然后下一次刷新,又变成1600多的正常值了。
这次异常值(通过这个条件判断abs((c-oldc)/(c+oldc)*2)>0.01),会被就被记录到TEST2里面。
预警的原理是
1、oldc超全局变量,记录最近一根线的close值,然后本地一直输出oldc (相当于上一次刷新到的close)以及最新的close到TEST1文件夹中
2、当最新价close异常(通过oldc判断是否异常),则会输出到TEST2文件夹中。
使用中发现,很多品种的行情,close价(同时最高或最低价)会突然蹦到一个异常值,然后下一次刷新又会恢复正常值。
历史数据中是不存在的,只是刷新的瞬间可以记录到存在,然后又消失了。
我观测到这个现象有2个多星期了,一直觉得可能是自己模型的原因,于是写了个简化版,发现当一个新TICK行情过来的时候,就有可能出现这种错误。
附本地焦炭连续的价格:
此主题相关图片如下:5.jpg