В текущей статье мы продолжаем процесс создания удобного графического интерфейса для управления оптимизациями в нескольких терминалах одновременно. В прошлой статье мы рассмотрели способ, позволяющий нам запустить терминал из консоли, а также структуру конфигурационного файла. В данной статье мы рассмотрим создание обертки для терминала на...
新版本的MetaTrader 5 for Python 5.0.18和MetaTrader 5 build 2319 beta。
由于所有的api都发生了变化,旧的例子已不再适用。
以下是新的功能设置。
例子。
是否有计划增加运行测试/优化的 功能并获得其结果?
Python程序将只作为脚本在终端运行,不以任何方式参与,也不参与交易策略测试器。
这是为那些在Python中进行深入研究并想要的人提供的解决方案。
策略测试仪仅适用于MQL5程序。
以后我们将扩展这个库,并提供从终端访问内置和自定义指标的可能性。
总之,目前的情况是这样的:我在3台机器上安装了windows 7。
一句话。
把它放在windows server 2012上--中途启动了。甚至在Python 3.8.1上也是如此
总之,目前的情况是这样的:我在3台机器上安装了windows 7。
一句话。
把它放在windows server 2012上--开始了一半的工作。甚至在python 3.8.1上也是如此。
十是不在手边,但我认为有并开始。
到了10号,就恢复正常了。
1.以前的问题仍然存在。在初始化过程中,终端以一个任意的经纪人和账户开始。不是承诺要解决这个问题吗?
2) 订单被执行。我还没有进一步检查。
我不明白为什么"metatrader5 5.0.18 pypi_0 pypi " 模块只作为"MetaTrader5 " 导入 。
我们将努力。
祝好运
Python程序将只作为脚本在终端运行,不以任何方式参与,也不参与交易策略测试器。
这是为那些在Python中进行深入研究并想要的人提供的解决方案。
策略测试仪仅适用于MQL5程序。
以后我们将扩展这个库,允许从终端访问内置和自定义指标。
启动Python脚本本身进行优化并不那么有趣。
通过Python脚本自动优化mql5-advisors的可能性是有趣的。类似于"优化管理"一文中所描述的那种情况。
Python程序将只作为脚本在终端运行,不以任何方式参与,也不参与交易策略测试器。
这是为那些在Python中进行深入研究并想要的人提供的解决方案。
策略测试仪仅适用于MQL5程序。
以后我们将扩展这个库,并提供从终端访问内置和自定义指标的可能性。
我正确的理解是,对于从Py到mt5的计算值和数组的传输,不会有这样的功能?
它仍然使用 - 网络解决方案,或看到模块通过内存传输?
正如我注意到的,现在对象的结构已经改变了
它曾经是
Time = [x.time for x in ticks]现在成为
你能描述一下 copy_ticks 和 copy_rates 的结构吗?
哪些x[]的索引,对应于什么。
或者是相同的序列? 如
Roman:
正如我所注意到的,对象的结构现在已经改变了
曾经是
现在是。
你能描述一下 copy_ticks 和 copy_rates 的结构吗?
哪些x[]的索引,对应于什么。
或者是相同的序列? 如
现在它是一个numpy数组,而不是以前的元组(即有效的直接映射到内存的数据本身),它的格式可以通过简单的显示看到。
>>> ticks1 = mt5.copy_ticks_from("EURAUD", datetime(2020,2,13,13), 20, mt5.COPY_TICKS_ALL) >>> ticks1 array([(1581591600, 1.61633, 1.61657, 0., 0, 1581591600170, 134, 0.), (1581591600, 1.61633, 1.61658, 0., 0, 1581591600362, 4, 0.), (1581591600, 1.61633, 1.61659, 0., 0, 1581591600569, 4, 0.), (1581591600, 1.61636, 1.61659, 0., 0, 1581591600759, 130, 0.), (1581591601, 1.61633, 1.61659, 0., 0, 1581591601964, 130, 0.), (1581591602, 1.61634, 1.61658, 0., 0, 1581591602261, 134, 0.), (1581591606, 1.61635, 1.61658, 0., 0, 1581591606276, 130, 0.), (1581591607, 1.61637, 1.61661, 0., 0, 1581591607795, 134, 0.), (1581591607, 1.61643, 1.61664, 0., 0, 1581591607880, 134, 0.), (1581591608, 1.61642, 1.61665, 0., 0, 1581591608184, 134, 0.), (1581591608, 1.61643, 1.61667, 0., 0, 1581591608791, 134, 0.), (1581591608, 1.61642, 1.61667, 0., 0, 1581591608992, 130, 0.), (1581591609, 1.61642, 1.61665, 0., 0, 1581591609192, 4, 0.), (1581591609, 1.61642, 1.61667, 0., 0, 1581591609584, 4, 0.), (1581591611, 1.61642, 1.61666, 0., 0, 1581591611397, 4, 0.), (1581591611, 1.61642, 1.61667, 0., 0, 1581591611694, 4, 0.), (1581591612, 1.61643, 1.61667, 0., 0, 1581591612091, 130, 0.), (1581591612, 1.61643, 1.61665, 0., 0, 1581591612881, 4, 0.), (1581591613, 1.61644, 1.61665, 0., 0, 1581591613300, 130, 0.), (1581591613, 1.61648, 1.6167 , 0., 0, 1581591613498, 134, 0.)], dtype=[('time', '<i8'), ('bid', '<f8'), ('ask', '<f8'), ('last', '<f8'), ('volume', '<u8'), ('time_msc', '<i8'), ('flags', '<u4'), ('volume_real', '<f8')])你现在可以立即把它们作为独立的向量(乘法、减法),并画出图形。
rates2 = mt5.copy_rates_from_pos("EURGBP", mt5.TIMEFRAME_M1, 0, 1000) import matplotlib.pyplot as plt plt.plot(rates2['time'], rates2['low'], 'g-') plt.plot(rates2['time'], rates2['high'], 'r-') plt.show()现在它是一个numpy数组,而不是以前的元组(即有效地直接映射到内存中的数据本身),它的格式可以通过简单地显示出来。
你现在可以立即把它们作为独立的向量(乘、减),并画出图形。
谢谢你Almaz,现在我明白了。
仍然有一个开放的问题。
我的理解是否正确,对于从Py到mt5的计算值和数组的传输,将没有这样的功能?
它仍然使用 - 网络解决方案,或看到模块通过内存传输?