国金证券, 国投证券 QMT 的IO文件功能被禁止

QMT • 李魔佛 发表了文章 • 0 个评论 • 1971 次浏览 • 2026-10-12 09:14 • 来自相关话题

之前是miniQMT被停用, 现在是QMT的IO文件读写被限制, 包括网络, 数据库等.

下面是券商的公告: 

系统预留信息 
【重要】内置Python策略功能调整
2026-10-08 00:00:00

[重要]尊敬的投资者:

为进一步规范迅投QMT系统功能,我部近期将对有关功能模块进行调整,具体如下:

一、关闭内置Python策略文件读写功能
涉及本地文件读写的功能(包括但不限于open()、read()、write()及相关第三方库)均无法使用。

二、关闭内置Python策略外部网络连接功能
涉及策略发起的网络连接(包括但不限于HTTP、TCP、UDP等)、局域网或本机数据库连接(包括但不限于MYSQL、Redis、SQLite等)以及与局域网内其他设备进行网络通信、网络IP地址与网络端口的连接及涉及上述的相关三方库均会被禁止。

三、取消登录页的独立交易选项
本次功能升级,将会一并取消登录页的独立交易选项,如您的系统界面仍有此按钮,请尽快在本次升级完成后登录我司官网下载最新客户端。
本次升级将于10月23日完成,使用内置python,且不与外部进行任何交互的策略不受上述调整影响。








这次整治, 是因为有些人利用QMT,miniQMT 售卖策略. 但他们不是给你源码, 因为源码卖出是一次性的. 他们为了更长远的割韭菜, 它们提供的参数配置, 需要你去开户, 然后使用QMT账号, 连接他们的系统, 你只能修改一些策略参数, 定制化程度比较低, 策略同质化比较严重, 如果资金量大的人, 还很容易被他们内部收割. 比如你设置的参数止盈是涨幅5%, 他们内部可以设置另一个策略, 止盈为4.5% , 就可以在你之前出货.

目前已知的黑平台有云飞量化, 禄得lude.cc 这些, 这次也是因为它们导致miniQMT被查封的. 查看全部
之前是miniQMT被停用, 现在是QMT的IO文件读写被限制, 包括网络, 数据库等.

下面是券商的公告: 

系统预留信息 
【重要】内置Python策略功能调整
2026-10-08 00:00:00

[重要]尊敬的投资者:

为进一步规范迅投QMT系统功能,我部近期将对有关功能模块进行调整,具体如下:

一、关闭内置Python策略文件读写功能
涉及本地文件读写的功能(包括但不限于open()、read()、write()及相关第三方库)均无法使用。

二、关闭内置Python策略外部网络连接功能
涉及策略发起的网络连接(包括但不限于HTTP、TCP、UDP等)、局域网或本机数据库连接(包括但不限于MYSQL、Redis、SQLite等)以及与局域网内其他设备进行网络通信、网络IP地址与网络端口的连接及涉及上述的相关三方库均会被禁止。

三、取消登录页的独立交易选项
本次功能升级,将会一并取消登录页的独立交易选项,如您的系统界面仍有此按钮,请尽快在本次升级完成后登录我司官网下载最新客户端。
本次升级将于10月23日完成,使用内置python,且不与外部进行任何交互的策略不受上述调整影响。

mmexport1791767331715.jpg




这次整治, 是因为有些人利用QMT,miniQMT 售卖策略. 但他们不是给你源码, 因为源码卖出是一次性的. 他们为了更长远的割韭菜, 它们提供的参数配置, 需要你去开户, 然后使用QMT账号, 连接他们的系统, 你只能修改一些策略参数, 定制化程度比较低, 策略同质化比较严重, 如果资金量大的人, 还很容易被他们内部收割. 比如你设置的参数止盈是涨幅5%, 他们内部可以设置另一个策略, 止盈为4.5% , 就可以在你之前出货.

目前已知的黑平台有云飞量化, 禄得lude.cc 这些, 这次也是因为它们导致miniQMT被查封的.


QMT文件读写限制绕过

QMT • 李魔佛 发表了文章 • 0 个评论 • 980 次浏览 • 2026-10-20 19:33 • 来自相关话题

某金券商的大QMT将在10月23日对文件读写和网络连接进行限制。

而其QMT测试客户端在10月13日已经开始限制了。

简单测试了一下:




报错日子一看,FileIO已经没有权限写入。写入文件路径为 "D:\github\input.csv"

不过只要我把目录路径改成相对路径:"input.csv" ,  数据是可以被写入且读取的。





这个路径是QMT安装目录下的子目录bin.x64,比如我的是: D:\tool\gjzq_qmt_simulation\bin.x64






这样就轻松绕过读写限制了。

其实上面的绝对路径的读取文件也是没有任何问题的,只是无法写入而已。 

需要写入的话就使用相对路径。

