然而有些時候,我們就是需要知道最後一次的進場價位,特別是加碼後的。既然 MultiCharts 本身用來回報進場價的 EntryPrice( 0 ),不能滿足我,那就只好自己計算創造了。以下就是我做了一個函數用來回報最後一次進場用的。
*******************************
函數名稱:_LastEntryPrice
value1= currentcontracts;
value2= value1*avgentryprice;
if value1<>value1[1] then
_LastEntryPrice= (value2-value2[1])/(value1-value1[1]);
*******************************做個測試,以下是 4 次買進價碼的動作。進場價位依序是 7760、7750、7752、7750。
從以下的 Print 就可以看出自己製作的函數 _LastEntryPrice 與 EntryPrice 有什麼差異了。
但是,我得坦承這個自己做來抓最後一次進場價的函數實際上並不完美,如果你的加碼動作是會在同一根K棒連續追進加碼的話,那麼這個函數 _LastEntryPrice 所回報的數值就會是錯的了。
如果你採用的 MultiCharts 是比較新的版本,比如 8 版的話,我有在 8 版找到可以抓最後幾次進場的內建函數 PosTradeEntryPrice( N, M )。它有兩個參數,N指的是最近的第幾筆(0是未平倉的),M則是N那一筆的第幾次。直接拿上面的例子沿用比較如下:
做一個同一根K棒內連續加碼的實驗觀察就可以比較出,我這個函數的錯誤所在,如果你能採用新版本的 MultiCharts 的話,直接使用 PosTradeEntryPrice( 0, CurrentEntries-1 ) 就可以得到最後一筆進場價了。