2008年2月15日 星期五
HTS的烏龍K線
在昨天的交易日誌中,我提到了在盤中因為一個動作導致了HTS自己多生出一根不應該存在的烏龍K線,現在來說怎麼「製造」這一根烏龍K線。
首先這是平常時HTS開啟後正常的4000畫面。
只要你原本是在期貨連續的狀態下,再去點按一次期貨連續,我們就能得到這個烏龍K線了>_<。
有個簡單的手動方式,隨便找其他地方做會讓資料RELOAD動作的按一下就會恢復正常了,比如這樣。
現在,我們來看看,如何避免這個烏龍K線干擾自動交易。先來看看當烏龍K線發生的時候,實際上當下K線的所產生的資料狀況。你可以看到這個視窗中,最後兩行的日期與時間竟然完全相同,但是其上的都不會有這狀況,因為這是烏龍K線嘛!
我們就用這個原理來自救,這是我在烏龍K線存在的時候去觀察HTS所輸出的文字檔的狀況,在沒有自救前,HTS繼續呆呆的輸出這個文字檔,我昨天就是這樣多了一筆莫須有的交易的。
怎麼解決呢?請先閱讀上一次我推出的『誤觸錯誤時間層級防呆措施』。網友jedyang提供了這個方法(由衷感謝):就在那一行為了防止錯誤的時間層級也繼續跑訊號出來的地方,加上 date>date[1] or time?time[1] 。變成如下:
//防呆裝置:限制為30分鐘線專用
IF BarInterval = 30 AND DataCompression = 1 AND
(DATE > DATE[1] OR TIME > TIME[1]) THEN
.
.
.
你的交易程式碼
.
.
.
END IF
就邏輯上來說,這樣應該就可以解決了。但是實際上我做了測試,這樣方法並不可行,我說明一下我的測試方式:我先在程式的末段加上這個語句,目的是要在下一根K線出現的時候要他無論如何顯現買出的訊號,再「下一根」K線尚未出現時是不會有訊號的。
if date = 1080215 and time = 124500 then
sell next bar at market
end if
如下圖,這時候是沒有SELL的訊號的。
在我已經於交易程式最外圈加入了那個date>date[1] or time>time[1]的狀況下,我現在製造了烏龍K線,得到這個結果:不論是圖面上,或是HTS輸出到文字檔上的,通通馬上變成SELL的狀態,所以這方式我覺得是不可行的,這裡出現了邏輯上與真實運作上的落差。
我推測著:在烏龍K線發生的時候,PRINT的DEBUG視窗中顯示的數值與實際上HTS運作脫節了,目前,我還沒有想到完善的方式去克服,我現在僅能於重新RELOAD資料時,不要去碰這個「期貨連續」的按鈕而已,因為這個東西不要碰到就不會產生烏龍K線。
我很盼望有哪位大德願意來這裡教導我們如何搞定這個烏龍K線。
熱門文章
-
殷鑑不遠。這是 2019/07/03 的台指期貨,在大約 10來秒的時間之中,台指閃崩了近 500點,並且快速回復。這樣類似的事件,在台指不是空前,也不會絕後,即使台灣期貨交易所有所謂的動態穩定機制在運作,這一天,據我所聽聞到也有不少友人在這很短的時間內... 中槍了。這裡,我們...
-
經過多年的策略開發對腦力的壓榨,如果手上的素材(資料)沒有新東西的話,基本可以說很快就會從滿腔熱血走到老狗變不出新把戲。因為最容易取得的資料就是商品歷史價格,策略的開發也就幾乎是圍繞在價格及其衍生的數值為基礎,也就是價格因素策略。 台灣是一個特別奇妙的市場,交易所公開的資料相...
-
STO 訂閱購買: https://www.touchance.com.tw/sto/index 推展「 以選擇權執行策略訊號 」一段時間日子後,深感這工具的程式碼即使經過面對面的詳細解說,其實對絕大部分的人來說,難度依然是非常的高!我想,上過課的同學其實就是買工具回去用吧 XD...
-
在 MultiCharts 裡,本來我以為 EntryPrice(0) 就代表了最後一個進場的成本價,經過測試後,確定了 EntryPrice( 0 ) 不是最後一次進場價,而是最後進場方向的第一筆價格(可查閱"程式交易語法大全 page 255")。什麼意思...