RC:=CALLSTOCK('',VTCLOSE,6,-1);
JK:=CALLSTOCK('',VTOPEN,6,0);
A1:=JK<=RC;
X1:=((C-REF(C,10))/REF(C,10))>0.02;
IF TIME>093100 AND TIME <150000 THEN
BEGIN;
MY_COUNT:=X1;
END;
AA1:=MY_COUNT ;
X2:=((C-REF(C,10))/REF(C,10))>0.02;
IF TIME>093200 AND TIME <150000 THEN
BEGIN;
MYCOUNT:=X2;
END;
IF TIME=093100 THEN MY_COUNT:=0;
AA2:=MYCOUNT ;
BBB:=IF(A1,AA1,AA2);
SC:BBB;
这个公式不知道为什么没有输出?
A1单独可以输出,AA1单独可以输出,BBB合起来没有输出。
以下是引用wenarm在2020/1/11 20:33:59的发言:
你公式改成逐k线计算模式
谢谢老师,这个公式能改成序列计算吗?怎么改?运行在后台程序化里,因为序列计算要比逐K好像要快吧?
没办法。你这个只能逐k线计算,才能对每根k进行计算。逐K线可以精细的控制每跟K线周期的动作,所以灵活性较高。
注:你这个公式逻辑有问题。x1和x2下面的判断条件基本重叠。

此主题相关图片如下:temp.png

现在默认逐K后面都会勾选“仅刷最后一个K” 。这个勾选本身已经是提高了效率了和序列差不多了。所以你直接用逐K模式即可,不用太担心效率问题。