время начала торговой сессии
А это что такое? Кто вычисляет время начала торговой сессии? Терминал или ваш код?
Очередной баг?
Скорее всего очередной баг в вашем коде.
Давайте тыкать пальцем в небо, других вариантов вы не оставляете, так как не предоставили никакой информации.
https://www.mql5.com/ru/docs/dateandtime/timelocal
TimeLocal
При работе в тестере стратегий локальное время TimeLocal() всегда равно моделируемому серверному времени TimeCurrent().
Вполне себе вероятная причина (в рамках тыканья пальцем в небо).
Хотя не, вряд-ли индикатор использует TimeLocal.
Ну смысл вы поняли. Ищите проблему в коде, который вычисляет вот это
Локализуйте проблему и опубликуйте короткий код для ее воспроизведения. Тот код, который в тестере и в лайве работает по-разному.
А это что такое? Кто вычисляет время начала торговой сессии? Терминал или ваш код?
Индикатор рисует торговые сессии. Я не писал индикатор. Код мой, конечно.
Так тогда возникает вопрос, как может быть баг, если я опираюсь на цены открытия баров и на TimeCurrent(). Это же время локальное, как я понимаю. Или всё же серверное?
Давайте тыкать пальцем в небо, других вариантов вы не оставляете, так как не предоставили никакой информации.
Да я думаю, как лучше задать вопрос.
Индикатор отображает данные так же, как и бот сделки открывает. Т.е. у индикатора и бота торгового время одинаковое.
Индикатор я брал здесь.
По скринам можно увидеть как он отображает время в терминале на реальном графике и в тестере.
По индикатору я всю информацию предоставил.
А по поводу бота так у меня сделка открывается тогда, когда время больше определённого значения времени (фиксированные значение часа).
В боте я инициализирую класс DateTimeInstance, который работает со временем. По сути, это удобная обёртка для работы с MqlDateTime.
curDayDt = new DateTimeInstance(TimeCurrent());
Ниже я прикрепил сам класс DateTimeInstance. Там всё просто. Конструктор класса DateTimeInstance принимает значение времени:
DateTimeInstance :: DateTimeInstance(const datetime dt) { TimeToStruct(dt, m_dtStructure);
И, соот-но, время присваивается в структуру MqlDateTime.
А дальше уже из структуры MqlDateTime возвращаю значения времени..
Интересно, что я передают в класс DateTimeInstance значение TimeCurrent(). Как его значение в тестере может отличаться от значения в самом терминале?

Бегло посмотрел код. Теоретически, проблема может быть связанна с вот этим (но это не точно)
https://www.mql5.com/ru/code/16790
void DrawTimeZone(datetime Start, int Index) { int rates_total,shift,shift_end,_startIndex=Index-ShiftTime; double iHigh[], iLow[], HighSession, LowSession; datetime AsiaStart, AsiaEnd, EuropaStart, EuropaEnd, AmericaStart, AmericaEnd; datetime _start=Start+(TimeTradeServer()-TimeGMT());
Сделайте простой тест. Измените время компьютера таким образом, что бы оно совпадало со временем сервера (и перезапустите терминал, а лучше и компьютер тоже). Если после этого в тестере и в лайве индикатор начнет показывать одинаковые сессии, то, можно копнуть в сторону того, что я подсветил выше.
Ну или можете сразу попробовать печатать значение _start из DrawTimeZone() и сравнивать значение в лайве и тестере. Для всех баров печатать плохая идея, выберите один бар и печатайте только когда функция выполняется для того бара.
Добрый вечер. Помогите пожалуйста разобраться с проблемой.
Есть робот, который выставляет отложенные ордера. Почему-то при тестировании в тестере стратегий, отложенные ордера срабатывают, но потом открывшиеся позиции не закрываются ни по стоп-лоссу ни по тейк-профиту, и не могу понять, что стоп-лосс, или что тейкпрофит.
В эксперте никаких действий с открытыми позициями не совершается после выставления.

Добрый вечер. Помогите пожалуйста разобраться с проблемой.
Есть робот, который выставляет отложенные ордера. Почему-то при тестировании в тестере стратегий, отложенные ордера срабатывают, но потом открывшиеся позиции не закрываются ни по стоп-лоссу ни по тейк-профиту, и не могу понять, что стоп-лосс, или что тейкпрофит.
В эксперте никаких действий с открытыми позициями не совершается после выставления.
Вы просто не там смотрите

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер. Сегодня я решил прогнать бота, которого пишу и решил сверить котировки т.к. в терминале входы другие, а в тестере другие. В общем, я накинул шаблон для тестера такой же, как и в терминале, соответственно, сохранил шаблон, который мне нужен для анализа графика под названием tester.
Ниже видно, как разнится время начала торговой сессии в терминале (верхний скрин) и в тестере (нижний). Почему так? Очередной баг?