{
INPUT:检索周期(830,100,1000,10);
INPUT:宽高比(7.5,1.5,10,0.5);
INPUT:宽比(65,20,80,5);
INPUT:高比(10,10,40,4);
}
variable:连续多损次数:=0;
variable:连续空损次数:=0;
IF主力:=CALLSTOCK('IF00',VTCLOSE,12,0),COLORRED;
SH300:=CALLSTOCK('SH300',VTCLOSE,12,0),COLORCYAN;
远高:HHV(H,检索周期);
远低:llv(l,检索周期);
上距离:=HHV(H,检索周期)-C,NODRAW;
下距离:=C-llv(l,检索周期),NODRAW;
高:远高-远低,NODRAW;
宽:abs(LLVBARS(L,检索周期)-HHVBARS(h,检索周期))*5/60,NODRAW; // 时间分钟
高宽比:高/宽,NODRAW;
makgb:=ma(高宽比,300);
开多条件:=高>40 and LLVBARS(L,检索周期)*5/60<宽/宽比 AND 下距离>高/高比 and 高宽比>=宽高比 {and SH300<ref(SH300,1)} AND TIME>95000 and 连续多损次数<3 and HOLDING=0;
开空条件:=高>40 and HHVBARS(h,检索周期)*5/60<宽/宽比 and 上距离>高/高比 and 高宽比>=宽高比 {and SH300>ref(SH300,1)} AND TIME>95000 and 连续空损次数<3 and HOLDING=0;
平多条件:=c=远高;
平空条件:=c=远低;
//连续亏损三次不再开仓
//所有的平仓语句都做如下的修改
if 平空条件 and holding<0 then begin
sellshort(1,0,market);
if numprofit(1)>0 then 连续空损次数:=0;
if numprofit(1)<0 then
BEGIN
连续空损次数:=连续空损次数+1;
end
end
if 平多条件 and holding>0 then begin
sell(1,0,market);
if numprofit(1)>0 then 连续多损次数:=0;
if numprofit(1)<0 then
begin
连续多损次数:=连续多损次数+1;
end
end
//交易
开空:BUYSHORT(开空条件,1,MARKETR);
空盈:SELLSHORT(平空条件,0,MARKET);
开多:BUY(开多条件,1,MARKETR);
多盈:SELL(平多条件,0,MARKET);
//止损
if c>ref(远高,1) then
空损:SELLSHORT(1,0,MARKETR);
if c<ref(远低,1) THEN
多损: SELL(1,0,MARKETR);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;