-- 作者:netfox
-- 发布时间:2014/8/7 10:10:28
--
VARIABLE:JD=0,JK=0; //计开仓次数 VARIABLE:num=0; //当日开几次 INPUT:SS(4,4,60,2); //单次开仓数 INPUT:NMIN1(25,5,50,5),N1(0,0,40,1); //时间与周期参数 INPUT:ZCC(2,1,4,1); //加仓次数 INPUT:YDD(18,10,40,1); //止损系数
// 标记 上轨:=EMA(C,5); 下轨:=EMA(C,10);
//开仓条件 开多条件:=ref(CROSS(Close,上轨),1); 开空条件:=ref(CROSS(下轨,Close),1);
//交易代码,先平后开
IF 开多条件 and num=0 THEN BEGIN if jd=1 then hh:=0.3; 开多:BUY(JDJD:=JD+1; num:=num+1; end
IF 开空条件 and num=0 THEN BEGIN if jk=1 then hh:=0.3; 开空:BUYSHORT(JKJK:=JK+1; num:=num+1; END
IF L<下轨 and holding>0 THEN BEGIN 平多:SELL(holding>0,holding,MARKETR); JD:=0; if jd=0 then hh:=0.7; END
IF H>上轨 and holding<0 THEN BEGIN 平空:SELLSHORT(holding<0,holding,MARKETR); JK:=0; if jk=0 then hh:=0.7; END
// 移动止损 最高:=HHV(H,OPENBAR+1); 最低:=LLV(L,OPENBAR+1);
多头止损:if(holding>0,最高-YDD,DRAWNULL); 空头止损:if(holding<0,最低+YDD,DRAWNULL);
IF L<最高-YDD and h-l多损:SELL(holding>0,holding,MARKETR); JD:=0; END
IF H>最低+YDD and h-l空损:SELLSHORT(holding<0,holding,MARKETR); JK:=0; END
if time=closetime(0) then num:=0;// 商品期货,收盘的同时,num赋值为0
简单测试提供 , RM00 5分钟 2013年1-1 2014年1-1
1月4日开仓数不对, 价格等都对。
以及有疑惑,这代码为何在 RB00,M00 图表有信号, 但测试时候确实空的。
此主题相关图片如下:捕获2.jpg

|