2014年7月7日

變數歸零

首先要記住一個觀念,PowerLanguage程式碼會從第一根K棒開始的每一根K棒重頭執行/運算一次,但其中的變數(Var)卻是一個連續運算且連續保存的狀態,不會因為到下一根K棒重新運算變數就會歸零,換言之,我們通常賦予變數起始值為0,一但符合條件開始運算,變數的值就會被新的運算結果給取代,這個值會維持到下一個運算又被新的運算結果取代為止。

某些情況下,讓變數歸零便變得十分重要,舉例而言,我們想限定每日當沖次數不超過4次:

Vars:TT(0),currentposition(0);

If date<>date[1] then TT=0;
Currentposition=marketposition;

If TT<4 begin="" span="" then="">
….(買賣邏輯)
end;
If currnetposition<>currnetposition[1] then TT=TT+Absvalue(Currnetposition);

其中”If date<>date[1] then TT=0”就是我們常常運用到的每日第一根K棒讓變數歸零的技巧。