//输入参数
INPUT:SS(1,1,10000,1);
手数:=SS;
INPUT:周期参数(22,10,50,1);
INPUT:过滤参数(3,1,5,1);
//交易条件
多空线:=50-((100 * ( HHV(HIGH,周期参数) - CLOSE))/ (HHV(HIGH,周期参数) - LLV(LOW,周期参数)));
做多线:=45;
做空线:=-45;
//引入其他公式
BBI1:=STKINDI('if13','趋势指标.yy1',0,6);
BBI2:=STKINDI('if13','趋势指标.yy2',0,6);
BBI3:=STKINDI('if13','趋势指标.yy3',0,6);
bbi4:=STKINDI('if13','趋势指标.yy4',0,6);
B1:=STKINDI('if13','yyy.bbi1',0,6);
B2:=STKINDI('if13','yyy.bbi2',0,6);
//时间参数
开仓时间:=TIME>=091500 AND TIME<151300;
平仓时间:=TIME>151300;
//交易条件
开多平空条件1:=OPEN>=REF(HHV(H,22),1)+0.2 AND 开仓时间;
开多平空条件2:=HIGH>=REF(HHV(H,22),1)+0.2 AND 开仓时间;
开空平多条件1:=OPEN<=REF(LLV(L,22),1)-0.2 AND 开仓时间;
开空平多条件2:=LOW<=REF(LLV(L,22),1)-0.2 AND 开仓时间;
//平仓
////////////////////////////////////
IF 平仓时间 AND HOLDING>0 THEN BEGIN
收盘平多:SELL(1,手数,LIMITR,O);
TSELL(1,手数,MKT);
END
IF 平仓时间 AND HOLDING<0 THEN BEGIN
收盘平空:sellshort(1,手数,LIMITR,O);
TSELLshort(1,手数,MKT);
END
特殊参数1:=REF(HHV(H,22),1)+0.2;
IF OPEN>=REF(HHV(H,22),1)+0.2 AND HOLDING<0 AND REF(HOLDING,1)<0 THEN BEGIN
平空1:sellshort(1,手数,LIMITR,max(OPEN,特殊参数1));
Tsellshort(1,手数,MKT);
END
特殊参数2:=REF(HHV(H,22),1)+0.2;
IF HIGH>=REF(HHV(H,22),1)+0.2 AND HOLDING<0 AND REF(HOLDING,1)<0 THEN BEGIN
平空2:sellshort(1,手数,LIMITR,特殊参数2);
Tsellshort(1,手数,MKT);
END
/////////////////////////////////////////////////////////////
特殊参数3:=REF(LLV(L,22),1)-0.2;
IF OPEN<=REF(LLV(L,22),1)-0.2 AND HOLDING>0 AND REF(HOLDING,1)>0 THEN BEGIN
平多1:sell(1,手数,LIMITR,min(OPEN,特殊参数3));
Tsell(1,手数,MKT);
END
特殊参数4:=REF(LLV(L,22),1)-0.2;
IF LOW<=REF(LLV(L,22),1)-0.2 AND HOLDING>0 AND REF(HOLDING,1)>0 THEN BEGIN
平多2:sell(1,手数,LIMITR,特殊参数4);
Tsell(1,手数,MKT);
END
//开仓
////////////////////////////////////////////////////////////
特殊参数5:=REF(LLV(L,22),1)-0.2;
IF 开空平多条件1 AND HOLDING=0 AND REF(COUNT(开空平多条件1,10)>=2,1) AND (BBI1>BBI2 AND BBI2>BBI3 or bbi1<bbi2 and bbi2>bbi3 and bbi3>bbi4) AND REF(COUNT((多空线 < 做空线),10)>=过滤参数,1) THEN BEGIN
开空1:buyshort(1,手数,LIMITR,min(OPEN,特殊参数5)),IGNORECHECKPRICE;
Tbuyshort(1,手数,MKT);
END
特殊参数6:=REF(LLV(L,22),1)-0.2;
IF 开空平多条件2 AND HOLDING=0 AND REF(COUNT(开空平多条件2,10)>=2,1)AND (BBI1>BBI2 AND BBI2>BBI3 or bbi1<bbi2 and bbi2>bbi3 and bbi3>bbi4) AND REF(COUNT((多空线 < 做空线),10)>=过滤参数,1) THEN BEGIN
开空2:buyshort(1,手数,LIMITR,特殊参数6),IGNORECHECKPRICE;
Tbuyshort(1,手数,MKT);
END
特殊参数7:=REF(HHV(H,22),1)+0.2;
IF 开多平空条件1 AND HOLDING=0 AND REF(COUNT(开多平空条件1,10)>=3,1)AND BBI1>BBI2 AND BBI2>BBI3 and b1<b2 AND REF(COUNT((多空线 > 做多线),10)>=过滤参数,1) THEN BEGIN
开多1:buy(1,手数,LIMITR,max(OPEN,特殊参数7)),IGNORECHECKPRICE;
Tbuy(1,手数,MKT);
END
特殊参数8:=REF(HHV(H,22),1)+0.2;
IF 开多平空条件2 AND HOLDING=0 AND REF(COUNT(开多平空条件2,10)>=3,1)AND BBI1>BBI2 AND BBI2>BBI3 and b1<b2 AND REF(COUNT((多空线 > 做多线),10)>=过滤参数,1) THEN BEGIN
开多2:buy(1,手数,LIMITR,特殊参数8),IGNORECHECKPRICE;
Tbuy(1,手数,MKT);
END
特殊参数7:=REF(HHV(H,22),1)+0.2;
IF 开多平空条件1 AND HOLDING=0 AND BBI1>BBI2 AND BBI2<BBI3 AND B1>B2 AND REF(COUNT(开多平空条件1,10)>=3,1) AND REF(COUNT((多空线 > 做多线),10)>=过滤参数,1) THEN BEGIN
开多3:buy(1,手数,LIMITR,max(OPEN,特殊参数7)),IGNORECHECKPRICE;
Tbuy(1,手数,MKT);
END
特殊参数8:=REF(HHV(H,22),1)+0.2;
IF 开多平空条件2 AND HOLDING=0 AND BBI1>BBI2 AND BBI2<BBI3 AND B1>B2 AND REF(COUNT(开多平空条件2,10)>=3,1) AND REF(COUNT((多空线 > 做多线),10)>=过滤参数,1) THEN BEGIN
开多4:buy(1,手数,LIMITR,特殊参数8),IGNORECHECKPRICE;
Tbuy(1,手数,MKT);
END