n:=9;
p1:=3;
p2:=3;
gx:=100;
dx:=0;
gx2:=90;
dx2:=10;
gx3:=80;
dx3:=20;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
KD:=cross(j,dx);
kk:=cross(gx,j);
kd2:= cross(j,dx2);
kk2:=cross(gx2,j);
kd3:= cross(j,dx3);
kk3:=cross(gx3,j);
平空1:SELLSHORT( kd2 ,ss2,LIMITR,c+2*mindiff); //平空信号
开多1:BUY( kd2 ,ss2,LIMITR,c+2*mindiff); //开多信号
平多1:SELL( kk2,ss2,LIMITR,c-2*mindiff); //平多信号
开空1:BUYSHORT( kk2 ,ss2,LIMITR,c-2*mindiff);
平空:SELLSHORT(kd ,ss,LIMITR,c+2*mindiff); //平空信号
开多:BUY(kd ,ss,LIMITR,c+2*mindiff); //开多信号
平多:SELL(kk ,ss,LIMITR,c-2*mindiff); //平多信号
开空:BUYSHORT(kk ,ss,LIMITR,c-2*mindiff); //开空信号
平空3:SELLSHORT(kd3 ,ss3,LIMITR,c+2*mindiff); //平空信号
开多3:BUY(kd3 ,ss3,LIMITR,c+2*mindiff); //开多信号
平多3:SELL(kk3 ,ss3,LIMITR,c-2*mindiff); //平多信号
开空3:BUYSHORT(kk3 ,ss3,LIMITR,c-2*mindiff); //开空信号
本想是开多少,就平多少。就是开1的手数如果是1 ,就平仓1手,相对应。按理是可以先平再开,可是加载后发现后面不开仓了。
如果是设置的是1,2,3那么是不会只平不开,只平不开的原因是资金全被下单下走了,剩下的只能平了
在图上测试的时候只有发出平仓箭头。没有开仓。shift+q看到的开多也是0不是1或者2.
不可能写成0啊。前面都有开。不信你加载到你的金字塔 看看。前面都有开仓。后面才没开仓,太怪了。
我把你的ss,ss2,ss3改成具体数字之后,是没问题的,所以才一再的让你看看自己的下单手数有没有定义成0之类的