強出:=TIME>=134300;
多進:=多訊 and 強出=0 or BARPOS=0;
空進:=空訊 and 強出=0 or BARPOS=0;
進場:=多進-空進;
控損:=20; 控盈衰起:=15; 控盈衰值:=30; WrkNum:=5;
VARIABLE:控利[WrkNum]=0;
控利[1]:=20; 控利[2]:=50; 控利[3]:=75; 控利[4]:=90; 控利[5]:=120;
進價:=0; CC:=CLOSE; HH:=HIGH; LL:=LOW; RecOutM:='';
多空:=0;
進出:CLOSE*0 NOAXIS;
持有:=進出 linethick0;
限進次:=3;
DECK:=date<>ref(date,1) or barpos=1;
for i = 1 to DATACOUNT do begin
if DECK[i]=1 then DESS:=0;
IF 多空=0 then begin
多空:=進場[i]*WrkNum; 進出[i]:=SGN(多空);
IF 多空<>0 and DESS<=限進次 then begin
進價:=CC[i]; DESS:=DESS+1;
end;
RecOutM:=''; Max盈:=0;
end else IF 多空<>0 then begin
NowDir:=SGN(多空);
IF NowDir=-進場[i] and DESS<=限進次 then begin
進出[i]:=-NowDir*2; 多空:=-NowDir*WrkNum; 進價:=CC[i]; RecOutM:=''; Max盈:=0; DESS:=DESS+1;
end else begin
H盈虧:=(HH[i]-進價)*(NowDir=1)+(進價-LL[i])*(NowDir=-1);
L盈虧:=(LL[i]-進價)*(NowDir=1)+(進價-HH[i])*(NowDir=-1);
IF 強出[i] then begin
進出[i]:=NowDir*4; 多空:=0;
end else IF L盈虧<=-控損 then begin
進出[i]:=NowDir*3; 多空:=0;
end else if Max盈>=控盈衰起 and Max盈-L盈虧>=控盈衰值 then begin
進出[i]:=NowDir*5; 多空:=0;
end else begin
for j=WrkNum downto 1 do begin
jstr:=NUMTOSTR(j,0);
IF H盈虧>=控利[j] and STRFIND(RecOutM, jstr, 1)=0 then begin
進出[i]:=NowDir*10+NowDir*j; RecOutM:=RecOutM+jstr;
多空:=多空-NowDir; IF j=WrkNum then 多空:=0;
break;
end;
end;
end;
if H盈虧>Max盈 then Max盈:=H盈虧;
end;
end;
持有[i]:=多空;
end;
強出:=TIME>=134300;
多進:=多訊 and 強出=0 or BARPOS=0;
空進:=空訊 and 強出=0 or BARPOS=0;
進場:=多進-空進;
控損:=20; 控盈衰起:=15; 控盈衰值:=30; WrkNum:=5;
VARIABLE:控利[WrkNum]=0;
控利[1]:=20; 控利[2]:=50; 控利[3]:=75; 控利[4]:=90; 控利[5]:=120;
進價:=0; CC:=CLOSE; HH:=HIGH; LL:=LOW; RecOutM:='';
多空:=0;
進出:CLOSE*0 NOAXIS;
持有:=進出 linethick0;
限進次:=3;
DECK:=date<>ref(date,1) or barpos=1;
for i = 1 to DATACOUNT do begin
if DECK[i]=1 then DESS:=0;
IF 多空=0 then begin
多空:=進場[i]*WrkNum; 進出[i]:=SGN(多空);
IF 多空<>0 and DESS<=限進次 then begin
進價:=CC[i]; DESS:=DESS+1;
end;
RecOutM:=''; Max盈:=0;
end else IF 多空<>0 then begin
NowDir:=SGN(多空);
IF NowDir=-進場[i] and DESS<=限進次 then begin
進出[i]:=-NowDir*2; 多空:=-NowDir*WrkNum; 進價:=CC[i]; RecOutM:=''; Max盈:=0; DESS:=DESS+1;
end else begin
H盈虧:=(HH[i]-進價)*(NowDir=1)+(進價-LL[i])*(NowDir=-1);
L盈虧:=(LL[i]-進價)*(NowDir=1)+(進價-HH[i])*(NowDir=-1);
IF 強出[i] then begin
進出[i]:=NowDir*4; 多空:=0;
end else IF L盈虧<=-控損 then begin
進出[i]:=NowDir*3; 多空:=0;
end else if Max盈>=控盈衰起 and Max盈-L盈虧>=控盈衰值 then begin
進出[i]:=NowDir*5; 多空:=0;
end else begin
for j=WrkNum downto 1 do begin
jstr:=NUMTOSTR(j,0);
IF H盈虧>=控利[j] and STRFIND(RecOutM, jstr, 1)=0 then begin
進出[i]:=NowDir*10+NowDir*j; RecOutM:=RecOutM+jstr;
多空:=多空-NowDir; IF j=WrkNum then 多空:=0;
break;
end;
end;
end;
if H盈虧>Max盈 then Max盈:=H盈虧;
end;
end;
持有[i]:=多空;
end;
Re1:
將下面這行ˋ中的 date 改為 TRADEDATE 即可
DECK:=date<>ref(date,1) or barpos=1;
Re2:
將
強出:=TIME>=134300;
改為
強出:=TRADEDATE<DATE and time>=060000; //僅適用於跨零時之後出場