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