在40倍线未下穿60倍线之前,只开一次仓,这样写之后,还是40倍线未下穿60倍线之前,出现连续的开仓信号。哪里写错了,老师帮我看一下。
variable:n=0;
if 平空开多条件 and holding=0 and n=0 then begin
sellshort(1,0,market);
buy(holding=0,1,market);
n:=1;
end
if cross(ma60,ma40) and n=1 then begin n:=0;
end

此主题相关图片如下:qq图片20150107150837.png
还有,开仓后,马上就平了,不知止损与保本这样写的,不知哪里错了,也麻烦帮我检查一下,if l<=AVGENTERPRICE-2*atr then begin
sell(1,0,market);
end//多头2N止损
if hhv(h,enterbars+1)>=enterprice+2*atr and hhv(h,enterbars+1)<enterprice+6*atr and l<=enterprice and enterbars>0 then begin//多头2N保本
sell(1,0,market);//多头2N保本
end
if hhv(h,enterbars+1)>enterprice+6*atr and l<hhv(h,enterbars+1)-2*atr then begin
sell(1,0,market);
end//多头6N利后回撤2N平仓
条件写错了,平空前holding<0,你写一个holding=0怎么会平仓
现在开仓是可以开,主要问题是两个,一是开仓后,40倍线没有下穿60倍线,还会出现开仓信号。二是有一些单子,开仓后马上又开仓价平了。感觉限制开仓与止损或保本的语句没有写对。
1.不会的,是你的错觉,不满足条件必然不会有信号,有信号必然满足条件
2.你加个enterbars>0的条件,