Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях - страница 16

 
Rashid Umarov:

Можно посмотреть на этот скрипт из поставки? Здесь технический форум и нужны детали.

По крайней мере можно сделать отладку в PyCharm

Скрипт из поставки:  \MQL5\Scripts\Python\plot_chart.py

Файлы:
plot_chart.py  3 kb
 

Удалил Python (через удаление программ). Удалил остатки папок на диске. Через редактор MetaEditor

скачал версию 'python-3.9.2-amd64'


Установил, добавил пакеты 

  pip install MetaTrader5
  pip install matplotlib
  pip install pandas


Запустил редактор и терминал. И сразу на  \MQL5\Scripts\Python\plot_chart.py та же ошибка:

 

Скрипт из справки (https://www.mql5.com/ru/docs/integration/python_metatrader5)

Предположительно, что-то с датой:

# получим бары с разных инструментов разными способами
eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M1, datetime(2020,1,28,13), 1000)


Из-за этого ошибка.

Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
MetaTrader для Python - Интеграция - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Скрипт из справки (https://www.mql5.com/ru/docs/integration/python_metatrader5)

Предположительно, что-то с датой:


Из-за этого ошибка.


Добавь строку

# получим бары с разных инструментов разными способами 
eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M1, datetime(2020,1,28,13), 1000) 
print('type(eurusd_rates)=',type(eurusd_rates))
 
Rashid Umarov:


Добавь строку

Результат как я и показывал несколько раз:

2021.07.20 18:44:34.167 Python  type(eurusd_rates)= <class 'NoneType'>


Добавлено: самое главное вчера до падения сайта и до обновлений терминала всё работало, так как я начинал заполнять новую тему и писал примеры сразу проверяю их ..

 

Ты не показывал. Только ошибку. Теперь нужно понять почему она происходит.

По какой то причине на запрос получаем пустоту. А где начало лога? Хоть что то скрипт выводит в журнал?

 

Итак, скрипт взят со страницы ( https://www.mql5.com/ru/docs/integration/python_metatrader5 ).

Добавлена строка:

# получим бары с разных инструментов разными способами
eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M1, datetime(2020,1,28,13), 1000)
print('type(eurusd_rates)=',type(eurusd_rates))

Журнал:

2021.07.20 19:29:14.188 Python  "C:\Users\barab\AppData\Local\Programs\Python\Python39\python.exe" -u "C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\431DCBD444D0C6CA1C175FACFD0E248D\MQL5\Scripts\Python\MyScr\1.py" KO 1440
2021.07.20 19:29:14.986 Python  TerminalInfo(community_account=True, community_connection=True, connected=True, dlls_allowed=False, trade_allowed=False, tradeapi_disabled=False, email_enabled=False, ftp_enabled=False, notifications_enabled=True, mqid=True, build=3000, maxbars=100000, codepage=0, ping_last=59907, community_balance=160.114087, retransmission=0.0, company='MetaQuotes Software Corp.', name='MetaTrader 5', language='English', path='C:\\Program Files\\MetaTrader 5', data_path='C:\\Users\\barab\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075', commondata_path='C:\\Users\\barab\\AppData\\Roaming\\MetaQuotes\\Terminal\\Common')
2021.07.20 19:29:14.986 Python  (500, 3000, '19 Jul 2021')
2021.07.20 19:29:15.001 Python  type(eurusd_rates)= <class 'NoneType'>
2021.07.20 19:29:15.001 Python  euraud_ticks( 1000 )
2021.07.20 19:29:15.001 Python  (1580209200, 1.63412, 1.63437, 0., 0, 1580209200067, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209200, 1.63416, 1.63437, 0., 0, 1580209200785, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209201, 1.63415, 1.63437, 0., 0, 1580209201980, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209202, 1.63419, 1.63445, 0., 0, 1580209202192, 134, 0.)
2021.07.20 19:29:15.001 Python  (1580209203, 1.6342, 1.63445, 0., 0, 1580209203004, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209203, 1.63419, 1.63445, 0., 0, 1580209203487, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209203, 1.6342, 1.63445, 0., 0, 1580209203694, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209203, 1.63419, 1.63445, 0., 0, 1580209203990, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209204, 1.63421, 1.63445, 0., 0, 1580209204194, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580209204, 1.63425, 1.63445, 0., 0, 1580209204392, 130, 0.)
2021.07.20 19:29:15.001 Python  audusd_ticks( 40449 )
2021.07.20 19:29:15.001 Python  (1580122800, 0.67858, 0.67868, 0., 0, 1580122800244, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580122800, 0.67858, 0.67867, 0., 0, 1580122800429, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122800, 0.67858, 0.67865, 0., 0, 1580122800817, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122801, 0.67858, 0.67866, 0., 0, 1580122801618, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122802, 0.67858, 0.67865, 0., 0, 1580122802928, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122809, 0.67855, 0.67865, 0., 0, 1580122809526, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580122809, 0.67855, 0.67864, 0., 0, 1580122809699, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122813, 0.67855, 0.67863, 0., 0, 1580122813576, 4, 0.)
2021.07.20 19:29:15.001 Python  (1580122815, 0.67856, 0.67863, 0., 0, 1580122815190, 130, 0.)
2021.07.20 19:29:15.001 Python  (1580122815, 0.67855, 0.67863, 0., 0, 1580122815479, 130, 0.)

