開啟程式交易監控器,掌控所有來源訊號
MR.AutoTrading監控端平台主要是監控所有運行中的策略,資料來源主要是透過策略運算平台(例如:Multicharts、TradeStation、Python..)將資訊輸出,而溝通的媒介主要是透過文字檔的傳遞,將策略運算平台所運行的策略資訊完整呈現在MR監控端,方便使用者一個介面掌控所有策略狀態。
至於曾經有用戶問過,為什麼我們不使用動態連結程式庫(DLL)進行資料傳遞?其實主要是目前使用文字檔應該可以符合所有用戶需求,相信絕大多數的人都不是高頻交易者,更何況高頻交易一定會是自己建構策略運算平台,自己串報價,不會使用Multicharts這類套裝軟件,所以使用文字檔,搭配虛擬硬碟(RamDisk)已經綽綽有餘,且兼顧了實用性與偵錯方便性。
文字檔會不會讓程式很耗費系統資源?其實並不會,圖1是我們交易機的MR運作狀況,1/1000秒讀取150個文字檔,所需資源CPU 0%,Ram18.9MB,當然這還牽涉到主機規格與行情是否快速變化,但是大致上資源的耗費都不高,所以大家應該可以不需要擔心這個問題了。
4種來源訊號的異常狀況整理
那我們更應該把焦點放在什麼問題上?答案是來源訊號的任何異常狀況風控,異常狀態指的是什麼?沒有依照正常的圖表庫存進行輸出,而不管是使用文字檔,或是動態連結程式庫(DLL)進行訊號的傳遞,都有可能遇到異常的狀況,下面我們替大家歸納了幾種比較可能遇到的問題
1、兩張以上圖表輸出到同一個文字檔
策略在輸出的時候,都會將使用者設定的策略名稱作為文字檔辨識依據,若設定失誤,將兩張以上的圖表設定輸出至同一個文字檔,而不同圖表的策略庫存剛好不同時,就會造成倉位持續變化,下單機持續依照倉位變化進行下單。
2、自行設計策略上下架,程式撰寫瑕疵
MR有提供自動化策略上下架,透過控制ActMode來達到策略上下架的目的,完全開放的運作模式可以讓使用者自行設計上下架邏輯,自由度高固然是好事,但若對於程式邏輯不夠熟悉,ActMode控制不好,市場價格剛好又在上下架臨界點,就容易發生進出頻繁的狀況。
3、策略撰寫瑕疵
程式交易就是使用者設計什麼程式,電腦就依照指令運作,所以若策略撰寫上有瑕疵,就可能會造成圖表訊號異常,持續進進出出。通常撰寫策略時不要使用IOG模式,就比較不會發生問題。
4、策略運算平台出現非預期的錯誤
儘管Multicharts已經是很普遍的策略運算平台,但仍然有可能會有非預期的錯誤產生,這類錯誤我們無法預知,只要訊號觸發還是在Multicharts上,問題就無法完全避免。
針對上述第3點與第4點,不管外部或是內部下單,若是有庫存異常改變的狀況,皆會遭受損失。我們在MR的監控端設計了文字檔異常監控功能,目的就是為了解決上述4點可能遇到的問題,讓使用MR的我們,在自動交易的過程中可不必再擔憂任何來源檔案出現人為或非人為異常狀況時的損失。
MR下單機教學,來源異常的判定及排除介紹
接下來跟大家說,MR怎麼進行來源異常時的障礙判定及排除,MR在啟動資料載入後,若有設定文字檔異常監控功能,會啟動一個監控器,該監控器就是“個別”針對來源檔案進行監控,監控倉位值與上下架開關是否有異常變化;所謂異常變化代表的意思就是比方倉位值頻繁的1、0跳動,而下單機都是被動的接收訊號變化進行動作,所以就傻傻地跟著買進又賣出,而在現在,只要設定了文字檔異常監控功能,MR就會替使用者進行把關!!
如下圖2,我們有提供MR使用者自行設定監控值,在設定=>文字檔異常監控可以開啟下方這個畫面,有兩個欄位可以設定,第1個是監控改變的區間,第2個是這個區間內文字檔的倉位與上下架開關只能改變多少次,所以該監控器的工作,就是超過我們所設定的範圍,以圖2為例,只要任何一個文字檔的倉位或是上下架開關在10秒內改變了20次,MR將會自動排除此訊號的參考。若要提供建議值,我們本身的設定值是20秒10次,當然,使用者可以依照喜好自行設定。
如下圖3,當系統監控狀態下,有任何來源文字檔發生異常,時間區間內,倉位及上下架開關的改變超過了監控設定值,MR會立即終止該文字檔的所有訊號參考,並將該策略標註紅底方便辨識,並且會透過即時通訊軟體推播訊號異常,讓MR使用者可以知道該介入處理。
其他推薦文章
2分鐘了解程式交易是什麼?
推薦程式交易教學網站
https://meet.bq995.com/mc