【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)

如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)

  • 前言
  • 一、先搞清楚QMT的安装目录
  • 二、QMT调教步骤
    • 1.QMT里新建量化策略(只新建,不修改)
    • 2.IDE编辑器修改代码(只修改,不运行)
    • 3.QMT里运行量化策略(只运行,不修改)
  • 总结
    • 拓展:使用pycharm编辑策略
  • 后记
    • mpython的秘密


前言

很多人开通了迅投QMT量化平台,可是进入编辑器界面,写python代码,那种感觉如同回到了原始时代,连调试代码最常用到行、块注释这么简单的操作都能把人整疯。想让迅投QMT即刻修改编辑器,一时半会儿也不现实。那么有没有一种方法?可以使用外部的编辑器编写,在迅投QMT里运行,不也鱼与熊掌可兼得了吗?

经过笔者孜孜探索,还真找到了一个方法,其实也很简单。就是坑有几个,不过我都填上了。


提示:以下是本篇文章正文内容,其中代码为QMT默认自动生成,这里拿来仅作演示,不可用于实盘。

一、先搞清楚QMT的安装目录

假设我的QMT安装在 D:\gszqqmt\,打开这个目录,下面3个目录对我们python代码书写比较重要。

  1. bin.x64 :这个我们很熟悉,她是我们安装python环境的地方,其下的
    D:\gszqqmt\bin.x64\Lib目录安装了自带的各种包,如果我们需要安装第三方包,则安装在D:\gszqqmt\bin.x64\Lib\site-packages下;
  2. mpython :这里是我们的QMTmini 量化策略的存放位置(这个不是今天主角,可以先不管);
  3. python :这里是我们的QMT量化策略的存放位置(它才是今天的主角,D:\gszqqmt\python目录路径不能错哦)
    【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第1张图片

二、QMT调教步骤

搞清楚了策略的存放位置,下来就可以使用外部IDE编辑器来编辑代码了,编辑调测量化策略分三步:

1.QMT里新建量化策略(只新建,不修改)

这里我们只是新建而已,不用改任何信息,如下图:
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第2张图片
1.1 输入名称
1.2 勾选“启动本地python”,这里勾选后,放可以在本地IDE编辑器里打开源码,否则编译后的代码你懂的。不过忘了勾选也没关系,下次编译前再勾选一下即可。
1.3 点“编译”后这个策略就会按我们命名的名称进行保存。

2.IDE编辑器修改代码(只修改,不运行)

2.1 只是来修改代码,不运行策略。下面以notepad++为例,将目录添加到工作区。
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第3张图片
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第4张图片
2.2 添加完毕后,我们双击刚才创建“金字塔策略.py”就可以打开了。右侧就是刚才的默认生成的python代码了。
在这里我们随意修改,这里演示,我就修改了一行,添加了一行,然后保存后我们到QMT里去运行。

3.QMT里运行量化策略(只运行,不修改)

在QMT里直接点“回测”,报错信息如下:

【2022-08-31 20:37:12.750】 0D:\gszqqmt\python\金字塔策略.py_SH00030025IndentationError:unindent does not match any outer indentation level (, line 28)

返回notepad++,显示所有字符(点菜单栏里用红色框标记的图标),即可看到我们的缩进有问题,QMT里默认是一个tab,而我的编辑器里默认是4个空格。这两种缩进没有任何区别,但一个Python文件里必须统一。

tab还是空格,不显示全部字符一般看不出来,QMT里可以看到。很多初学者这里容易犯错,所以这里举例示意下。

【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第5张图片
这里我们统一修改为tab后保存,再回到QMT里回测,一起正常。

如过我们在QMT里直接修改,回到notepad++ 会提示如下,选“是”就可更新到最新的代码。
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第6张图片
至此,使用外部编辑器简单的调试QMT代码的方法已经展示完毕。剩下的就是不断的循环调试了。

有人说,你骗我,我在QMT里我就编译了一下,在notepad++里也重新加载了,可代码不见了!!!变成了如下图:

【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第7张图片
快还我代码!!!

别慌,还记得之前勾选“启用本地python”么?每次使用QMT编辑器,务必打上这个对勾再编译,否则代码编译后就上面这个样子。

好了,可爱的量化代码回来了吗?


总结

QMT是个量化交易的好工具,不过其代码开发功能确实很拉胯。当然它的主要功能不在于此,所以我们也就不必计较了。用了以上的方法相信你也就不在意她的开发环境了。借鉴以上方法,使用pycharm、vs code 等各种编辑器也都是可以的。

拓展:使用pycharm编辑策略

方法就是:将D:\gszqqmt\python在pycharm里新建项目,如下:
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第8张图片
创建完毕后,即可看到刚才的代码了。
【QMT策略编写】如何优雅地调教QMT量化平台编写量化策略(使用notepad++、pycharm、vscode等外部IDE编写量化交易代码)_第9张图片

项目有个好处,可以解决文件引用路径的问题。很多人代码运行别人的代码不成功,就是因为别人给的代码使用了相对路径,而你单独代开运行代码会使用绝对路径,当然也就找不到文件,代码也就会不停报错。

后记

mpython的秘密

今天先写到这里,当然如果有人注意到开头提到的mpython目录,想知道这个的用法,评论里留言。如果评论超过20的话,我会考虑另写一篇彻底不用切换编辑器,而是在IDE里直接编辑,直接运行,直接交易的方法。

你可能感兴趣的:(量化交易,Python经验池,pycharm,vscode,ide,金融,python)