1. 程式人生 > >金字塔決策交易系統裡實現股票交易策略實盤自動下單方法

金字塔決策交易系統裡實現股票交易策略實盤自動下單方法

金字塔提供了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元件的介面說明,請參考程式包裡的說明。