//均线参数
MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
MA60:MA(C,60);
//多空开仓条件
KD:=MA5>MA10&&MA5>MA20&&MA5>MA60&&MA10>MA20&&MA10>MA60&&MA20>MA60&&MA10>REF(MA10,10)&&MA20>REF(MA20,10)&&MA60>REF(MA60,5)&&C>MA60&&C>REF(HHV(H,5),1);
KK:=MA5<MA10&&MA5<MA20&&MA5<MA60&&MA10<MA20&&MA10<MA60&&MA20<MA60&&MA10<REF(MA10,10)&&MA20<REF(MA20,10)&&MA60<REF(MA60,5)&&C<MA60&&C<REF(LLV(L,5),1);
//计算做多赢亏及止损
ZDZS:REF(MA5-MA10,BARSBK),NODRAW;//计算原始止损价差
ZDZGYL:IFELSE(BARSBK>=1,HHV(HIGH,BARSBK+1),HIGH)-BKPRICE,COLORRED;//做多最高获利点差
ZDZGHL:ZDZGYL/BKPRICE;//做多最高获利比率
ZDZXHL:(C-BKPRICE)/BKPRICE;//做多收盘最新获利率
ZDHCBL:ABS(ZDZGHL-ZDZXHL)/ZDZGHL;//做多利润回撤比率
ZDZSJ:BKPRICE-ZDZS;//做多止损价
PD1:=C<ZDZSJ&&C<MA5&&ZDZXHL<0.5;//当赢利比率小于5%时(参数设定),价格小于止损价并且收盘击穿MA5退出本次交易
PD2:=ZDZGHL>=0.05&&ZDHCBL>=0.5&&C<MA20;//当赢利比率大于5%时,利润最大回撤50%并且收盘价向下击穿MA20均线时获利止赢
//计算做空赢亏及止损
ZKZS:REF(MA5-MA10,BARSSK),NODRAW;//计算原始止损价差
ZKZGYL:=SKPRICE-IFELSE(BARSSK>=1,LLV(LOW,BARSSK+1),LOW),COLORRED;//做空最高获利点差
ZKZGHL:=ZKZGYL/SKPRICE;//做空最高获利比率
ZKZXHL:=(SKPRICE-C)/SKPRICE;//做空最新获利比率
ZKHCBL:=ABS(ZKZGHL-ZKZXHL)/ZKZGHL;//做空利润回撤比率
ZKZSJ:SKPRICE+ZKZS;//做多止损价
PK1:=C>ZKZSJ&&C>MA5&&ZKZGHL<0.05;//当赢利比率小于5%时,
PK2:=ZKZGHL>=0.05&&ZKHCBL>=0.5&&C>MA20;////当赢利比率大于5%时,利润最大回撤50%并且收盘价向上击穿MA20均线时获利止赢
//平多及平空选项条件
PD:=PD1||PD2;
PK:=PK1||PK2;
//执行
NOT(ISLASTBK||ISLASTSK)&&KD,BK;
PD && ISLASTBK,SP;
NOT(ISLASTBK||ISLASTSK)&&KK,SK;
PK && ISLASTSK,BP;
AUTOFILTER;
回测时不能执行止损价,帮忙修改一下。