INPUT:N(16,1,30,1),K1(0.4,0.1,1,0.1),K2(0.8,0.1,1,0.1),NMIN(6,1,10,1),SS(1000,100,1000,100);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
LHIGH:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
LLOW:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
LCLOSE:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
TOPEN:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(LHIGH,N);//N日HIGH的最高價
HC:=HHV(LCLOSE,N);//N日CLOSE的最高價
LC:=LLV(LCLOSE,N);//N日CLOSE的最低價
LL:=LLV(LLOW,N);//N日LOW的最低價
MOVING:=MAX(HH-LL,HC-LL);//RANGE
T1:=TIME>=091000 AND TIME<=145200;
T2:=TIME>=145400 AND TIME<=150000;
HOLDER:=SS;
UP:TOPEN+K1*MOVING;
DOWN:TOPEN-K2*MOVING;
//C>UP AND HOLDING=0:=C>UP AND HOLDING=0 ;
//C<DOWN AND HOLDING=0:=C<DOWN AND HOLDING=0 ;
globalvariable:A:=0;
globalvariable:B:=0;
globalvariable:MAXP:=0;
globalvariable:P:=0;
globalvariable:MAXP:=0;
globalvariable:DOWN:=;
///每天的 開盤的時候 持倉為0 且沒有開過倉
IF TIME >=090000 AND TIME <=090200 THEN BEGIN
B:=0;//A 代表是否有倉位 b代表是否開過倉位
A:=0;
END
///
//持有空倉的情況
IF 1 THEN BEGIN
IF T1 THEN BEGIN
IF C>UP AND tbuyHOLDING(0)=0 THEN BEGIN
tBUY( B=0 AND A=0,HOLDER,mkt);
A:=1;
B:=1;
P:=0;
MAXP:=0;
END
IF C<DOWN AND tsellHOLDING(0)=0 THEN BEGIN
tBUYSHORT( B=0 AND A=0,HOLDER,mkt);
A:=-1;
B:=1;
P:=0;
MAXP:=0;
END
END
END
IF tbuyHOLDING(0)>0 THEN BEGIN
IF T1 THEN BEGIN
//最高價格 浮虧10跳 止盈操作
If tenterbars>0 then begin
{
IF DYNAINFO( 7) >A THEN BEGIN//MAKE A MAX
A:= DYNAINFO( 7);
END
IF A - DYNAINFO( 7) >2 * MINDIFF THEN BEGIN//IF BIGGER THEN SELL
SELL(1,HOLDER,mkt);
A:=0;
B:=1;
MAXP:=0;
END
}
//
////////+百分比止盈
P:=(DYNAINFO( 7)-tAVGENTERPRICE())/tAVGENTERPRICE() *100;
IF P>MAXP THEN BEGIN
MAXP:=P;
DOWN:=(MAXP-P)/MAXP*100;
END
IF DOWN >=20 THEN BEGIN
tSELL(1,HOLDER,lmt,C);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
///////////////////////
//浮虧10跳 止損
IF ( tAVGENTERPRICE()- DYNAINFO( 7)>10*MINDIFF) THEN BEGIN
tSELL(1,HOLDER,mkt);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
end
//
END
IF T2 THEN BEGIN
tSELL(1,HOLDER,mkt);
A:=0;
B:=1;
END
END
IF tsellHOLDING(0)>0 THEN BEGIN
IF T1 THEN BEGIN
IF ( DYNAINFO( 7)-tAVGENTERPRICE()>10*MINDIFF) THEN BEGIN
tSELLSHORT(1,HOLDER,mkt);
A:=0;
B:=1;
END
END
IF T2 THEN BEGIN
tSELLSHORT(1,HOLDER,mkt);
A:=0;
B:=1;
END
END