MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 27

 
По поводу питона - недавно говорил про ranger (файловый менеджер), который написан на нём. Попользовался несколько дней, впечатления - задумка прикольная с интересными фишками, но на питоне реально тупит (если в фоне выполняются какие-то сложные задачи). Снёс, хз чего этот питон так народ вставляет. Поставл подобную поделку на сишке.
 
Vict:
По поводу питона - недавно говорил про ranger (файловый менеджер), который написан на нём. Попользовался несколько дней, впечатления - задумка прикольная с интересными фишками, но на питоне реально тупит (если в фоне выполняются какие-то сложные задачи). Снёс, хз чего этот питон так народ вставляет. Поставл подобную поделку на сишке.

У каждого инструмента есть свое назначение.

Пользуйтесь mc ... 

 
MetaQuotes Software Corp.:

Доступна версия 5.0.9:

Спасибо, норм.

 

Непонятное поведение при загрузке котировок:

[2, 'MetaQuotes-Demo', '22911036']
[500, 2267, '09 Dec 2019']
rates = pd.DataFrame(MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_M15, datetime(2017, 1, 1), datetime(2020, 1, 1)), 
                     columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume'])
RuntimeError                              Traceback (most recent call last)
<ipython-input-13-4dc176d808cb> in <module>
----> 1 rates = pd.DataFrame(MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_M15, datetime(2017, 1, 1), datetime(2020, 1, 1)), 
      2                      columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume'])
      3 # leave only 'time' and 'close' columns
      4 rates = rates.drop(['open', 'low', 'high', 'tick_volume', 'spread', 'real_volume'], axis=1)
      5 rates = rates.set_index('time')

RuntimeError: Terminal: Invalid params

Если загружать с 2018 г., то цены закачиваются и ошибки нет

История доступна:


Нашел решение, поставил "макс баров в окне" терминала Unlimited
 
Maxim Dmitrievsky:

Непонятное поведение при загрузке котировок:

Если загружать с 2018 г., то цены закачиваются и ошибки нет

История доступна:


Нашел решение, поставил "макс баров в окне" терминала Unlimited

Для функций MT5CopyRatesXxx () специально добавили примечание на такой случай

 
Rashid Umarov:

Для функций MT5CopyRatesXxx () специально добавили примечание на такой случай

супер, спасибо

 

В документации написано:

Данные, полученные из терминала MetaTrader 5, имеют UTC-время.  

Ошибка: модуль возвращает данные похоже не в UTC , а в во времени сервера. (MT5CopyRatesRange)

Вообще терминал хранит время в какой таймзоне ? UTC или время сервера или локальное время терминала ?

 
Lyuk:

В документации написано:

Ошибка: модуль возвращает данные похоже не в UTC , а в во времени сервера. (MT5CopyRatesRange)

Вообще терминал хранит время в какой таймзоне ? UTC или время сервера или локальное время терминала ?

Во времени сервера терминала всегда возвращаются, т.е. ничего не нужно корректировать. Справку бы обновить.

Терминал хранит в UTC+2 обычно, по часикам в "обзоре рынка" можно определить

 
Maxim Dmitrievsky:

Во времени сервера терминала всегда возвращаются, т.е. ничего не нужно корректировать. Справку бы обновить.

Терминал хранит в UTC+2 обычно, по часикам в "обзоре рынка" можно определить

Это неудобно и неправильно. Даже просто глядя в терминал сложно соотнести время там и где то еще.

Локальное время известно , UTC несложно высчитать (помню смещение) или получить. А вот время сервера приходится искать , сравнивать с чем либо. Вот какое смещение у времени сервера ? ответ - обычно +2, или смотреть. Неудобно. В терминале тоже хотелось бы настройку отображения времени (локальное, UTC, серверное), будет гораздо удобнее.

А если данные с разных терминалов? время угадывать только.

UTC гораздо лучше, надо исправить функции , не справку.

 
Lyuk:

Это неудобно и неправильно. Даже просто глядя в терминал сложно соотнести время там и где то еще.

Локальное время известно , UTC несложно высчитать (помню смещение) или получить. А вот время сервера приходится искать , сравнивать с чем либо. Вот какое смещение у времени сервера ? ответ - обычно +2, или смотреть. Неудобно.

UTC гораздо лучше, надо исправить функции , не справку.

Может для каких-то целей неудобно, мне пока для текущих удобно: что вижу в терминале, то и получаю в пайтоне, не приходится приводить к другому диапазону

Причина обращения: