[СЕРВИСДЕСК] Ошибка получения времени старшего ТФ в таймере! - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Попробуйте сами. Запустите индикатор, выключите терминал и включите, когда наступит новый час.
Так если вы получаете TimeCurrent
Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов.
Так если вы получаете TimeCurrent
Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов.
Подскажите, где в этом коде вызов TimeCurrent?
Подскажите, где в этом коде вызов TimeCurrent?
Так время открытия бара у все равно то которое получено до закрытия терминала. Образуется новый бар, обновиться время. В чем проблема.
Так время открытия бара у все равно то которое получено до закрытия терминала. Образуется новый бар, обновиться время. В чем проблема.
В том то и дело, что терминал выключается когда последний часовой бар на графике имеет час 22:00. Выключается в 22:45, например. Включается в 23:01 - запрос времени последнего часа после установления связи с сервером, и после предзапроса в OnInit() без всяких таймеров - все равно 22 часа. Это нормально по Вашему?
Проверяйте не расчет баров, а время свечи.
Вот так будет правильно обновляться (проверил).
Проверяйте не расчет баров, а время свечи.
Вот так будет правильно обновляться (проверил).
О каком расчете баров идет речь?
Проверю Ваш вариант, но, по сути, Вы просто добавили один "холостой" запрос данных в OnCalculate() и все, причем по логике, до "холостого" запроса дело даже не дойдет, т.к. prev_calculated <= 0 уже выполнится и будет исполнен блок первого запуска.
В любом случае - это костыльное решение, не должно быть таких ситуаций в языке. Связь установлена, функция получения данных проверяется на ошибки и на корректность полученных данных. А в итоге что? Данные все равно левые.
Вообще, если действовать наверняка, можно просто в ините запросить текущее время, затем в OnCalculate() запрашивать текущее время и сравнивать их до тех пор, пока они не будут различаться. Но это такой же костыль и быть такого не должно.
В том то и дело, что терминал выключается когда последний часовой бар на графике имеет час 22:00. Выключается в 22:45, например. Включается в 23:01 - запрос времени последнего часа после установления связи с сервером, и после предзапроса в OnInit() без всяких таймеров - все равно 22 часа. Это нормально по Вашему?
Время закрытия любого последнего бара будет TimeCurrent (то есть текущее). оно вам похоже и нужно, судя по вашему вопросу.
Как я понимаю, терминал, в первый раз, выдает последние данные, те которые у него есть в истории, а уже потом происходит подгрузка с сервера.
Вопрос! Почему он выдает предыдущие данные после того, как связь с сервером уже установлена, был предзапрос данных в OnInit(), проверка на подгрузку данных в каждой из функций CheckCurren..(). Сколько, блин, проверок нужно сделать, чтобы все нормально отработало...
Время закрытия любого последнего бара будет TimeCurrent (то есть текущее). оно вам похоже и нужно, судя по вашему вопросу.
Какого закрытия? Мне нужно время открытия...