将Python封装为C++ DLL用于MQL4 EA时遭遇函数查找失败的技术求助
将Python封装为C++ DLL用于MQL4 EA时遭遇函数查找失败的技术求助
大家好,最近在折腾MQL4 EA调用Python逻辑的需求,卡得我快头秃了,来请教下各位大佬:
背景与尝试过的方案
我想让MQL4的智能交易系统(EA)能调用Python写的策略逻辑,一开始考虑用ZMQ这类IPC工具来实现跨进程调用,但很快发现MQL4的回测环境完全不支持套接字,这个路子直接走不通,只能转向把Python代码封装成C++ DLL,让EA直接加载调用的方案。
当前状态与遇到的问题
- 已经写完Python和C++的桥接代码,也成功编译出了对应的DLL文件
- 把EA挂到MT4的图表上后,查看「DLL依赖」面板,展开后明明能看到导出函数
add_me被列出来了 - 可一旦运行EA,直接弹出错误:Cannot find 'add_me' in 'trading_f.dll'(原问题里的文件名没写完,这里是合理补全的)
我已经排查过的点
- 确认DLL文件放在MT4要求的
MQL4\Libraries目录下,路径绝对没问题 - 反复核对过
add_me的函数名,拼写和大小写完全一致 - 编译C++代码时已经用了
__declspec(dllexport)来导出函数
有没有大佬遇到过这种“依赖面板能看到函数,但运行时就找不到”的奇葩情况?或者能给我指几个新的排查方向?
内容来源于stack exchange
相关产品推荐
相关产品推荐

