首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MT5 /Metatrader5使用python连接到不同的MT5终端

MT5 /Metatrader5使用python连接到不同的MT5终端
EN

Stack Overflow用户
提问于 2020-09-20 11:38:43
回答 2查看 573关注 0票数 0

我有多个python程序使用下面的代码连接到Mt5终端。

代码语言:javascript
复制
# Establish connection to the MetaTrader 5 terminal
if not mt5.initialize("C:\\Program Files\\ICMarkets - MetaTrader 5 - 01\\terminal64.exe"):
    print("initialize() failed, error code =", mt5.last_error())
    quit()

https://www.mql5.com/en/docs/integration/python_metatrader5是用于MT5的python模块

我遇到的问题是,当多个程序连接到同一个MT5 terminal.exe时,性能会降低&一个或多个python程序退出时会出现错误。为了克服这个问题,我安装了多个MT5副本,并更新了python代码,以便不同副本的python程序使用不同的MT5安装。但是,只有MT5的第一次安装是所有python程序都可以调用的唯一安装。尝试使用其他安装中的任何其他terminal.exe都会引发异常&连接失败。

互联网上也没有太多解决这个问题的方法。如果任何人有解决这个问题的想法或已经解决了这个问题,我将热切希望听到您的意见。

这样的错误是-

代码语言:javascript
复制
initialize() failed, error code = (-10003, "IPC initialize failed, Process create failed 'C:\\Program Files\\ICMarkets - MetaTrader 5 - 02\terminal64.exe'")

这可能与Windows的默认设置有关,指向第一个安装,或者类似的事情,你甚至都不会想到。只是在这里大声思考。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-25 05:28:01

根据我的经验,imho,MT5 python API并不是为了同时处理来自同一台机器的多个连接而设计的。

我已经通过创建虚拟机并通过它们运行所有东西来克服这个问题。我使用Oracle VM是因为它是免费的,我过去有使用它的经验,但它不太擅长共享资源。

如果您的计算机不是很强大,您可能需要考虑其他解决方案。我听说Docker很擅长共享主机资源。

票数 1
EN

Stack Overflow用户

发布于 2021-08-26 02:46:43

path中必须包含terminal64.exe。这对我很有效:

代码语言:javascript
复制
 path1='C:\\Program Files\\Capitaria MT5 Terminal\\terminal64.exe'

 path2='C:\\Program Files\\Admiral Markets MT5\\terminal64.exe'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63975284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档