input:K1(0.5,0,2,0.1);//多头突破波动比例
input:K2(0.5,0,2,0.1);//多头突破波动比例
input:Mday(1,0,9,1);//M日期最大价差
input:Nday(1,0,9,1);//N日前最大价差
input:LOTS(1,0,9,1);
HighD:=callstock(stklabel,vthigh,6,-1);
LowD:=callstock(stklabel,vtlow,6,-1);
CloseD:=callstock(stklabel,vtclose,6,-1);
CYC:=barslast(date<>ref(date,1))+1;
OpenD:=valuewhen(cyc=1,open);
HH:= HHV(HighD,Mday);
HC:= HHV(CloseD,Mday);
LL:= LLV(LowD,Mday);
LC:= LLV(CloseD,Mday);
SellRange:=Max(HH - LC,HC - LL);
HH:=HHV(HighD,Nday);
HC:=HHV(CloseD,Nday);
LL:=LLV(LowD,Nday);
LC:=LLV(CloseD,Nday);
BuyRange:=Max(HH - LC,HC - LL);
UpperBand: OpenD + K1*BuyRange;
LowerBand: OpenD - K2*SellRange;
If (HOLDING=0) THEN BEGIN
If (High>=UpperBand) THEN
Buy(HOLDING=0,lots,LIMITR,Max(Open,UpperBand));
If (Low<=LowerBand) THEN
BuyShort(HOLDING=0,lots,LIMITR,Min(Open,LowerBand));
END
If (HOLDING<0) THEN BEGIN
If (High>=UpperBand) THEN BEGIN
SELLSHORT(HOLDING<0,lots,LIMITR,Max(Open,UpperBand));
Buy(HOLDING=0,lots,LIMITR,Max(Open,UpperBand));
END
END
If (HOLDING>0) THEN BEGIN
If (Low<=LowerBand) THEN BEGIN
Sell(holding>0,lots,limitr,Min(Open,LowerBand));
BuyShort(holding=0,lots,limitr,Min(Open,LowerBand));
END
END
持仓:holding,noaxis ,linethick0 ;
盈亏:asset-1000000,noaxis,coloryellow,linethick2;
-------------------------------------------------------------------------------