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,你需要對這部份自己對因應你個人電腦的調整。
以我自己來說,一旦這個狀況發生,我會讓它做交易相關的軟體全部關閉再重新啟動的動作,以排除一般性的小故障。如果真的網路完全斷掉,很抱歉~還是沒救的 XD
本 Macro小工具下載點:NoTick.mex
今天盤中我故意把報價關掉,可以看到這個 Macro 的如預期運作了:
熱門文章
-
下單大師這個下單機,提供了萬用API的模式去接收交易策略的即時部位,號稱說可以做到千分之一秒的奇蹟,有沒有這麼神?其實不必在意,至少這個方式在我目前看來,夠快。畢竟從訊號的產生到成交之間的環節不少,要是有速度慢的狀況,還得一個一個去找解方。 這篇文章提供的方式不再需要輸出文字...
-
在 MultiCharts 裡,本來我以為 EntryPrice(0) 就代表了最後一個進場的成本價,經過測試後,確定了 EntryPrice( 0 ) 不是最後一次進場價,而是最後進場方向的第一筆價格(可查閱"程式交易語法大全 page 255")。什麼意思...
-
一些 專業版-MultiCharts 能做,而券商版不能做的事情,除了圖表數量限制、投資組合回測外,最重要的就是在編輯程式碼之中,幾乎把要對外聯繫的關鍵字都給切斷了。這一篇就是教你,如何讓你的 券商版-MultiCharts 重新取回對外聯繫的能力。 ※ 當初獲知的知識來源: ...
-
在 MultiCharts 中要把一些所需的資訊輸出出去,存成文字檔(.txt)的形式,內建於 MultiCharts 的 fileappend 與 print 指令都能順利辦到。另外,國內有凌波大分享的 outputfile.dll 與 下單大師的 omSignTXT.dll ...