2014年7月7日

詳解"Marketposition"的用法

Marketposition(n)是我們常用到的保留字,意思是算出訊號的部位狀況,共有三種結果:
1è多單
0è沒部位
-1è空單
n是代表前面第幾個訊號,直接舉例說明。假設有一策略訊號從最一開始到現在依序是:多、空、沒部位、空、多,則:
Marketposition1(0的話可以不用寫,直接寫成Marketposition)
Marketposition(1)-1
Marketposition(2)0
Marketposition(3)-1
Marketposition(4)1

這邊要注意的是,並沒有Marketposition[n](注意,是中括號)的寫法!也就是Marketposition(n)並不能告知我們過去第幾根K棒的部位為何,假設我們想知道過去第幾根K棒的部位為何就必須另外處理,舉例如下:

Vars:currentposition(0);

Currentposition=marketposition;

我們設一個變數currentposition儲存marketposition,當我們想知道過去第nK棒的部位為何,就可以以currentposition[n]來表示,例如過去第5K棒時的部位可以寫currentposition[5]來取得。

另外,還有一種常見的用法,假設我們想以前一個進場訊號的K棒的高點當作目前空單的停損參考價:

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

Currentposition=marketposition;
If currentposition<>currentposition[1] then HH=High;
If marketposition=-1 then exitshort next bar at HH[1] stop;

“currentposition<>currentposition[1]”可以定位出交易訊號變化的K棒,然後將該根K棒高點存到變數HH,而HH[1]就是前一個進場訊號的K棒高點。