我想设置一个变量,当前价比10根K线前的价格高5以上时变量值变为1,当前价比10根K线前的价格低5以上时变量值变为-1,其他时间变量值为前一根K线的变量值。我是这样写的:
Variable:X2=0;
REFX2:=ref(X2,1);
If C-ref(C,10)>5 then begin
X2:=1;
end
else if C-ref(C,10)<-5 then begin
X2:=-1;
end
else begin
X2:=REFX2;
end
X:X2;
写出来发现只要C-ref(C,10)介于-5到5之间时,X的值都是初始值而不是前一根K线的X值。应该怎么写才对呢?谢谢
逻辑上没有问题。
Variable:X2=0;
REFX2:ref(X2,1);
ref_10:=ref(C,10);
If C-ref(C,10)>5 then begin
X2:=1;
end
else if C-ref_10<-5 then begin
X2:=-1;
end
else begin
探针:1000;
X2:=REFX2;
end
X:X2;

此主题相关图片如下:8.png
探针:1000; 没什么特别的作用,就是用于判断是进入到了X2:=REFX2;语句条件内。
逐k模式
我试了一下,逐k模式是正确的,如果我想在序列模式下使用,要怎么改编呢?谢谢