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 這個函數的所拉出的數值是會把我們對於程式所設定的滑價與交易成本通通計算進去。所以,自己當天真實的執行損益,也可以跟這個數值比較看看,實際損益比訊號所計算的損益有多少差距。
熱門文章
-
在 MultiCharts 或是 TradeStation 中都有 Set開頭的一些指令可以運用,比如 停損─SetStopLoss、停利─SetProfitTarget,這些都是所謂的 ThisBar 模式運作的特殊指令,它們讓你在條件成立的當根K棒就可以做出對應動作,而不是一...
-
在 MultiCharts 裡,本來我以為 EntryPrice(0) 就代表了最後一個進場的成本價,經過測試後,確定了 EntryPrice( 0 ) 不是最後一次進場價,而是最後進場方向的第一筆價格(可查閱"程式交易語法大全 page 255")。什麼意思...
-
去年開發「 把策略訊號轉換成選擇權去執行 」的時候,一直有個實務上的困擾:標的物價格。 我要把訊號轉成選擇權的時候,事前不能精準的知道要交易哪一個履約價、Put 或 Call,需要在訊號或市況變化的當下才決定交易標的。但在 MultiCharts 的運作架構上,需要開啟欲取...
-
殷鑑不遠。這是 2019/07/03 的台指期貨,在大約 10來秒的時間之中,台指閃崩了近 500點,並且快速回復。這樣類似的事件,在台指不是空前,也不會絕後,即使台灣期貨交易所有所謂的動態穩定機制在運作,這一天,據我所聽聞到也有不少友人在這很短的時間內... 中槍了。這裡,我們...