你好我想請問我要找出上一根超過400成交量的1分K的高低點 並且在突破時候 做多或做空 請問我這樣寫有啥問題嗎 回測結果她會立即停損
//一分K
variable:Sflag(0);
//variable:count_U(0),AccVolume(0);
Var:DayHigh(0),DayLow(0);
//var:DayHigh2(0),DayLow2(0);{停利價格}
//variable:UU(0),DD(0);//最新一根大量K高低點
//自動交易用...............................................................
var:
short_condition(false), { 是否做空 }
exit_short_condition(false),{ 是否空單出場 }
long_condition(false),
exit_long_condition(false);
input:lot(1);//下單張數
if getfield("volume","1")[1]>400 then begin
DayHigh=GetField("最高價", "1")[1];
DayLow=GetField("最低價", "1")[1];
end;
//----------------------------------------------------------------------------
short_condition=
c<DayLow and
time>150200
or time<45500;
exit_short_condition=C>(DayHigh+1);
long_condition= c>DayHigh
and time>150200
or time<45500;
exit_long_condition=C<(DayLow-1);
if Position = 0 and short_condition then
begin
SetPosition(-1, MARKET);
end;
if Position < 0 and exit_short_condition then begin
SetPosition(0, MARKET);
end;
if Position<0 and c<DayLow-(Dayhigh-DayLow)*2 then begin{停利}
SetPosition(0, MARKET);
end;
if Position = 0 and long_condition then
begin
SetPosition(1, MARKET);
Sflag=1;
end;
if Position >0 and exit_long_condition then begin
SetPosition(0, MARKET);
Sflag=1;
end;
if Position >0 and c>Dayhigh+(Dayhigh-DayLow)*2 then begin
SetPosition(0, MARKET);
Sflag=1;
end;
//收盤前全數出場
//market_close_condition = EnterMarketCloseTime(exit_period);
if Position <>0 and time>45500 and time<45700 then begin { 進入收盤階段: 出場 }
SetPosition(0);
end;
//=============================================================================================
1 評論