很多人需要將模型的及時(shí)觸發(fā)信號共享,其實(shí)金字塔的VBA提供了非常簡單的方式來實(shí)現(xiàn),當(dāng)然需要至少標(biāo)準(zhǔn)版。
我們以圖表程序化交易為例:
1,首先用戶要將模型加載圖表上,登錄模擬交易帳戶,然后啟動(dòng)圖表程序化交易。為了保證觸發(fā)信號的穩(wěn)定性,建議使用走完K線模式運(yùn)行程序化交易。
2,當(dāng)圖表程序化交易出現(xiàn)觸發(fā)交易信號后,VBA會(huì)收到一個(gè)AlarmPleaceOrder 事件,通過這個(gè)事件,我們就可以利用VBA的文件支持功能來將觸發(fā)信號寫盤了,AlarmPleaceOrder 事件觸發(fā)后,會(huì)將模型的各種參數(shù)傳遞過來,這里進(jìn)行簡單的介紹:
AlarmPleaceOrder 事件
當(dāng)出現(xiàn)圖表和后臺本地預(yù)警信號時(shí)發(fā)生。注意,圖表程式化交易事件觸發(fā)僅限標(biāo)準(zhǔn)版及其以上版本才可以使用。
AlarmPleaceOrder(Name,Order, OrderType,Actionk,Volume,Price, Market, Code,Account)
Name 后臺程式化交易預(yù)警名稱
Order 程式化交易類別 0開多 1平多 2開空 3平空
OrderType 下單類型 0限價(jià) 1市價(jià) 2停損
Action 下單方向 0買 1賣
Volume 下單數(shù)量
Price 預(yù)警價(jià)格
Code 品種代碼
Market 市場標(biāo)識
Account 交易賬戶
AlarmPleaceOrder 事件 在 MarketData 對象中。
范例:
Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)
'觸發(fā)過來的信號寫盤
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\"&Name&".txt", True)
a.WriteLine(Order&"--"&OrderType)
a.Close
application.MsgOut Order&"--"&OrderType
End Sub