【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)

2023-05-16

给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)

  • 一、安装QMT
  • 二、给QMT安装python
  • 三、给QMT的python环境安装第三方库
      • 1.准备python虚拟环境
      • 2.安装第三方库到指定目录
  • 四、在QMT里调用第三方库(代码)
      • 1.第三方库pytdx在QMT里的调用方法
      • 2.单个文件第三方库调用方法
  • 五、QMT内置库

一、安装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的自带数据不满足的情况下,还可以使用外面的数据来补充。

各位还有其它需求,欢迎在评论区里补充,有空的话我将更新补充到文章内。

拓展阅读:
【量化交易行情不够快?】一文搞定通过Win10 wsl2 +Ubuntu+redis+pickle实现股票行情极速读写_IT里的交易员的博客-CSDN博客 https://blog.csdn.net/popboy29/article/details/126189105

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码) 的相关文章

  • 常用内存操作函数

    常用内存操作函数 常用内存操作函数1 设置内存数据2 复制内存数据3 移动内存数据4 比较内存数据5 对齐分配内存6 释放对齐分配的内存 总结 常用内存操作函数 内存操作是C语言的基础 xff0c 常用的内存操作函数大致可以分成如下6类 1
  • RT-Thread临界段之rt_hw_interrupt_enable和rt_hw_interrupt_disable

    一 PRIMASK PRIMSK 61 1 关闭中断 PRIMSK 61 10 打开中断 二 void rt hw interrupt enable rt base t level 有参数 xff0c 无返回值 该功能将设置指定的中断状态
  • 信号量使用之:线程间同步与互斥,线程与中断同步,资源计数

    一 线程与线程的同步 互斥 xff08 锁 xff09 生产者与消费者问题本质是 xff1a 解决线程间互斥关系和同步关系问题 由于缓冲区是临界资源 xff0c 它一个时刻只允许一个生产者放入消息 xff0c 或者一个消费者从中取出消息 x
  • 互斥量之:与信号量区别;死锁;优先级翻转;递归锁

    一 互斥量 xff08 一 xff09 互斥量的定义 互斥量的状态只有两种 xff0c 开锁或闭锁 xff08 两种状态值 xff09 当有线程持有它后 xff0c 互斥量将处于闭锁状态 xff0c 由这个线程获得它的所有权 相反 xff0
  • 线程同步之事件集event

    一 事件集 一个事件集中包含 32 个事件 xff08 一个 32 bit 无符号整型数 xff09 xff0c 特定线程只等待 接收它关注的事件 可以是一个线程等待多个事件的到来 xff08 线程 1 2 均等待多个事件 xff0c 事件
  • 电源引脚VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT

    总体电源框图 一 名词解释 名称说明备注VCC电路的供电正电压一般表示模拟信号电源GND电路的供电负电压 xff1f 表示模拟信号地VDD芯片的工作正电压表示数字信号电源VSS芯片的工作负电压表示数字电源地VDDA芯片的工作正电压 模拟 V
  • iOS 系统自带地图 基本实现

    CLLocationManager 首先 xff0c 来讲一下CLLocationManager 因为 xff0c 有人明天要用到 xff0c 临时写的 那么怎么使用呢 xff1f 首先需要定义一个CLLocationManager的属性
  • norflash和nandflash;SRAM和SDRAM

    一 常见存储类型 典型应用名称描述MCU片内flashnorflash nor flash数据线和地址线分开 xff0c 可以实现ram一样的随机寻址功能 xff0c 可以读取任何一个字节 但是擦除仍要按块 页 擦除 因为按照字节寻址 xf
  • 断言ASSERT使用详解

    一 assert的定义 原以为assert 仅仅是个报错函数 xff0c 事实上 xff0c 它居然是个宏 xff0c 并且作用并非 34 报错 34 在经过对其进行一定了解之后 xff0c 对其作用及用法有了一定的了解 xff0c ass
  • 快速排序qsort函数用法

    一 qsort函数简介 排序方法有很多种 xff1a 选择排序 xff0c 冒泡排序 xff0c 归并排序 xff0c 快速排序等 看名字都知道快速排序是目前公认的一种比较好的排序算法 因为他速度很快 xff0c 所以系统也在库里实现这个算
  • 调度器锁rt_enter_critical() & rt_exit_critical()

    一 函数说明 void rt enter critical void 进入临界区 调用这个函数后 xff0c 调度器将被上锁 在系统锁住调度器的期间 xff0c 系统依然响应中断 xff0c 如果中断唤醒了的更高优先级线程 xff0c 调度
  • RT Thread studio同时生成bin和hex文件

    一 RTT默认生成bin文件 默认选择Raw binary xff0c 则项目对应的debug文件夹下生成bin文件 xff1b 修改成intel的话 xff0c 则项目对应的debug文件夹下生产hex文件 xff1b 二 同时生成bin
  • 使用CJSON 解析JSON 结构体数组【典型】

    1 CJSON数据结构定义 define cJSON False 0 define cJSON True 1 define cJSON NULL 2 define cJSON Number 3 define cJSON String 4 d
  • RTThread:静态线程&动态线程

    一 静态线程创建 rt thread init rt err t rt thread init struct rt thread thread const char name void void parameter entry void p
  • C指针传参的一些思考

    一 仅操作变量名的子函数 xff0c 在主函数中无法真正实现值传递 如下 xff1a void swap 1 int num1 int num2 作为主函数的子函数 xff0c 被main函数调用 xff1b 在子函数内部实现了num1 和
  • 再论指针数组与数组指针

    一 二者的区别 xff08 一 xff09 直观的差异 int p 5 指针数组 xff0c 元素为指针 int p 5 数组指针 xff0c 指向数组的指针 xff08 二 xff09 非直观差异 1 xff09 数组指针 xff1a 待
  • Anaconda Prompt工作路径的切换

    Anaconda Prompt工作路径的切换 缘由进入Anaconda Prompt激活 labelme所在环境退出到现在所在盘的根目录进入目标盘输入目标文件路径 缘由 数据集制作过程中 xff0c 想要进入D盘下的存放json的文件夹 x
  • 认识一下 Azure DevOps

    目录 新手入门 认识 安装入门 Azure Board 敏捷面板Azure Repos 代码仓库Azure Pipeline CI CD 管道Azure Test Plan 测试管理Azure Artifact 包托管 Azure DevO
  • 10个数比大小(排序)——冒泡和选择

    10个数比大小 xff08 排序 冒泡和选择 一 冒泡法 xff08 起泡法 xff09 冒泡排序的基本概念是 以升序排序为例 xff1a 依次比较相邻的两个数 xff0c 将小数放在前面 xff0c 大数放在后面 即在第一趟 xff1a
  • vue3 实现界面数据实时变化

    技术支持 xff1a Vue3 ElementUI WebSocket 库引用 pinia websocket 1 创建pinia文件夹 xff0c 目录如下 src pinia index js modules wsdata js 2 编

随机推荐