通知设置 新通知
国金证券, 国投证券 QMT 的IO文件功能被禁止
QMT • 李魔佛 发表了文章 • 0 个评论 • 834 次浏览 • 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被查封的. 查看全部
下面是券商的公告:
系统预留信息
【重要】内置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,且不与外部进行任何交互的策略不受上述调整影响。
这次整治, 是因为有些人利用QMT,miniQMT 售卖策略. 但他们不是给你源码, 因为源码卖出是一次性的. 他们为了更长远的割韭菜, 它们提供的参数配置, 需要你去开户, 然后使用QMT账号, 连接他们的系统, 你只能修改一些策略参数, 定制化程度比较低, 策略同质化比较严重, 如果资金量大的人, 还很容易被他们内部收割. 比如你设置的参数止盈是涨幅5%, 他们内部可以设置另一个策略, 止盈为4.5% , 就可以在你之前出货.
目前已知的黑平台有云飞量化, 禄得lude.cc 这些, 这次也是因为它们导致miniQMT被查封的.
下面是券商的公告:
系统预留信息
【重要】内置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被查封的.
QMT文件读写限制绕过
QMT • 李魔佛 发表了文章 • 0 个评论 • 105 次浏览 • 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月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日已经开始限制了。
简单测试了一下:
报错日子一看,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)
两个函数,用于将策略运行过程中的中间变量持久化存储到券商服务端数据库中,数据是加密保存的。
附测试使用代码:
在测试客户端上测试通过。
value的参数类型是str,所以dict,list这些类型需要json.dump序列化一下,不然会报错。
不同券商遇到的问题不同,到时QMT实盘客户端也可能有不同的限制,可评论留言。
关注公众号:
而其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实盘客户端也可能有不同的限制,可评论留言。
关注公众号:





