Таймзона своя и сервера совпадают?
Вообще, тут по python'у едва ли подскажут, народ на MQL пишет, я тоже.
Вы можете изменить часовой пояс в datetime.now() с помощью библиотеки pytz. Вот пример:
import pytz
from datetime import datetime
# Получаем текущую дату и время в UTC
now_utc = datetime.now(pytz.utc)
# Изменяем часовой пояс на нужный
desired_timezone = pytz.timezone('Europe/Moscow')
now_moscow_time = now_utc.astimezone(desired_timezone)
print(now_moscow_time)
В этом примере мы сначала получаем текущую дату и время в UTC, затем используем метод astimezone() для изменения часового пояса на нужный.
Подсказка: ChatGPT очень хорошо знает питон, может ответить на любые простые вопросы :)
* можно просто прибавить к текущей дате несколько часов или день, или год; запрос тогда точно вернет последние данные
Эта ошибка вылезла только вчера под вечер. До этого всё работало правильно. Не может быть из-за таймзоны.
Но я обязательно попробую, потому что всё остальное я перепробовал.
ChatGPT я тоже использую, но ничего толком в этом случае не подсказал.
Спасибо.
Я изменил код и он выдает
current_date: 2024-01-31 08:34:17.915199+00:00
open high low close tick_volume spread real_volume
time
2024-01-31 08:15:00 0.65626 0.65651 0.65620 0.65642 380 6 0
2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651 432 4 0
Вроде всё правильно, но я захожу в МетаТрейдер и вижу, что свеча 0.65643 0.65667 0.65635 0.65651 - восьмая по счету от последней.
Я ставлю для разнообразия время мск:
current_date: 2024-01-31 11:39:54.136286+03:00
open high low close tick_volume spread real_volume
time
2024-01-31 08:15:00 0.65626 0.65651 0.65620 0.65642 380 6 0
2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651 432 4 0
Выдает то же самое.
На картинке крайняя справа - это текущая свеча. А та, которую мне выдает программа ( 2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651) - крайняя левая.
Вчера вечером (около 19 msk) были проблемы с резолвом в зоне ru из-за косяка с DNSSEC, возможно, отголоски до сих пор какие-то остались в кэшах DNS-серверов.
Я вот тоже про это думаю, но не понимаю, я питон на локальном компе в консоли запускаю, не с сервера, где какие кэши могут быть? Если есть мысль, как почистить - подскажите.
Я у себя на своём локальном рекурсивном DNS-сервере временно отключил DNSSEC. Но у большинства стоят простые роутеры, которые сами рекурсию не раскручивают, а просто форвардят DNS-запросы на сервер провайдера или 8.8.8.8, тут ничего не сделать.
Я изменил код и он выдает
current_date: 2024-01-31 08:34:17.915199+00:00
open high low close tick_volume spread real_volume
time
2024-01-31 08:15:00 0.65626 0.65651 0.65620 0.65642 380 6 0
2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651 432 4 0
Вроде всё правильно, но я захожу в МетаТрейдер и вижу, что свеча 0.65643 0.65667 0.65635 0.65651 - восьмая по счету от последней.
Я ставлю для разнообразия время мск:
current_date: 2024-01-31 11:39:54.136286+03:00
open high low close tick_volume spread real_volume
time
2024-01-31 08:15:00 0.65626 0.65651 0.65620 0.65642 380 6 0
2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651 432 4 0
Выдает то же самое.
На картинке крайняя справа - это текущая свеча. А та, которую мне выдает программа ( 2024-01-31 08:30:00 0.65643 0.65667 0.65635 0.65651) - крайняя левая.
Таймзона своя и сервера совпадают?
Вообще, тут по python'у едва ли подскажут, народ на MQL пишет, я тоже.
copy_rates_range(symbol, timeframe, start_time, end_time)
Возвращает свечи, но не с последней, а на два часа раньше. Если брать 15-минутки, то 8 периодов. Если часовые - то 2.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
У меня такой код (начало):
Он выводит следующее:
ratesM15[-2:]
[(1706669100, 0.65832, 0.65867, 0.65817, 0.65854, 499, 6, 0)
(1706670000, 0.65853, 0.65862, 0.65792, 0.65804, 836, 6, 0)]
current_date: 2024-01-31 05:05:05.069120
open high low close tick_volume spread real_volume
time
2024-01-31 02:45:00 0.65832 0.65867 0.65817 0.65854 499 6 0
2024-01-31 03:00:00 0.65853 0.65862 0.65792 0.65804 836 6 0
Как видно, текущее время 5 часов, а время последней свечи - 3 часа.
В чем может быть причина?
Интернет хороший и стабильный. Компьютер перезагружал. pip install -upgrade MetaTrader5 делал. Даже время на компьютере менял. Ничего не помогает.