INPUT: SK1(1.4,0.1,2,0.1),SK2(0.07,0.01,0.1,0.01),SKK(0.9,0.1,1,0.01),SS(2,1,100,1);
INPUT: BK2(0.07,0.01,0.1,0.01),BK1(0.4,0.1,2,0.1),BKK(0.5,0.1,1,0.01);
VARIABLE : POSITION=0 ;
手数:=SS;
N:=BARSLAST(DATE<>REF(DATE,1));
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
今开:=IF(N=1,OPEN,REF(OPEN,N-1));
A:=HHV(H,N+1);
B:=LLV(L,N+1);
IF N>=1 THEN BEGIN
今高:=A;//今高
今低:=B;//今低
END
观察卖出价:=今开+SK1*(昨收-昨低);//SSETUP
反转卖出价:=((1+SK2)/2)*(昨高+昨低)-SK2*昨低;//SENTER
反转买入价:=((1+BK2)/2)*(昨高+昨低)-BK2*昨高;//BENTER
观察买入价:=今开-BK1*(昨高-昨收);//BSETUP
突破买入价:=(观察卖出价+BKK*(观察卖出价-观察买入价));//BBREEAK
突破卖出价:=观察买入价-SKK*(观察卖出价-观察买入价);//SBREAK
//条件
空仓做多条件:=C>突破买入价 ;
空仓做空条件:=C<突破卖出价 ;
多单反转条件:=今高>观察卖出价 AND C<=反转卖出价;
空单反转条件:=今低<观察买入价 AND C>=反转买入价;
IF BARPOS=1 THEN BEGIN
POSITION := 0 ;
END
//交易系统
IF TIME>=132000 AND TIME<185000 THEN BEGIN
IF 空仓做多条件 THEN BEGIN
IF HOLDING<0 and POSITION = 1 THEN BEGIN
SELLSHORT(1,手数,MARKET);
POSITION := 0;
END
IF HOLDING=0 AND POSITION = 0 THEN BEGIN
BUY(1,手数,MARKET);
POSITION := 1 ;
END
END
IF 空仓做空条件 THEN BEGIN
IF HOLDING>0 AND POSITION = 1 THEN BEGIN
SELL(1,手数,MARKET);
POSITION := 0;
END
IF HOLDING=0 AND POSITION = 0 THEN BEGIN
BUYSHORT(1,手数,MARKET);
POSITION := 1 ;
END
END
//多单反转:
IF 多单反转条件 THEN BEGIN
IF HOLDING>0 AND POSITION = 1 THEN BEGIN
SELL(1,手数,MARKET);
POSITION := 0;
END
IF HOLDING=0 AND POSITION = 0 THEN BEGIN
BUYSHORT(1,手数,MARKET);
POSITION := 1 ;
END
END
//空单反转:
IF 空单反转条件 THEN BEGIN
IF HOLDING<0 and POSITION = 1 THEN BEGIN
SELLSHORT(1,手数,MARKET);
POSITION := 0;
END
IF HOLDING=0 AND POSITION = 0 THEN BEGIN
BUY(1,手数,MARKET);
POSITION := 1 ;
END
END
END
//日内平仓
IF TIME>=185000 THEN BEGIN
IF HOLDING>0 AND POSITION = 1 THEN BEGIN
SELL(1,手数,MARKET);
POSITION := 0;
END
IF HOLDING<0 and POSITION = 1 THEN BEGIN
SELLSHORT(1,手数,MARKET);
POSITION := 0;
END
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低