金字塔決策交易系統裡實現股票交易策略實盤自動下單方法
金字塔提供了VBA方式的二次開發介面,而VBA是可以很容易呼叫COM自動化介面元件來實現下單的。下面的程式碼可以實現把金字塔中的交易訊號,對接到寬客幫策略執行系統中,從而實現自動交易:
測試巨集
Sub Test()
Dim QuantOrder '定義寬客幫下單COM元件
Dim nCount
Dim bRet
Dim Info
'建立元件物件
Set QuantOrder = CreateObject("ZMOrder.QuantTrade")
'指定應用型別,256預設為金字塔
QuantOrder.AppType = 256
'指定寬客幫定時掃描檔案變化定時器,毫秒
QuantOrder.ScanTimer = 500
'新增名稱為策略3的策略,返回策略編號,在寬客幫對接外掛管理中也可以先編輯維護好策略列表資訊
nQuantID = QuantOrder.AddQuant("策略3",1)
'啟用金字塔策略訊號
QuantOrder.Enable = true
'取當前已存在的策略數量
nCount = QuantOrder.QuantCount
'根據策略ID取策略資訊
Info = QuantOrder.GetQuant(1)
'根據策略遍歷序號取策略資訊
Info = QuantOrder.QuantByIndex(0)
'下單編號5,股票程式碼600000,數量1000股,價格10.30,買入,策略ID是1,Date可指定交易時間
bRet = QuantOrder.AddTrade("5","600000",1000,10.30,true,1,Date)
'下單編號6,股票程式碼000001,數量2000股,價格11.5,賣出,策略ID是2,Date指定交易時間
bRet = QuantOrder.AddTrade("6","0001",2000,11.5,false,2,Date)
'儲存下單指令以生效
QuantOrder.Save()
'取今日已存在的交易委託數量
nCount = QuantOrder.TradeCount
'根據交易委託ID取委託資訊
Info = QuantOrder.GetTrade(5)
'根據交易委託遍歷序號取委託資訊
Info = QuantOrder.TradeByIndex(0)
Set QuantOrder = Nothing
End Sub
程式碼中用到的COM元件及寬客幫策略執行系統,請在這裡下載:https://download.csdn.net/download/quanthelper/10800430
下載程式解壓後,按文件配置好,對金字塔的外掛配置如下:
雙擊QuantHelper.exe啟動配置程式,點選“檔案策略”後的介面再點選對接外掛管理,選擇股票軟體型別為金字塔(確保金字塔行程式名稱為WinStock.exe)可以點選按鈕“自動檢測軟體”掃描本機安裝的金字塔行軟體,如果沒有找到,請先啟動金字塔行軟體後再執行一次,另外點選一次按鈕“安裝外掛”以便實現註冊COM元件(如果您的程式是64位呼叫,請手工註冊寬客幫程式X64子目錄下的COM元件ZMOrder.dll,命令列 regsvr32 X64版實際目錄+ZMOrder.dll寫入一個bat批處理檔案儲存後,右鍵以管理員許可權執行一次)。然後編輯維護好自己的策略列表,系統會自動生成策略的編號,而在呼叫交易函式中需要直接傳入這兒的編號,在COM元件介面中也可以直接通過函式實現編輯策略資訊。關於這個COM元件的介面說明,請參考程式包裡的說明。