и ошибка:

Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
MetaTrader для Python - Интеграция - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Пример ( https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesfrom_py ) отрабатывает без ошибки.

Результат:

2021.07.20 19:48:15.718 Python  "C:\Users\barab\AppData\Local\Programs\Python\Python39\python.exe" -u "C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Scripts\Python\copy_rates_from.py" USDJPY 10
2021.07.20 19:48:15.928 Python  MetaTrader5 package author:  MetaQuotes Software Corp.
2021.07.20 19:48:15.928 Python  MetaTrader5 package version:  5.0.34
2021.07.20 19:48:16.181 Storage modify MQL5\Scripts\Python\copy_rates_from.py to base
2021.07.20 19:48:16.241 Python  Выведем полученные данные как есть
2021.07.20 19:48:16.241 Python  (1578484800, 1.11382, 1.11385, 1.1111, 1.11199, 9354, 1, 0)
2021.07.20 19:48:16.241 Python  (1578499200, 1.11199, 1.11308, 1.11086, 1.11179, 10641, 1, 0)
2021.07.20 19:48:16.241 Python  (1578513600, 1.11178, 1.11178, 1.11016, 1.11053, 4806, 1, 0)
2021.07.20 19:48:16.241 Python  (1578528000, 1.11053, 1.11193, 1.11033, 1.11173, 3480, 1, 0)
2021.07.20 19:48:16.241 Python  (1578542400, 1.11173, 1.11189, 1.11126, 1.11182, 2236, 1, 0)
2021.07.20 19:48:16.241 Python  (1578556800, 1.11181, 1.11203, 1.10983, 1.10993, 7984, 1, 0)
2021.07.20 19:48:16.241 Python  (1578571200, 1.10994, 1.11173, 1.10965, 1.11148, 7406, 1, 0)
2021.07.20 19:48:16.241 Python  (1578585600, 1.11149, 1.11149, 1.10923, 1.11046, 7468, 1, 0)
2021.07.20 19:48:16.241 Python  (1578600000, 1.11046, 1.11097, 1.11033, 1.11051, 3450, 1, 0)
2021.07.20 19:48:16.241 Python  (1578614400, 1.11051, 1.11093, 1.11017, 1.11041, 2448, 1, 0)
2021.07.20 19:48:16.241 Python  
2021.07.20 19:48:16.241 Python  Выведем датафрейм с данными
2021.07.20 19:48:16.241 Python                   time     open     high      low    close  tick_volume  spread  real_volume
2021.07.20 19:48:16.241 Python  0 2020-01-08 12:00:00  1.11382  1.11385  1.11110  1.11199         9354       1            0
2021.07.20 19:48:16.241 Python  1 2020-01-08 16:00:00  1.11199  1.11308  1.11086  1.11179        10641       1            0
2021.07.20 19:48:16.241 Python  2 2020-01-08 20:00:00  1.11178  1.11178  1.11016  1.11053         4806       1            0
2021.07.20 19:48:16.241 Python  3 2020-01-09 00:00:00  1.11053  1.11193  1.11033  1.11173         3480       1            0
2021.07.20 19:48:16.241 Python  4 2020-01-09 04:00:00  1.11173  1.11189  1.11126  1.11182         2236       1            0
2021.07.20 19:48:16.241 Python  5 2020-01-09 08:00:00  1.11181  1.11203  1.10983  1.10993         7984       1            0
2021.07.20 19:48:16.241 Python  6 2020-01-09 12:00:00  1.10994  1.11173  1.10965  1.11148         7406       1            0
2021.07.20 19:48:16.241 Python  7 2020-01-09 16:00:00  1.11149  1.11149  1.10923  1.11046         7468       1            0
2021.07.20 19:48:16.241 Python  8 2020-01-09 20:00:00  1.11046  1.11097  1.11033  1.11051         3450       1            0
2021.07.20 19:48:16.241 Python  9 2020-01-10 00:00:00  1.11051  1.11093  1.11017  1.11041         2448       1            0


Но здесь дата обрабатывается по-другому:

# установим таймзону в UTC
timezone = pytz.timezone("Etc/UTC")
# создадим объект datetime в таймзоне UTC, чтобы не применялось смещение локальной таймзоны
utc_from = datetime(2020, 1, 10, tzinfo=timezone)
# получим 10 баров с EURUSD H4 начиная с 01.10.2020 в таймзоне UTC
rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_H4, utc_from, 10)
Документация по MQL5: Интеграция / MetaTrader для Python / copy_rates_from
Документация по MQL5: Интеграция / MetaTrader для Python / copy_rates_from
  • www.mql5.com
copy_rates_from - MetaTrader для Python - Интеграция - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Понизил версию пакета 'MetaTrader5' до 5.0.33

Python  MetaTrader5 package version:  5.0.33


Результата не дало. Ошибка по прежнему.

 
Vladimir Karputov:

Понизил версию пакета 'MetaTrader5' до 5.0.33


Результата не дало. Ошибка по прежнему.

Может стоит понизить версию Питона?