你这个策略还是图表的思维逻辑,直接把后台函数改成图表函数就行了
INPUT:P(26,20,100,8);
INPUT:S(12,5,40,4);
INPUT:B1(26,5,300,30);
INPUT:B2(2,0.1,10,1);
INPUT:N2(10,1,120,12);
INPUT:N3(20,1,200,20);
INPUT:N4(60,1,200,20);
MA2:=MA(C,N2);
MA3:=MA(C,N3);
MA4:=MA(C,N4);
MID := MA(CLOSE,B1);
UPPER:= MID + B2*STD(CLOSE,B1);
LOWER:= MID - B2*STD(CLOSE,B1),COLORRED;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
VARIABLE:VMIN = 091500;//用于隔夜高开或低开时间差
IF (ABS(O-REF(C,1))>=20*MINDIFF AND TIME>090000 AND TIME<090400) THEN VMIN := 093000;
//开多仓条件:
BOPEON:=C>UPPER AND DIFF>0 AND C>O AND C>MA4 AND HOLDING=0 AND TIME>VMIN AND TIME<150000;
//平多仓条件:
BLINE:=IF(HOLDING>0,HHV(HIGH,TYPEBAR(1,1))-110*MINDIFF,L-110*MINDIFF);//多单移动止损线
//PARTLINE(HOLDING>0, BLINE, COLORRGB(255,0,0)); 这个在后台不显示
BLIQCON:= (HOLDING>0 AND CROSS(MA3,MA2)) OR (HOLDING>0 AND BLINE>C);
//开空仓条件:
SOPCON:=C<LOWER AND DIFF<0 AND C<O AND C<MA4 AND HOLDING=0 AND TIME>VMIN AND TIME<150000;
//平空仓条件:
SLINE:=IF(HOLDING<0,LLV(LOW,TYPEBAR(1,3))+110*MINDIFF,H+110*MINDIFF);//空单移动止损线
//PARTLINE(HOLDING<0, SLINE, COLORRGB(0,255,0)); 这个在后台不显示
SLIQCON:= (HOLDING<0 AND CROSS(MA2,MA3)) OR (HOLDING<0 AND SLINE<C);
SELLSHORT(SLIQCON,HOLDING,LIMIT,C);
BUY(BOPEON,1,LIMIT,C);
SELL(BLIQCON,HOLDING,LIMIT,C);
BUYSHORT(SOPCON,1,LIMIT,C);
//收盘前平仓
SELL(TIME>151100 AND HOLDING>0,HOLDING,LIMIT,C-MINDIFF*2);
SELLSHORT(TIME>151100 AND HOLDING<0,HOLDING,LIMIT,C+MINDIFF*2);