vipermagi:
...........
Таймер инициализировал EventSetTimer(1).
В OnInit() я надеюсь?
В OnInit() я надеюсь?
Да.
Я, короче, разобрался в чём причина была. Оказывается своё время сервер присылает только во время тика, который может и пол минуты не приходить. И функция TimeCurrent() берёт как раз это серверное время. А вот функция TimeLocal() нормально раз в секунду время меняет. Я думал это оно не перерисовывает, а оно просто одно и то же время раз в секунду выставляло.
Хочу сделать отображение времени на графике с секундами, которые будут меняться раз в секунду.
В функции OnTime() меняю текст на в объекте и вызываю функцию ChartRedraw(). Но оно вроде как срабатывало по тику так и продолжает :(
Таймер инициализировал EventSetTimer(1).кстати, про таймер :-)
таймер не всегда инициализируется удачно
типичный use-case:
bool hasTimer; datetime lastTimer; int OnInit() { hasTimer=EventSetTimer(RESOLUTION); lastTimer=TimeLocal(); } void OnDeinit() { if (hasTimer) EventKillTimer(); } void OnTimer() { lastTimer=TimeLocal(); } void OnTick() { if (!hasTimer) { hasTimer=EventSetTimer(RESOLUTION); if (TimeLocal()>lastTimer+RESULTION) OnTimer() } } /// по аналогии с OnTick - OnCalculate, OnChartEvent
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хочу сделать отображение времени на графике с секундами, которые будут меняться раз в секунду.
В функции OnTime() меняю текст на в объекте и вызываю функцию ChartRedraw(). Но оно вроде как срабатывало по тику так и продолжает :(
Таймер инициализировал EventSetTimer(1).