MetaTrader 5 Python用户组 - 如何在Metatrader中使用Python - 页 55

 
Vladimir Perervenko:

我正在关注Pypi。 开发者正在等待我们的意见,以便继续/改进。但到目前为止,我们没有看到这个领域的任何用户活动。

在一个单独的分支,我认为我们需要讨论复杂交易系统的共同基础设施问题(终端(MT4/MT5)<->TS(在不同的IP上)<_>数据库是不同的。不同的配置、问题、困难、优势。

祝好运

新版本的出现--是的,我也在那里。

而其中有什么新的内容,至少,它影响到什么?

 
Дмитрий Прокопьев:

新版本的出现--是的,我也在那里。

不过,它的新内容是什么,它解决了什么问题?

就我而言,没有什么大的变化。这只是一个小小的整理工作。我们有足够的与终端互动的那套命令,可以开始使用它。

我们将对各种变体进行一些工作,情况会越来越清楚。

 
Vladimir Perervenko:

在我看来,没有什么大的变化。这只是一些被清理过的小事而已。与终端互动的一组命令足以让我们开始使用它。

让我们用不同的变体做一下工作,情况会变得很清楚。

原则上,是的,我同意:)够了,但我希望有一个可口的...:)

是否出现了一些与命名元组(如TradeDeal)有关的工作,例如将它们作为_asdict()的列表来获取?

 

请告知如何正确设置初始化 的路径。

我正在这样做。

if not mt5.initialize("C:\Program Files\MetaTrader5\terminal64.exe"):
    print("initialize() failed, error code =",mt5.last_error())
    quit()

我得到一个错误。

MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
initialize() failed, error code = [-10003, "IPC initialize failed, Process create failed 'C:\\Program Files\\MetaTrader5\terminal64.exe'"]

环境:Python 3.8 (64位)

操作系统: Win10 (x64)

Документация по MQL5: Интеграция / MetaTrader для Python / initialize
Документация по MQL5: Интеграция / MetaTrader для Python / initialize
  • www.mql5.com
[in]  Путь к файлу metatrader.exe или metatrader64.exe. Необязательный неименованный параметр. Указывается первым без имени параметра. Если путь не указан, модуль попытается найти исполняемый файл самостоятельно. [in]  Таймаут в миллисекундах, который дается на подключение. Необязательный именованный параметр. Если не указан, то будет...
 
Denis Kirichenko:

请告知如何正确设置初始化 的路径。

我正在这样做。

我得到一个错误。

环境:Python 3.8 (64位)

操作系统: Win10 (x64)

这是头部,两只耳朵...克服了。需要写出这样的路径。

'C:\\Program Files\\MetaTrader5\\terminal64.exe'
象征性的常数 不能被遗忘......
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Символы, как элемент строки, в MQL5 - это индексы в наборе символов Unicode. Они являются 16-разрядными значениями, которые можно преобразовывать в целые числа и с которыми можно манипулировать целочисленными операциями, такими как сложение и вычитание. Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код...
 
Denis Kirichenko:

这是头,两只耳朵...我已经知道了。你必须像这样写路径。

'C:\\Program Files\\MetaTrader5\\terminal64.exe'
不应忘记字符常数......

像这样正确:'C:\\Program Files\MetaTrader5\\terminal64.exe',不要忘记配额。

还有一件事,MetaTrader5的5.0.27版本不能在build 2366终端上正常工作,只能在5.0.28上正常工作。

即使在初始化阶段也会有问题,有必要拉起libas的更新。在反向--5.0.28与早期版本的终端中,我还没有发现任何困难。

 
Дмитрий Прокопьев:

正确的方法是:'C:\\Program Files\MetaTrader5\terminal64.exe',不要忘记配额\。

还有一件事,MetaTrader5的5.0.27版本不能在build 2366终端上正常工作,只能在5.0.28上正常工作。

即使在初始化阶段也会有问题,有必要拉起libas的更新。反过来说--5.0.28和较早版本的终端,还没有发现困难。

最新的是5.0.29。

你的MT5有多少个终端?只是为了兴趣。

 

在三种情况下可能需要一个额外的终端。

-另一个经纪人和账户

-同一经纪商的另一个账户

- 或连接到终端的策略数量超过最大值。

可能有人试图用脚本加载终端来检测这个最大值?我以后会尝试的。

 
Vladimir Perervenko:

最新的是5.0.29。

你有多少个MT5终端?只是出于兴趣。

是的,谢谢。

根据职权范围,少女组有6人,职业组有3人。
 
Vladimir Perervenko:

在三种情况下可能需要一个额外的终端。

-另一个经纪人和账户

-同一经纪商的另一个账户

- 或连接到终端的策略数量超过最大值。

可能有人试图用脚本加载终端来检测这个最大值?我以后会尝试的。

我已经试过了,这完全取决于我运行它的硬件。

一个实例会吃掉大约45-50Mb的内存和2.5-4%的CPU。(是的,CPU的百分比取决于CPU的类型,在我的例子中,它是英特尔至强L5640 @ 2.27GHz)

同样的,Python的一个实例。

如果python运行时有历史记录,+200-300Mb RAM。CPU几乎没有用完。

嗯,为了什么,这取决于TOR或想法。