网络的话,测试端使用requests请求一切正常,并没有限制。所以传递数据的时候使用API传给QMT访问是没有问题的。

QMT本地持久化

如果不想使用本地来存储,QMT系统提供了  

save_py_key(key, value)  和 get_py_key(key)  

两个函数,用于将策略运行过程中的中间变量持久化存储到券商服务端数据库中,数据是加密保存的。QMT系统提供了 save_py_key(key, value) 和 get_py_key(key) 两个函数,用于将策略运行过程中的中间变量持久化存储到券商服务端数据库中,数据是加密保存的。
函数说明:
save_py_key(key, value):保存数据
key :要保存的关键字, str 类型
value :要保存的值, str 类型
返回: errid (错误id,0表示成功), errmsg (错误信息,成功时为空字符串)
示例: errid, errmsg = save_py_key('关键字', '值')
get_py_key(key):读取数据
key :要读取的关键字, str 类型
返回: value (返回的值, str 类型), errid , errmsg
示例: value, errid, errmsg = get_py_key('关键字')
注意事项:
单字段长度限制为5000字符(英文1个字符,中文2个字符)。
该功能适用于在QMT系统对文件读写和网络连接进行限制后,替代本地文件存储中间变量的方案。
附测试使用代码:
# encoding:gbk
import json

def server_kv_store():
key = 'positions'
v = [{'symbol': '123456.SZ','base_pirce':100},{'symbol': '123457.SZ','base_pirce':200}]
kv = { key: json.dumps(v)}

# 保存键值对
print('保存数据',kv)
errid, errmsg = save_py_key(key, kv[key])
if errid != 0:
print("Failed to save key-value: ", errmsg)
return


print('保存成功,读取数据')
value, errid, errmsg = get_py_key(key)
if errid!=0:
print("Failed to get key-value: ", errmsg)
return

jvalue = json.loads(value)
print('读取数据', jvalue)

def init(ContextInfo):
# read_io()
# network_io()
server_kv_store()

def handlebar(ContextInfo):
pass
在测试客户端上测试通过。






value的参数类型是str,所以dict,list这些类型需要json.dump序列化一下,不然会报错。

不同券商遇到的问题不同,到时QMT实盘客户端也可能有不同的限制,可评论留言。
 
关注公众号: 查看全部
某金券商的大QMT将在10月23日对文件读写和网络连接进行限制。

而其QMT测试客户端在10月13日已经开始限制了。

简单测试了一下:
20261015160511-v1_副本.png

报错日子一看,FileIO已经没有权限写入。写入文件路径为 "D:\github\input.csv"

不过只要我把目录路径改成相对路径:"input.csv" ,  数据是可以被写入且读取的。
20261015175630.png


这个路径是QMT安装目录下的子目录bin.x64,比如我的是: D:\tool\gjzq_qmt_simulation\bin.x64

20261020184439.png


这样就轻松绕过读写限制了。

其实上面的绝对路径的读取文件也是没有任何问题的,只是无法写入而已。 

需要写入的话就使用相对路径。

网络的话,测试端使用requests请求一切正常,并没有限制。所以传递数据的时候使用API传给QMT访问是没有问题的。

QMT本地持久化

如果不想使用本地来存储,QMT系统提供了  

save_py_key(key, value)  和 get_py_key(key)  

两个函数,用于将策略运行过程中的中间变量持久化存储到券商服务端数据库中,数据是加密保存的。
QMT系统提供了  save_py_key(key, value)  和  get_py_key(key)  两个函数,用于将策略运行过程中的中间变量持久化存储到券商服务端数据库中,数据是加密保存的。
函数说明:
save_py_key(key, value):保存数据
key :要保存的关键字, str 类型
value :要保存的值, str 类型
返回: errid (错误id,0表示成功), errmsg (错误信息,成功时为空字符串)
示例: errid, errmsg = save_py_key('关键字', '值')
get_py_key(key):读取数据
key :要读取的关键字, str 类型
返回: value (返回的值, str 类型), errid , errmsg
示例: value, errid, errmsg = get_py_key('关键字')
注意事项:
单字段长度限制为5000字符(英文1个字符,中文2个字符)。
该功能适用于在QMT系统对文件读写和网络连接进行限制后,替代本地文件存储中间变量的方案。

附测试使用代码:
# encoding:gbk
import json

def server_kv_store():
key = 'positions'
v = [{'symbol': '123456.SZ','base_pirce':100},{'symbol': '123457.SZ','base_pirce':200}]
kv = { key: json.dumps(v)}

# 保存键值对
print('保存数据',kv)
errid, errmsg = save_py_key(key, kv[key])
if errid != 0:
print("Failed to save key-value: ", errmsg)
return


print('保存成功,读取数据')
value, errid, errmsg = get_py_key(key)
if errid!=0:
print("Failed to get key-value: ", errmsg)
return

