2008年11月22日 星期六
HTS程式碼:點數停損之開盤跳空人性版
關於停損,實在是五花八門,各有所好,也各有其優缺點,過去我發佈過如下這篇:2007/04/01的絕對點數停損
那是採用This Bar的方式去作,因為有一大票人就是鄙視This Bar,你也可以改換成如下的方式:
Parameters:maxLOSS(30)
.
.
.
//****************絕對點數停損-START****************
if BarsSinceEntry(0) = 0 then
Value1111 = EntryPrice(0) - maxLOSS*iff(maxLOSS>=1,1,EntryPrice(0))
Value1112 = EntryPrice(0) + maxLOSS*iff(maxLOSS>=1,1,EntryPrice(0))
end if
if MarketPosition > 0 then
ExitLong Next Bar at Value1111 STOP
elseif MarketPosition < 0 then
ExitShort Next Bar at Value1112 STOP
end if
//****************絕對點數停損-End******************
最近,台股一大堆跳空,而且一跳還常常都是不小的GAP,對於執行點數停損來說,等於是一開盤就把自己的部位給秒殺了~不諱言,有點笨的阿政這兩三個月不知道被秒殺幾次了T_T。
但是不知道大家有沒有發現,近期似乎常常有開低卻走高或是開高就走低的狀況發生?開盤幾乎就是當天的最高點或是最低點的附近,這樣的實況對於忠實執行自我停損的人來說,至少心裡上就是TMD^10,這是實話。我願意停損,我也切實執行停損(都接上自動下單了還不切實嗎),但是對於這樣一跳空就要停損的狀況來說,我可不可以有一點點真實部位損失上的人性考量呢?
以作多來說:一跳空就來200點,反正就是要虧這兩百點了,如果當天是開盤就是低點,開低就走高,不論後續的狀況如何,在一開盤就送出了平倉的指令總是讓人不爽的。我可不可以如果一開盤的跳空就在我的停損價之下的話,先憋一下,如果真的又往下走,還是一樣停損~說真的啦,跳空兩百都已經要死兩百點去了,如果等一下~比如開盤往下又走了5點才了斷,虧200與虧206點...其實差不多吧。而如果當天真的就是開低走高呢?而這也是最近我收到的來信問題^^。這個狀況我想想可以公開給大家參考。PS.我沒有對這個問題收費,因為我有打算公開這個程式碼在心中了。
來~我們就這樣做。前半段與之前的點數停損寫法是相同的,但是因為要等到開盤價的出現,才能看當天是不是真的跳空,這就只好用上This Bar了。
Parameters:maxLOSS(30)
.
.
.
//****************絕對點數停損-START****************
if BarsSinceEntry(0) = 0 then
Value1111 = EntryPrice(0) - maxLOSS*iff(maxLOSS>=1,1,EntryPrice(0))//多單停損價
Value1112 = EntryPrice(0) + maxLOSS*iff(maxLOSS>=1,1,EntryPrice(0))//空單停損價
//這樣的寫法可以利用參數直接決定要用點數或是%去決定你的停損價位。
end if
//這一段用來判斷跳空直接跳在原始停損價以下的,如果發生了就調整停損價。-Start
if Date>Date[1] then//用DATE來判斷開盤,不論幾分線都適用。
if Open < Value1111 and MarketPosition > 0 then
Value1111 = Open - 5
Exitlong next bar at Market//別心存僥倖,價格會跑到原始停損價外就是錯誤的部位。
elseif Open > Value1112 and MarketPosition < 0 then
Value1112 = Open + 5
Exitshort next bar at Market//別心存僥倖,價格會跑到原始停損價外就是錯誤的部位。
end if
end if
//這一段用來判斷跳空直接跳在原始停損價以下的,如果發生了就調整停損價。-End
//實際執行停損的部份-Start
if MarketPosition > 0 and Low <= Value1111 and BarsSinceEntry(0) > 0 then
if Open <= Value1111 then
Exitlong this bar at Open or Higher
Exitlong this bar at Open or Lower
else
Exitlong this bar at Value1111 or Higher
Exitlong this bar at Value1111 or Lower
end if
Value1111 = 0
elseif MarketPosition < 0 and High >= Value1112 and BarsSinceEntry(0) > 0 then
if Open >= Value1112 then
Exitshort this bar at Open or Higher
Exitshort this bar at Open or Lower
else
Exitshort this bar at Value1112 or Higher
Exitshort this bar at Value1112 or Lower
end if
Value1112 = 999999
end if
//實際執行停損的部份-End
至於是不是開盤往下再走5點或是要開盤後再走0.5%或是怎樣的Buffer安排,這就有賴你自己的創意了。
熱門文章
-
說起資金管理,大約都會耳聞過 Kelly formula,也會聽過它其實用在交易上的問題很大。後來有以 Kelly 精神生出了 Optimal F。而它的來由與計算方法,我就不多贅述,請自行參考: 牧清華的文章 。 要把 Kelly formula 寫成 MultiCha...
-
在執行多策略組合交易的時候,每個策略圖表獨立運作,各自下各自的單。但我們常常可以發現在某些時候(特別是開盤),出現 A策略要翻多、B策略卻要翻空,對我們的帳戶來說,因為策略圖表獨立運作的原因,實際上卻幾乎同時發出買進、賣出的委託單,而成交回來的價格又往往是買外盤、賣內盤,這完全是...
-
承繼自上篇「 函數:十進位轉二進位 」。 說實在的,這篇文章在我自己的心中就像是在引導讀者走向 Curve over fitting。這個方法,基本上這麼做跟把圖表攤出來,搞 DataMining 也滿接近了 XD 過去,我們會在策略的測試中使用"參數"...
-
這個秘密我過去只在課程或是講座中才會提。今天把它公開,為什麼我以前下大台,到了近年卻下起小台來了。理由就是...這是天上掉餡餅的好事啊!不費吹灰之力就可以提昇自己的交易系統績效的期望值,何樂而不為! 首先,你應該會覺得小台的手續費比大台貴,怎麼可能不下大台改去下小台?簡...