用在螺纹钢连续20分钟K线上,为什么没有开仓信号呢
INPUT:n(12,10,30,1);
INPUT:LRS(0,0,1,0.1);
VARIABLE:LRS1=0,LRS2=0,LRS3=0,LRS4=0;
MAL5:MA(C,5);
MAL10:MA(C,10);
MAL20:MA(C,20);
MAL60:MA(C,60);
MAS10:=MA(C,10);
MAS20:=MA(C,20);
n_high:ref(hhv(high,n),1);
n_low:ref(llv(low,n),1);
LRS1:=SLOPE(CLOSE,MAL5);
LRS2:=SLOPE(CLOSE,MAL10);
LRS3:=SLOPE(CLOSE,MAL20);
LRS4:=SLOPE(CLOSE,MAL60);
//开多条件
//long_entry_inst1:= ref(LRS1,1)>0 AND ref(LRS2,1)>0 AND ref(LRS3,1)>0 AND ref(LRS4,1)>0;
long_entry_inst1:=LRS1>LRS AND LRS2>LRS AND LRS3>LRS AND LRS4>LRS;
long_entry_inst2:= REF(CLOSE,1)> REF(MAL5,1) and REF(CLOSE,1)> REF( ref(n_high,1),1);
long_entry_inst3:= REF(MAL5,1)> REF(MAL10,1) and REF(MAL10,1)> REF(MAL20,1);
//开空条件
//short_entry_inst1:= ref(LRS1,1)<0 AND ref(LRS2,1)<0 AND ref(LRS3,1)<0 AND ref(LRS4,1)<0;
short_entry_inst1:=LRS1<LRS AND LRS2<LRS AND LRS3<LRS AND LRS4<LRS;
short_entry_inst2:= REF(CLOSE,1)< REF(MAL5,1) and REF(CLOSE,1)< REF( ref(n_high,1),1);
short_entry_inst3:= REF(MAL5,1)<REF(MAL10,1) and REF(MAL10,1)<REF(MAL20,1);
//开仓
if holding = 0 and long_entry_inst1 and long_entry_inst2 and long_entry_inst3 then begin
Buy(1,IntPart(ASSET/(Open*10)),limitr, Open);
end
if holding = 0 and short_entry_inst1 and short_entry_inst2 and short_entry_inst3 then begin
BUYSHORT(1,IntPart(ASSET/(Open*10)),limitr, Open);
end
//平仓
if holding > 0 and REF(CLOSE,1)< REF(MAS10,1) and REF(HIGH,1)< REF(MAS20,1) then begin
sell(1,holding,LIMITR,open);
end
if holding < 0 and REF(CLOSE,1)> REF(MAS10,1) and REF(HIGH,1)> REF(MAS20,1) then begin
sellshort(1,abs(holding),LIMITR,open);
end
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
你的开仓条件没有成立过,自然不会有开仓信号。
建议以后遇到这种情况,先把开仓条件单独输出下,然后观察下。
开仓条件:MA5、MA10 、MA20与MA60斜率大于0,价格位于MA60上,MA5、MA10 、MA20多头排列,突破过去12周期的最高价
MA5的斜率怎么写呢
不知道你说的斜率是怎么定义的。
[此贴子已经被作者于2017/7/13 10:54:21编辑过]
你如果要真实的直线斜率严格意义上是取不到的,因为你的x坐标在时刻变化
SLOPE(ma(c,10),10); 线性回归斜率。