2009年9月12日 星期六

HTS程式碼範例:在畫面顯示當日損益


這個標題跟我接下來要講的東西其實不是那麼完全的Match,這一篇應該是僅限在"當沖"這樣在每天收盤前一定清倉不留部位過夜的模式。方式其實跟上回講在畫面上顯示進出訊號的價位那篇大同小異,只是這一次要引入過去的「從績效累計計算下次交易口數的初步」那篇使用到的一個函數:I_ClosedEquity,部位結束後的帳戶餘額。

廢話不多說,先看程式碼:
Value129= iff(T=134500, I_ClosedEquity, Value129)
if T=134500 then
TXT_Content = "$"+NumToStr( I_ClosedEquity-Value129[300/BarInterval],0 )
TXT_onChart = TXT_New(Date, Time, iff(Value129-Value129[300/BarInterval]>0, Lowest(L,300/BarInterval), Highest(H,300/BarInterval)),"")
TXT_SetString(TXT_onChart, iff(Value129-Value129[300/BarInterval]>0, "|n"+"|n"+"|n"+"|n"+"|n"+"|n"+"|n"+"|n"+TXT_Content, TXT_Content+"|n"+"|n"+"|n"+"|n"+"|n"+"|n"+"|n"))
TXT_SetStyle(TXT_onChart, iff(Time<111500,0,1), 2)
TXT_SetColor(TXT_onChart, iff(Value129-Value129[300/BarInterval]>0, DarkRed, DarkGreen))
end if

我們用一個變數(Value129)來記錄每天當天收盤時帳戶餘額,之後再用盤中當下的帳戶餘額減去昨天收盤時的帳戶餘額就可以知道今天一整天的損益了。這樣的方式我還沒有經過盤中的檢查實驗,只是我今天閒得無聊想到的。想像中的狀況是盤中會僅有一個數值在顯示著已經實現的當日損益,不需要等到收盤。

隨手"做"幾個訊號來掛上上面那段程式碼,並且也把顯示訊號價位的一併帶進來,得到畫面如下:


如果有注意到那些點位的加減計算,應該會覺得帶有$符號的當日損益的合計數值不大對?是的,因為 I_ClosedEquity 這個函數的所拉出的數值是會把我們對於程式所設定的滑價與交易成本通通計算進去。所以,自己當天真實的執行損益,也可以跟這個數值比較看看,實際損益比訊號所計算的損益有多少差距。

熱門文章