自建數據庫從聚寬到Q-MT自動化交易實戰
從接觸聚寬以來一直都是手動跟單,在網上看到許多大佬的自動交易文章,心里也不禁十分癢癢。百說不如一練,千講不如實干。經過一番努力,終于成功實盤了,效果還可以,幾乎是零延遲。
根據分析,實盤的思路基本都是利用聚寬策略的信號,通過中轉,在Q-MT或者P-trade中下單。由于許多券商的P-trade對于訪問外部數據有限制,所以通過Q-MT來實現更為方便。
流程如下:1、聚寬策略產生交易信息;2、將交易信息同步上傳到數據庫;3、Q-MT實時從數據庫讀取交易信息下單。
下面以國金Q-MT,聚寬小市值策略,數據庫Sql server來說明我的做法。也許你覺得sql server數據庫比較重,有點像高射炮打蚊子,不過是我比較熟悉用起來順手,關鍵是聚寬和國金Q-MT都支持Sql server,不需要再安裝第三方庫。
一、安裝sql server 數據庫
購買騰訊云服務器,最便宜的就行,大約幾十塊錢,可以去淘寶上買。在云服務器上安裝Q-MT,安裝sql server2012并開通外網訪問。sql server2012可以從網上下載,也可以安裝最新版的,實在不想勞神,我給你個鏈接(百度網盤 請輸入提取碼?)。
在sql server 中創建一個數據庫touzi,創建一個表trade,字段分別是iD,code,name,num,price,guoqi,date,falg,zhixing_time,type。(哈哈,請原諒我的中英文混合。不過建議字段最好跟我這個一模一樣,這樣你后面就不需要修改代碼了。上面的具體過程就不寫了,如果不會,可以從網上查或者私聊。也可以參考這篇文章,寫得很詳細:如何在WindowsServer服務器上配置SQL Server數據庫? - 西瓜程序猿 - 博客園?)
?
這里特別提示:字段guoqi要將默認值設置為0。
二、修改聚寬策略
將下載的附件中my**_sql.py文件上傳到聚寬研究環境中,并修改其中的數據庫的訪問地地為你的。
在聚寬策略的最上面添加一行代碼:
from my**_sql import (
order_zzy as order, order_target_zzy as order_target, order_value_zzy as order_value,
order_target_value_zzy as order_target_value
)
三、Q-MT設置
打開Q-MT軟件,導入附件中的Q-MT策略,
把界面文件復制到你的q-mt的下面文件夾里:
?
注意:Q-MT文件與Q-MT界面文件的文件名要一致。
Q-MT參數設置:
附件說明:
一共3個文件:
信號上傳文件:my**_sql.py 用來上傳聚寬信號;
Q-MT界面文件:聚寬Q-MT信號買賣sql.xml 用來設置Q-MT參數;
Q-MT運行文件:聚寬Q-MT信號買賣SQL.rzrk 用來接受信號,下單交易。
一步一步跟著做,應該沒有什么問題。如果有問題,可以和我交流QQ160306608,全程輔導。
問題答復:
1、:關于建表,說明一點,字段ID要設置為自增量,不然會報錯。不想設的話,不要這個字段也可以。
2、如何同時跑多個策略?
第一步,將上面三個文件分別復制一份,改成其他名稱。注意Q-MT界面文件名與Q-MT運行文件名要一致。將這三個文件分別放到對應的位置。
第二步,修改信號上傳文件名的策略分類。
第三步,聚寬策略增加的那一行里的my**_sql改成新的信號上傳文件名。
第四步,界面文件里的策略分類改成第二步的那個策略分類。
這樣就可以實現多個策略運行了。
不過有一個小問題,如果不同的策略買了同一支股票,一個策略賣的時候會一次賣掉。