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

 
MetaQuotes:

今晚将提供下一个测试版本。

https://www.mql5.com/en/forum/306742/page16#comment_16148685

MetaTrader 5 Python User Group - the summary
MetaTrader 5 Python User Group - the summary
  • 2020.04.24
  • www.mql5.com
The Main Study MetaTrader module for integration with Python - documentation Python Releases for Windows - website MetaTrader5 : Python Package...
 
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
  • 2020.05.03
  • www.mql5.com
В пятницу 6 марта 2020 года будет выпущена обновленная версия платформы MetaTrader 5...
 
https://www.mql5.com/ru/docs/integration/python_metatrader5
我试着运行启动脚本--一切都在运行,打印出例子中交易对的数据数组,运行一个窗口,在上面绘制图表
但是我试着用 "DAX30 "替换 "EURAUD",例如--在我运行脚本后,它说选择DAX30失败。
请告知可能是什么问题?终端版本2402

我通过mt5.initialize将登录名、密码和服务器连接到经纪人的模拟账户。
Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Lol Kek:
https://www.mql5.com/ru/docs/integration/python_metatrader5
我试着运行启动脚本--一切都在运行,打印出例子中交易对的数据数组,启动窗口,在上面绘制图表。
但是我试着用 "DAX30 "替换 "EURAUD",例如--在我运行脚本后,它说选择DAX30失败。
请告知可能是什么问题?终端版本2402

我通过mt5.initialize用登录密码和服务器连接到我的经纪人的模拟账户。
检查在调用与DAX30一起工作的函数后在mt5.last_error()中返回的内容。
 

# 让我们尝试在MarketWatch中启用DAX30符号的显示
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5 .last_error() )
mt5 .shutdown()
quit()


这是错误(-1,'终端:调用失败')。
 
Lol Kek:

# 让我们尝试在MarketWatch中启用DAX30符号
selected = mt5.symbol_select("DAX30", True)
如果没有 选择。
print("initialize()失败,错误代码=", mt5 .last_error())
mt5 .shutdown()
退出()


这是错误(-1,'终端:调用失败')。

你确定你的交易账户里有DAX30的符号吗?

请展示你的交易账户上有此符号的市场概况截图。

 
Renat Fatkhullin:

你确定你的交易账户里有DAX30的符号吗?

请出示你的交易账户上有此符号的市场概况截图。

***
我把这个代码 -https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, 我通过连接到我的模拟账户 来初始化它。如果我用例子中的USDJPY运行它--一切正常,它显示一个表格。如果我把它改成DAX30


关于费率的问题。
类型错误:'NoneType'对象不是可迭代的

 
Lol Kek:

https://prnt.sc/sbapam
我拿着这段代码,通过连接到我的模拟账户 来初始化它。如果我用例子中的USDJPY运行它--一切正常,它显示一个表格。如果我把它改成DAX30

关于费率的问题。
类型错误:'NoneType'对象不是可迭代的

Lol Kek:

# 让我们尝试在MarketWatch中启用DAX30符号的显示
selected = mt5.symbol_select("DAX30", True)
如果不 选择的话。
print("initialize()失败,错误代码=", mt5 .last_error())
mt5 .shutdown()
退出()


像这样的错误(-1,'终端:调用失败')。
你的方括号里有Dax30。这就是你得到的正确错误。
 
Dmitriy Skub:
你的方括号里有Dax30。 你所得到的错误是正确的。

呃,从来没有注意过这个,谢谢
并感谢开发者提供机会,将逻辑转移到第三方语言,特别是Python。
在分析和实施逻辑的过程中,我将尝试在这里提供反馈。

 

大家好。


我希望你不要介意一个英国人在这里。 在花了很多时间在网上搜索没有成功之后,我想寻求一些指导。

在从Maxiums的文章中得到一些启发后,我正在使用MetaTrader5的Python库。 我注意到一个内存处理的问题。

当我使用mt5库制作一个数据框架时,所产生的数据框架按预期工作。 我在一个函数 中做到了这一点,该函数 收集了ticks,然后在输出操作过的df之前进行各种分析。

然而,如果我重新运行创建DataFrame的函数,我注意到内存只是不断地从上一个实例中累积。

我使用mt5.copy_ticks_range()和mt5.copy_rates_range()得到了同样的问题。 我必须重置内核,以便清除内存。

我得到了同样的问题,即使删除了所有的代码,除了创建数据框架的那一行。 比如说。

def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'] )

如果我运行几次,每次的内存使用量就会上升27MB。

行 # 内存使用量增加 行内容 ================================================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), .


行 # 内存使用量 递增行内容

================================================== 140.9 MiB 140.9 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 166.5 MiB 25.7 MiB ticks = pd.DataFrame (mt5.copy_ticks_range ( symbol, datetime (start_date.year, start_date.month, start_date.day), ...