|
input:Len(9),StopLoss(100);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),BuyCond(false),SellCond(false);
{ 部位狀況 }
MP = MarketPosition ;
{ 結算日判斷 }
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
{ KD 金叉 ,開始記錄高點( or 稱作 reset 高點) ,
買方條件成立 , 賣方條件不成立 }
if SlowK(Len) Cross over SlowD(Len) then Begin
Value1 = High ;
BuyCond = true ;
SellCond = false ;
end ;
{ 若持續創高,記錄新高點 }
if High > Value1 then Value1 = High ;
{ 買方條件成立狀況下突破高點作多 }
if BuyCond then Buy next bar at Value1 stop ;
{ KD 死叉 ,開始記錄低點( or 稱作 reset 低點) ,
買方條件不成立 , 賣方條件成立 }
if SlowK(Len) Cross under SlowD(Len) then Begin
Value2 = Low ;
SellCond = true ;
BuyCond = false ;
end;
{ 若持續破低,記錄新低點 }
if Low < Value2 then Value2 = Low ;
{ 賣方條件成立狀況下跌破低點作空 }
if SellCond then Sell next bar at Value2 stop ;
{ 部位變動 ,買賣方條件回歸 false ,準備重新記錄}
if MP <> MP[1] then Begin
BuyCond = false;
SellCond = false ;
end;
{ 設定停損點數 }
setstoploss(StopLoss*BigPointValue) ;
{ 結算日出場 }
if IsBalanceDay then setExitonClose ;
|
評分
-
查看全部評分
|