券商QMT环境第三方自有模块的导入
QMT环境因自身架构设计,封闭性较强,默认情况下难以直接引入外部复杂代码,给策略开发中复杂逻辑的实现带来一定不便。但无需担忧,通过第三方代码库模式,可有效突破这一限制,将自定义的复杂模块顺利导入QMT策略中,提升开发效率、简化脚本复杂度。
第三方代码库模式的核心,是将复杂逻辑封装为独立的自有模块,再通过QMT支持的路径配置与导入规则,让策略脚本识别并调用模块。首先需将复杂代码(如自定义数据处理、策略模型、指标计算等)封装为标准.py文件,确保代码无语法错误,且不依赖QMT未集成的外部库,避免导入失败。
随后进行路径配置,除了通过QMT客户端操作,也可手动通过代码添加路径以提升兼容性:打开QMT客户端,进入策略编辑界面,找到“第三方代码库”设置项,添加自有模块所在的文件夹路径,保存配置后重启QMT,确保环境能成功识别该路径下的模块。若需进一步保障路径识别稳定,可在脚本中加入手动添加路径的代码,具体如下:
try:
_CWD = os.getcwd()
candidate_paths.append(_CWD)
candidate_paths.append(os.path.join(_CWD, 'wds_signal_lib'))
except Exception:
pass
该代码可尝试获取当前工作目录,并将其及子目录“wds_signal_lib”加入候选路径,避免路径识别失败。配置完成后,在QMT策略脚本中,可通过常规Python的import语句,直接导入自有模块,调用模块内的函数、类等复杂逻辑。
需注意两点:一是模块依赖需适配QMT内置Python版本,避免版本兼容问题;二是模块路径需避免中文、特殊字符,防止识别异常。通过该方法,可轻松突破QMT环境的封闭性,将复杂代码模块化复用,大幅提升QMT策略开发的便捷性与高效性。

研报速递
发表评论
发表评论: