Marketposition(n)是我們常用到的保留字,意思是算出訊號的部位狀況,共有三種結果:
1è多單
0è沒部位
-1è空單
n是代表前面第幾個訊號,直接舉例說明。假設有一策略訊號從最一開始到現在依序是:多、空、沒部位、空、多,則:
Marketposition為1(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,當我們想知道過去第n根K棒的部位為何,就可以以currentposition[n]來表示,例如過去第5根K棒時的部位可以寫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棒高點。