2011年9月19日 星期一

MacroExpress:報價停止的檢查


這個小工具是在 MacroExpress 上運作的,所以如果你想要使用這個工具,必須要有 MacroExpress,如果沒有?去買或是...想辦法!

在程式交易的過程中,日常的策略實際運作,有個最基礎最不顯眼卻也是直接決定我們開發或是A來的策略有沒有機會發揮效用的關鍵:報價。不管使用的平台是 HTS/TS/MultiCharts 或是別的平台軟體,只要沒有報價的資料傳輸進來,再好的策略基本上跟法拉利或是大牛卻沒有汽油的狀況差不多。

當然有些提供報價資訊服務的廠商一再強調他家的服務多快又多穩,還保證送達...坦白說,我是不信這種鬼話的,經過網路傳送的環節那麼多,是要保證什麼,又要拿什麼做保證?我寧願在自己的電腦上多做一點防備的措施,然後坦然接受可能的風險。這篇文章所提供的工具,就是為了當我們自己的電腦不知道什麼原因下,Tick 報價沒有進來的一項防備措施。

這個 Marco 採用讀取平台軟體輸出的文字檔的修改時間來辨認是否報價中斷,所以,如果你使用的平台沒有辦法輸出文字檔(像是MultiCharts券商版)的話,那也是沒搭~

因為通常每一個 Tick 進來的時候,HTS/MC 這些軟體就會做一次文字檔的輸出,所以這個輸出的文字檔就會被修改,既然會被修改,它的最後修改時間就會變動,所以我從程式交易平台輸出文字檔的修改時間下手。在 Macro 每次運作的時候,讀取當下與文字檔修改時間的 小時及分 的數值,做 小時×60+分的計算之後,以現在時間的數值減去文字檔修改時間的數值,如果這兩個相減的數值大於1的話,就代表上次最後一次 Tick 進來的時間距離現在已經超過一分鐘了。在目前台指期的一般狀況下,一分鐘過去都沒有新的報價進來,不是網路有問題就是報價軟體或是程式交易平台有問題了。

在這個 Macro 裡面,你需要讓你的 HTS/TS/MC 輸出一個 R:\Ticking.txt 的文字檔,至於如何做這件事,請自行 Google。而我提供下載的 Macro 裡有在發生判斷為 Tick 報價停止時要呼叫的別的 marco,你需要對這部份自己對因應你個人電腦的調整。
3

以我自己來說,一旦這個狀況發生,我會讓它做交易相關的軟體全部關閉再重新啟動的動作,以排除一般性的小故障。如果真的網路完全斷掉,很抱歉~還是沒救的 XD

本 Macro小工具下載點:NoTick.mex

今天盤中我故意把報價關掉,可以看到這個 Macro 的如預期運作了:
1

熱門文章