//策略:超级日内组合系统
INPUT:SS(1,1,100,1),K1(0.3,0.1,1,0.1),K2(0.6,0.1,1,0.1),BOCP(0.25,0,1,0.01),FBOCP(0.25,0,1,0.01);
VARIABLE:开多次数=0,开空次数=0,趋买市=0,趋卖市=0,多头止损价=0,空头止损价=0;
CYC:=BARSLAST(DATE>REF(DATE,1))+1;
昨开:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盘价,暂称为昨昨收
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
今高:=IF(CYC=1,HIGH,REF(HHV(HIGH,CYC),1));
今低:=IF(CYC=1,LOW,REF(LLV(LOW,CYC),1));
今开:=IF(CYC=1,OPEN,REF(OPEN,CYC-1));
10日平均波幅:=ref(MA(CALLSTOCK(STKLABEL,VTHIGH,6,0)-CALLSTOCK(STKLABEL,VTLOW,6,0),10),1);//AVERAGERANGE
10日平均开收盘区间:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
开关:=ABS(昨开-昨收)
//交易条件
IF 昨收
IF 昨收>昨昨收 THEN BEGIN//昨日收盘价大于昨昨收为趋买市(SELLEASIERDAY)
趋卖市:=1;
趋卖市开多价:今开+K2*10日平均波幅;//BUYBOPT
趋卖市开空价:今开-K1*10日平均波幅;//SELLBOPOINT
END
//交易系统
//突破
IF TIME>=094500 AND TIME=趋买市开多价 AND HOLDING=0,手数,MARKET);
多头止损价:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);//这个策略用于股指,多头常规止损价为 开仓价减25%的10日平均波幅和3个大点的较小值。
开多次数:=1;
END
IF 趋买市=1 AND 开空次数=0 THEN BEGIN
趋买市开空:BUYSHORT(CLOSE趋卖市开多价 AND HOLDING=0,手数,MARKET);
多头止损价:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);
开多次数:=1;
END
IF 趋卖市=1 AND 开空次数=0 THEN BEGIN
趋卖市开空:BUYSHORT(CLOSE多头突破确认价 AND C=0 THEN BEGIN
多头止损1:SELL(1,手数,MARKET);
多翻空1:BUYSHORT(1,手数,MARKET);
开空次数:=1;
END
{多头突破失败情况2:突破入场后,行情反转。止损的同时我们反手开空,但前提是时间在中午11:30之前,且多头进场在至少4根K之前。瞬间止损我们不允许反转,因为这往往是市场的膝跳反射}
IF HOLDING>=0 AND TIME=4 THEN BEGIN
多翻空2:BUYSHORT(1,手数,MARKET);
空头止损价:=MIN(ENTERPRICE+0.15*10日平均波幅,ENTERPRICE+3);//多翻空止损价为开仓价加15%的10日平均波幅和3个大点的较小值。
开空次数:=1;
END
END
END
{空头突破失败情况1:价格曾经低于空头突破确认价,最新价又上涨至空翻多确认价}
IF 今低空翻多确认价 AND TIME=空头止损价 THEN BEGIN
空头止损2:SELLSHORT(1,手数,MARKET);
IF TIME=4 THEN BEGIN
空翻多2:BUY(1,手数,MARKET);
多头止损价:=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止损价为开仓价加15%的10日平均波幅和3个大点的较小值。
开多次数:=1;
END
END
END
//止损 www.gszb.com
IF HOLDING>0 AND C空头止损价 AND TIMEENTERPRICE+0.5*10日平均波幅 THEN 多头止损价:=ENTERPRICE+2*MINDIFF;
IF 今低=143000 THEN BEGIN
多头止损价:=MAX(多头止损价,3周期最低价);
空头止损价:=MIN(空头止损价,3周期最高价);
END
//日内平仓
IF TIME>=151000 THEN BEGIN
收盘平多:SELL(1,手数,MARKET);
收盘平空:SELLSHORT(1,手数,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
END