簡單移動平均線(Simple
Moving Average,SMA)是相當簡易實用的技術指標,但最大的缺點就是反應落後,因此有後來改良型均線,例如指數移動平均線(Exponential Moving Average,EMA),其方法就是給最近的值較高權重,讓均線更能反映當下行情變化。本文將介紹另一種均線寫法,可以即時反應近期行情,也就是更為敏感。
概念是,當某個條件成立,例如部位進場,則簡單移動平均線的N值(預設為50)開始遞減,但最低不小於10,那麼這條均線就可以當作移動停利的點位,優點是隨著時間發展,該均線會越來越敏感,語法如下:
Inputs: MALength(50);
Vars: MADays;
If MarketPosition = 0 then MADays = MALength;
{MALength歸為預設值}
If MarketPosition <> 0 then begin
MADays =MADays -
1; {MALength每經過1根K棒遞減1}
MADays =
MaxList(MADays,10); {MALength最低不小於10}
end;
If MarketPosition = 1 then ExitLong next
bar at Average(Close,MADays) stop;
If MarketPosition = -1 then ExitShort next
bar at Average(Close,MADays) stop;
以上語法用了幾個技巧:
1.
將某個變數歸預設值或歸零:
If MarketPosition = 0 then MADays = MALength;
2.
變數每經過1根K棒遞減1:MADays =MADays - 1;
3.
MaxList函數。