This bar Close with Q_Time(下)

阿政

 http://www.yctseng.net/2010/04/this-bar-at-close-with-qtime_15.html

 

繼上篇 This bar at Close with Q_Time(上) 這次要來談談如何運用 Q_Time 來協助 This bar at Close 達到實際運作幾乎或是說非常接近歷史回測,我只是說"幾乎"或是"非常接近"而不是做到,也就是說這樣的手法絕大多數可以得到我們預想的結果,但是一定會成功如常運作嗎?不一定~

首先,我們先分辨一下 Time 與 Q_Time 的差異。這兩者是不一樣的,不僅僅只是同意代換字。Time 指的是 K棒的收盤時間,而Q_Time 指的則是最新 Tick 的時間,舉例以 5 分線圖來說,當盤中真實時間在09:13:08的時候,你可以在當下做個Print( Time, Q_Time ) 應該會得到 091500 091308xxxx 很明顯的,我們會得到兩個不一樣的數值。但是也會看到 Q_Time 的部份只有在最新的這根K棒有數值(不管是否已收盤),之前K棒的 Q_Time 通通是 0 !當然,之前的K棒內塞有超多 Tick ,在HTS 我猜它是乾脆就忽略掉,一律 Return... 0。 

再來,This bar at Close 與 Next bar at Market,盤中運作的食物上應該是幾乎相同的,所以我們需要處理的就是每天的"最後"這1根K棒。在非結算日的日子,要處理的是 K棒時間( Time )= 134500 的這根K棒。但是因為 Q_Time 除了最新的 K棒以外,數值通通為 0 這個特性也不能忘記,否則,我們會失去了歷史上的訊號,當然~回測的部份也跟著不見。

作法如下:

if Condition XX= True and T=134500 and ( Q_Time <= 134440 or Q_Time = 0 ) then
Buy / Sell / ExitLong / ExitShort ..... This bar at Market
end if

是的,在這裡我寫上了 This bar at Market。有在使用自動下單機的朋友應該很清楚這是個非常危險的指令,只要在這個 IF 語句的判斷式內含有"最新價格"及其衍生的數值,同 1根K棒發生來回掃價觸發下單機高頻率的丟市價單就不是什麼新鮮事了。

而為了在將來真的可以做到所謂的收盤站上就在收盤價進/出場,這恐怕是我目前所知的必要之惡了。在條件判斷式中,加入Time=134500讓這個語句只在最後1根K棒有可能作用,並且加入 Q_Time<=134440 讓這個語句只在 134440~134500中間這10秒鐘才有作用的可能性。至於加上 or Q_Time=0 當然是為了留下這個IF語句所作動的訊號不要消失,因為明天一開盤,這根有訊號的K棒會因為 Q_Time 變成 0 而讓訊號消失的,如果你沒有加上 ( Q_Time <= 134440 or Q_Time = 0 ) 的話。


舉個實用上的例子。如果我想要在帳面虧損超過50點的狀況下,不要抱單留倉的話:

if PositionLoss(0)<= -50*PointValue and
   T=134500 and ( Q_Time <= 134440 or Q_Time = 0 ) then
  ExitLong this bar at Market
  ExitShort this bar at Market
end if

本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。

你可能感興趣

    精選文章

    更多
    邊緣運算市場今年衝300億美元,NPU需求居冠,英業達、智原成最大贏家!
    美伊永久和平協議將簽、利率不動?台股收漲1227點突破10均,端午變盤要向上了!
    MCU漲價潮+邊緣AI雙引擎啟動,新唐、盛群攻漲停,義隆卡位CPO添想像!
    每個月自動扣款的那些服務,有幾個你真的離不開?
    指數大震盪!聯電、日月光強彈,資金避風港營建興富發&電信遠傳強攻,下周盤勢重點。
    川普停火費半暴漲、台股跳空收漲1019點!下周升息、三巫日、富時全撞端午變盤?!