为什么 QUANJU 在满足条件的BAR上不停的循环累加,如何实现在满足条件的BAR上只+1一次?
MA0: MA( C,5 );
MA1: MA( C,10 );
IF REF( CROSS( MA0,MA1 ),1 ) THEN
BEGIN
NN:= EXTGBDATA( 'QUANJU');
NN:= NN + 1;
EXTGBDATASET( 'QUANJU',NN );
END
IF REF( CROSS( MA1,MA0 ),1 ) THEN
BEGIN
NN:= EXTGBDATA( 'QUANJU');
NN:= NN + 1;
EXTGBDATASET( 'QUANJU',NN );
END
NN1: NN,NODRAW;
代码运行一次就会加一次,你一个K上代码的执行不止一次的,分笔来了就执行一次作为最新计算结果。所以才会这样。
稍迟点我写个范例给你。
bars:EXTGBDATA('bars');
IF c>o and bars<BARPOS THEN
BEGIN
NN:= EXTGBDATA( 'QUANJU');
NN:= NN + 1;
EXTGBDATASET( 'QUANJU',NN );
EXTGBDATASET('bars',BARPOS);
END
NN1: EXTGBDATA( 'QUANJU'),NODRAW;
需要再添加一个全局变量进行控制才行。你参考样例修改你的那个代码即可。