cc:openint-ref(openint,1);
这样就可以了啊。
没太明白,你是在序列下给全局变量赋这个openint的值?
序列模式下无法定义全局变量的。你算仓差为什么要用到全局变量啊。而且还是在序列模式下。
像下面这样,画不出线,也没有数值。
VARIABLE:ljh:=0,b1:=0;N1:=5;
mid:=c;
hsl:=(openint-ref(openint,1))/openint;
ljh:=if(BARPOS=1,hsl,ljh*(1-hsl)*(n1-1)/n1+hsl);
b1:=if(BARPOS=1,mid,(mid*hsl+b1*ref(ljh,1)*(1-hsl)*(n1-1)/n1)/ljh);
K:b1,COLORYELLOW;
是因为一个原因。hsl 在第一个K 其实是一个无效值,这时候赋值给全局变量会导致出问题的。
VARIABLE:ljh:=0,b1:=0;
N1:=5;
mid:=c;
hsl:=if(BARPOS=1,0,(openint-ref(openint,1))/openint);
ljh:=if(BARPOS=1,hsl,ljh*(1-hsl)*(n1-1)/n1+hsl);
b1:=if(BARPOS=1,mid,(mid*hsl+b1*ref(ljh,1)*(1-hsl)*(n1-1)/n1)/ljh);
K:b1,COLORYELLOW;
老师,这个公式能让它在分钟周期里从每天开盘第一根K线计算到收盘,然后第二天开盘又重新计算,如此循环。这样该怎么编写?
那 这样试下呢。
VARIABLE:ljh:=0,b1:=0;
N1:=5;
mid:=c;
hsl:=if(BARPOS=1 or TODAYBAR=1,0,(openint-ref(openint,1))/openint);
ljh:=if(BARPOS=1 or TODAYBAR=1,hsl,ljh*(1-hsl)*(n1-1)/n1+hsl);
b1:=if(BARPOS=1 or TODAYBAR=1,mid,(mid*hsl+b1*ref(ljh,1)*(1-hsl)*(n1-1)/n1)/ljh);
K:b1,COLORYELLOW;