jvalue = json.loads(value)
print('读取数据', jvalue)

def init(ContextInfo):
# read_io()
# network_io()
server_kv_store()

def handlebar(ContextInfo):
pass

在测试客户端上测试通过。

20261020182515.png


value的参数类型是str,所以dict,list这些类型需要json.dump序列化一下,不然会报错。

不同券商遇到的问题不同,到时QMT实盘客户端也可能有不同的限制,可评论留言。
 
关注公众号:

集思录插件,自动更新,移除强赎,只显示不强赎,导出excel,新增N个过滤条件

可转债 • 李魔佛 发表了文章 • 0 个评论 • 213 次浏览 • 2026-10-29 14:34 • 来自相关话题

以前开发的集思录的扩展小工具,最近有空就发布到浏览器扩展商店。

功能很简单:

1. 移除强赎转债
2. 只显示确定不强赎转债
3. 原菜单上集思录的过滤功能依旧能正常使用
4. 导出筛选转债为Excel文件
5. 自动10秒刷新一次数据行情
6. 正股涨跌幅 过滤条件
7. 过滤条件 转股价值
8. 过滤条件,剩余规模大于
9. 添加一列数据: 正股涨幅 - 转债涨幅 = 涨幅差
 
新增筛选条件按钮




 
新增一列




 
原菜单上集思录的过滤功能依旧能正常使用。

一般而言,公告强赎后的转债面临着转股的抛压,正股如同有一定规模的解禁,且转债也失去了期权价值,强赎公布后转债价格会持续走低;

而公告不强赎的转债则会继续享受一段蜜月期。

移除强赎转债

默认状态下显示全部转债

 
点击 移除强赎转债 按钮
 

 
表格里面移除了已经强赎的转债

只显示不强赎转债

点击 显示不强赎 按钮,表格里只会显示 当前公告不强赎的转债。

 
如果要复位,只需要重新点击一下按钮,然后刷新一下页面即可。

安装步骤

使用谷歌浏览器,点击上右键的“三个点”按钮,选择“扩展程序", 访问“Chrome应用商店”,搜索“可转债过滤”,即可搜索到对应的扩展。

或者谷歌浏览器直接打开: https://chromewebstore.google.com/ 搜索 可转债过滤 即可。

 
插件安装完成之后,打开集思录的可转债数据页面,在经典版模式下,默认就会多了上面第一张图里的2个按钮。

红色状态代表功能关闭,绿色状态代表功能打开。

原来页面上的溢价率,规模的过滤功能依然是可正常使用的。


该扩展免费使用,没有广告,没有弹窗之类。喜欢的话点个五星好评即可。

使用过程遇到任何问题,评论区留言,或有其它实用的想法欢迎留言~
  查看全部
以前开发的集思录的扩展小工具,最近有空就发布到浏览器扩展商店。

功能很简单:

1. 移除强赎转债
2. 只显示确定不强赎转债
3. 原菜单上集思录的过滤功能依旧能正常使用
4. 导出筛选转债为Excel文件
5. 自动10秒刷新一次数据行情
6. 正股涨跌幅 过滤条件
7. 过滤条件 转股价值
8. 过滤条件,剩余规模大于
9. 添加一列数据: 正股涨幅 - 转债涨幅 = 涨幅差
 
新增筛选条件按钮
20261029104133.png

 
新增一列
20261029110329.png

 
原菜单上集思录的过滤功能依旧能正常使用。

一般而言,公告强赎后的转债面临着转股的抛压,正股如同有一定规模的解禁,且转债也失去了期权价值,强赎公布后转债价格会持续走低;

而公告不强赎的转债则会继续享受一段蜜月期。

移除强赎转债

默认状态下显示全部转债

 
点击 移除强赎转债 按钮
 

 
表格里面移除了已经强赎的转债

只显示不强赎转债

点击 显示不强赎 按钮,表格里只会显示 当前公告不强赎的转债。

 
如果要复位,只需要重新点击一下按钮,然后刷新一下页面即可。

安装步骤

使用谷歌浏览器,点击上右键的“三个点”按钮,选择“扩展程序", 访问“Chrome应用商店”,搜索“可转债过滤”,即可搜索到对应的扩展。

或者谷歌浏览器直接打开: https://chromewebstore.google.com/ 搜索 可转债过滤 即可。

 
插件安装完成之后,打开集思录的可转债数据页面,在经典版模式下,默认就会多了上面第一张图里的2个按钮。

红色状态代表功能关闭,绿色状态代表功能打开。

原来页面上的溢价率,规模的过滤功能依然是可正常使用的。


该扩展免费使用,没有广告,没有弹窗之类。喜欢的话点个五星好评即可。

使用过程遇到任何问题,评论区留言,或有其它实用的想法欢迎留言~