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