Skip to content

MT4程序出现停止运行问题 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
JJH3024 opened this issue Dec 21, 2018 · 8 comments
Open

MT4程序出现停止运行问题 #2

JJH3024 opened this issue Dec 21, 2018 · 8 comments

Comments

@JJH3024
Copy link

JJH3024 commented Dec 21, 2018

我在MT4上加载了ZeroMQ_MT4_EA_Template_Edited这个程序,然后运行py脚本之后,MT4程序就停止运行,这是为什么。

@l976308589
Copy link

具体是没有的error code

@igithub2019
Copy link

同样的问题

@ns2250225
Copy link
Owner

@JJH3024 @l976308589 @igithub2019 Library文件夹下面的libsodium.dll和libzmq.dll是32位的,你的系统可能是64位的,要找相应64位的dll

@CreativeLau
Copy link

我也有同样的问题,不是32位64位dll的事,mt4就必须用32位,mt5才是64位,有的时候无论重复多少次,只要一运行python端就会强退,有的时候又可以打开运行很久,不过也有强退的现象。

@CreativeLau
Copy link

经过查找发现是mt4端的发送代码造成的,ZmqMsg不能作为返回值再进行发送,这就是导致mt4闪退的原因,为什么有时候行有时候又不行暂时不知道原因,这可能要debug libzmq.dll才能发现原因,因为从libzmq.dll项目的介绍看,libzmq.dll是不支持win10的。
目前解决方法是把MessageHandler返回类型改成string,在OnTimer事件里用返回值构造ZmqMsg进行发送,或者直接发送返回的string。

@JJH3024
Copy link
Author

JJH3024 commented Apr 5, 2019

嗯嗯,感谢您分享解决方案。我再测试测试。

@CreativeLau
Copy link

CreativeLau commented Apr 6, 2019

嗯嗯,感谢您分享解决方案。我再测试测试。

查看libzmq的文档后,终于知道是怎么回事了,文档中写着Never access zmq_msg_t members directly, instead always use the zmq_msg family of functions.
所以不能直接去访问zmq_msg,必须用zmq_msg_copy方法去传递zmq_msg。

所以EA代码的137行reply=ret是不对的,应改成reply.copy(ret),但仍不能解决闪退,看来把zmq_msg作为返回值也是不行的,所以还得先返回string再做处理。

我在Pull request里上传代码了,你可以试试update那一版。
#6

@ygz-github
Copy link

嗯嗯,感谢您分享解决方案。我再测试测试。

查看libzmq的文档后,终于知道是怎么回事了,文档中写着Never access zmq_msg_t members directly, instead always use the zmq_msg family of functions.
所以不能直接去访问zmq_msg,必须用zmq_msg_copy方法去传递zmq_msg。

所以EA代码的137行reply=ret是不对的,应改成reply.copy(ret),但仍不能解决闪退,看来把zmq_msg作为返回值也是不行的,所以还得先返回string再做处理。

我在Pull request里上传代码了,你可以试试update那一版。
#6

非常感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants