当前位置:网站首页>【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)
【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)
2022-08-02 14:19:00 【IT里的交易员】
给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)
一、安装QMT
下载后安装QMT,假定安装在D:\qmt。目录最好不要有中文或者空格。
二、给QMT安装python
登录后选择“设置”菜单进入系统设置,选择交易设置->模型设置,点击Python库下载。如果安装目录为D:\qmt,则python默认安装在目录D:\qmt\bin.x64
三、给QMT的python环境安装第三方库
注意:安装三方库前,请备份 QMT安装目录\bin.x64\ 目录下的 DLLs 和 Lib 这两个文件夹,以便在安装三方库引起系统错误后,可以恢复系统默认的库文件。
如果你本地有其他python版本的话,建议使用虚拟环境来操作。这样不会影响你原有的python版本以及已经安装的第三方库。如果你的电脑只是做交易,是按照QMT要求只安装了Python 3. 6. 8版本,本机也不经常使用python的话,可以跳过虚拟环境这一步骤。
1.准备python虚拟环境
由于QMT使用python版本为3.6.8,为了兼容性更好,我们通过Anaconda在本地虚拟一个python3.6.8环境。
1.Anaconda的安装及环境配置(自己百度,csdn里指导文章很多)
2.创建虚拟环境
建立一次即可,已建立不用重复建立,name 后的qmt是环境名称,自己起名,以后用这个激活虚拟环境
conda create --name qmt python=3.6.8
3.激活虚拟环境
以后均要先激活,再通过pip安装第三方包
conda activate qmt
2.安装第三方库到指定目录
以上准备妥当后,先激活虚拟环境
假设QMT我安装在D:\qmt,那么第三方库需要安装到这里
D:\qmt\bin.x64\Lib\site-packages
安装第三方包,以安装pytdx 为例,注意指定目录
pip install pytdx --target=D:\qmt\bin.x64\Lib\site-packages
如果安装第三方库,感觉有些慢,还可以在命令行临时添加一下参数,使用清华源,这样速度会快很多。
pip install pytdx --target=D:\qmt\bin.x64\Lib\site-packages -i https://pypi.tuna.tsinghua.edu.cn/simple
四、在QMT里调用第三方库(代码)
1.第三方库pytdx在QMT里的调用方法
以下已pytdx为例,展示如何调用第三方库文件,关于pytdx的介绍请自行参考相关文档学习。
#encoding:gbk
# 加载pytdx库
from pytdx.hq import TdxHq_API
# 实例化tdx行情对象
api = TdxHq_API()
def init(ContextInfo):
pass
def handlebar(ContextInfo):
# 数据获取接口一般返回list结构,如果需要转化为pandas Dataframe接口,可以使用 api.to_df 进行转化
with api.connect('119.147.212.81', 7709):
df = api.to_df(api.get_security_bars(9, 0, '300750', 0, 50))
print('pytdx行情获取\n',df)
备注: pytdx说明文档
https://rainx.gitbooks.io/pytdx/content/
2.单个文件第三方库调用方法
MyTT将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现和转换同花顺通达信所有常见指标MACD,RSI,BOLL,ATR,KDJ,CCI,PSY等,全部基于numpy和pandas的函数封装,简洁且高性能,能非常方便的应用在各自股票股市技术分析,股票自动程序化交易。
我们假定下载MyTT库文件MyTT.py,并放在D:\common下。调用该第三方库文件在策略文件开头添加如下代码,在QMT代码里即可实现对库函数的调用。其它同上。
import sys
sys.path.append(r"D:\common")
from MyTT import *
MyTT库介绍:
https://github.com/mpquant/MyTT
五、QMT内置库
QMT的python环境内置了很多官方库文件,我们不安装也可以使用。如和数据库连接的库,pymongo,pymysql,redis(内存数据库),使用这些可以直接在QMT里面调用自己的数据库数据,将必要的QMT数据保存到自己的数据库。
我们还可以使用内置的requests库实时爬取一些网站的数据,比如集思录,东方财富网等。所以在QMT的自带数据不满足的情况下,还可以使用外面的数据来补充。
各位还有其它需求,欢迎在评论区里补充,有空的话我将更新补充到文章内。
边栏推荐
猜你喜欢
随机推荐
Mysql锁机制与事务隔离
Explain in detail how the bit manipulation operators in C language can be used?
(三)文件操作之一——文件IO
华为单臂路由配置,实现不同vlan之间的通信
静态方法的缺失
DOM —— 事件代理
[Fault Diagnosis] Weak Fault Diagnosis of Fan Bearing Based on PSO_VMD_MCKD Method
搭建Spark开发环境
VMware 安装openwrt
makefile——library
The difference and connection between dist, pdist and pdist2 in MATLAB
CUDA programming based on Visual Studio 2015 (1): basic configuration
【IP基本原理-ARP原理】
ssm整合
DOM —— 事件类型
MYSQL5.7详细安装步骤
2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
【时间序列模型】AR模型(原理剖析+MATLAB代码)
解决跨域的方法 --- Proxy
2021 Huawei Cup Mathematical Modeling Contest E question - Ultra-Wideband (UWB) precise positioning problem under signal interference