2007年5月7日 星期一
特定時間(收盤)即時訊號與回測兼顧
之前要在尾盤做平倉的動作,我們會運用time這個函數,讓他在TIME=134500的時候去發出平倉的訊號。因為time是抓取K棒的時間,而不是真實的時間,所以如果在當天的最後一根K線出現的時候,HTS就會動作,這樣通常就不是在尾盤,比如以5分線來說,134001的時候,134500的K棒就會出現,但是這時候的K線其實距離收盤還有5分鐘,雖然這時候如果要決定平倉是差不多在此時丟單子出去了,這在低時間層次的問題不大,因為134001去丟單子,成交價應該與當天收盤價相去不遠,因為這5分鐘是撮合交易的;但是較高的時間層級就麻煩了,比如30分鐘、60分鐘,最後一根K線出現的時間到收盤的時間起時還有一段,所謂134500的K棒時間一出現就丟單子的話,其實與收盤價常常相差很大。
所以我做一個如何在尾盤完平倉的實證給大家看看,我寫下的程式碼如下,你可以從其中去體會怎麼玩。
===============================
if time = 091500 then
buy ("BT") this bar at close
end if
if q_time >= 091200 and q_time < 091400 then
buy ("BQ") this bar at market
end if
if time = 092000 then
sell ("ST") this bar at close
end if
if q_time >= 091700 and q_time < 091900 then
sell ("SQ") this bar at market
end if
====================================
我故意把運用TIME所觸發的訊號取名為BT與ST,而運用Q_TIME所觸發的訊號取名為BQ及SQ,這樣可以方便在畫面中區別,請你好好對照程式碼與以下的畫面。
首先在畫面上注意真實的時間(藍色方框),這時出現了BQ的訊號,表示這是由Q_TIME的部分所觸發的。
接下來在過了091500後我讓這畫面RELOAD一次,可以見到畫面的訊號變成BT了,為什麼會這樣?因為Q_TIME這個函數只會在畫面上的最後一根K線有時間的提供,其他的K線是沒有的,所以在原本有BQ的K線因為那根的Q_TIME已經不是介於091200與091400之間,所以IF語句就不成立,但是那根原本有BQ訊號的K線因為K線時間=091500,所以產生了BT的訊號出來。並請你注意一下,這張圖中因為真實時間沒有達到091700,所以雖然下一根K線已經出現,但是因為使用Q_TIME這邊的賣出條件尚未成立,所以並不會出現SQ的訊號,然而,K線時間卻是已經符合TIME=092000囉!那為什麼沒有見到ST的訊號呢?因為這部分的賣出指令用的是THIS BAR AT CLOSE,所以他會壓抑到CLOSE的時間到了才會出現ST的訊號。
相同的邏輯,請注意一下這張圖,在時間達到091700後,SQ的訊號就跳出來了,如果這畫面沒有做RELOAD的動作的話,會因為SQ的訊號存在,導致ST的訊號不出現,而在RELOAD後則因為SQ訊號的條件不成立而ST的條件成立了,畫面上會出現ST而不是SQ了。
由以上的變化可以得知,BQ、SQ其實都是為了在盤中即時性的出現動作的訊號而使用THIS BAR AT MARKET這樣的DIRTY指令,但是程式的歷時回測,則根本不會出現BQ、SQ,所以在尾盤或是特定時間的買進賣出或是平倉動作的績效不會受到影響,且歷時回測績效則依然可以保持正確。
弄得這樣複雜是為了什麼?很簡單~為了操盤與生活品質要兼顧^^
熱門文章
-
殷鑑不遠。這是 2019/07/03 的台指期貨,在大約 10來秒的時間之中,台指閃崩了近 500點,並且快速回復。這樣類似的事件,在台指不是空前,也不會絕後,即使台灣期貨交易所有所謂的動態穩定機制在運作,這一天,據我所聽聞到也有不少友人在這很短的時間內... 中槍了。這裡,我們...
-
經過多年的策略開發對腦力的壓榨,如果手上的素材(資料)沒有新東西的話,基本可以說很快就會從滿腔熱血走到老狗變不出新把戲。因為最容易取得的資料就是商品歷史價格,策略的開發也就幾乎是圍繞在價格及其衍生的數值為基礎,也就是價格因素策略。 台灣是一個特別奇妙的市場,交易所公開的資料相...
-
STO 訂閱購買: https://www.touchance.com.tw/sto/index 推展「 以選擇權執行策略訊號 」一段時間日子後,深感這工具的程式碼即使經過面對面的詳細解說,其實對絕大部分的人來說,難度依然是非常的高!我想,上過課的同學其實就是買工具回去用吧 XD...
-
以下是抄錄 凌波微步 大,在 程式交易俱樂部 上的一篇發文與討論,經過排版處理(以下論點指單口交易系統)。黑色字是引述,藍色字是凌波微步的發言。 我在很多文章裡都提過這件事情,但這件事情可能很多人並不同意。但是我不斷地寫(順勢)程式模擬並用數學方法思考卻一直指向這個結論,推...