A1:=MINPRICE1;
MA10:MA(C,10);
MA20:MA(C,20);
//简单定义2条均线
CROSSUP(MA10,MA20)&&(BKVOL=0&&SKVOL=0)&&COUNTSIG(BK,BARPOS)<1&&COUNTSIG(SK,BARPOS)<1,BK(2);
CROSSDOWN(MA10,MA20)&&(BKVOL=0&&SKVOL=0)&&COUNTSIG(SK,BARPOS)<1&&COUNTSIG(BK,BARPOS)<1,SK(2);
//初始开仓
CROSSUP(MA10,MA20)&&(BKVOL=0&&SKVOL=0)&&(ISLASTBP||ISLASTSP)&&COUNTSIG(BK,BARPOS)>=1,BK(2);
CROSSDOWN(MA10,MA20)&&(BKVOL=0&&SKVOL=0)&&(ISLASTBP||ISLASTSP)&&COUNTSIG(SK,BARPOS)>=1,SK(2);
//盈利之后的开仓
CROSSDOWN(MA10,MA20)&&C>BKPRICE+90*A1&&BKVOL>=2&&ISLASTBK,SP(BKVOL);
CROSSUP(MA10,MA20)&&C=2&&ISLASTSK,BP(SKVOL);
//盈利平仓
CROSSDOWN(MA10,MA20)&&C<=BKPRICE+90*A1&&BKVOL>=2&&ISLASTBK,CLOSEOUT;
CROSSUP(MA10,MA20)&&C>=SKPRICE-90*A1&&SKVOL>=2&&ISLASTSK,CLOSEOUT;
//亏损平仓
C<=BKPRICE-30*A1&&BKVOL>=2&&ISLASTBK,CLOSEOUT;
C>=SKPRICE+30*A1&&SKVOL>=2&&ISLASTSK,CLOSEOUT;
//亏损平仓
CS1:IF(BARSSP>BARSBP||(ISNULL(BARSSP)&&BARSBP>=1),COUNTSIG(CLOSEOUT,BARSBP),
IF(BARSBP>BARSSP||(ISNULL(BARSBP)&&BARSSP>=1),COUNTSIG(CLOSEOUT,BARSSP),
COUNTSIG(CLOSEOUT,BARPOS))),NODRAW;//连续亏损次数
KC:=IFELSE(CS1>=1,POW(2,CS1+1),0);
//连续亏损的开仓次数
ISLASTCLOSEOUT&&REF(MAX(BKVOL,SKVOL),REFSIG_PLACE(CLOSEOUT,1)+1)>=2&&
CROSSUP(MA10,MA20)&&(BKVOL=0&&SKVOL=0),BK(KC);
//亏损之后的开仓
ISLASTCLOSEOUT&&REF(MAX(BKVOL,SKVOL),REFSIG_PLACE(CLOSEOUT,1)+1)>=2&&
CROSSDOWN(MA10,MA20)&&(BKVOL=0&&SKVOL=0),SK(KC);
//亏损之后的开仓
|