А чем вам такое сравнение не по душе:
if(iTime(NULL,PERIOD_D1,0) != iTime(NULL,PERIOD_D1,1))
evillive:
А чем вам такое сравнение не по душе:
Наверное тем, что результат такого сравнения всегда ИСТИНА.
Ну тогда вотъ:
int dayi = iBarShift(NULL, 1440, Time[i], false); double H = iHigh(NULL, period, dayi + 1); double L = iLow(NULL, period, dayi + 1); double C = iClose(NULL, period, dayi + 1); double O = iOpen(NULL, period, dayi + 1);
ramnek:
Я хочу написать индикатор, который бы на ЧАСОВОМ таймфрейме выводил максимум предыдущего дня (в iHigh используется PERIOD_D1).
Как правильно поставить проверку условия для того, чтобы понять, что наступил новый день (сейчас стоит i делить на 23.. но это не правильно)
Можно много изобретать, но 2 варианта легких.
1) Раз на баре удаляем и рисуем объект. ObjectDelete ObjectCreate
2) Ну или просто передвигаем его. ObjectMove
Ну или так.
datetime prev_day; void OnTick() { ... if(iTime(Symbol(),PERIOD_D1,0)==prev_day) return; prev_day=iTime(Symbol(),PERIOD_D1,0); }

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я хочу написать индикатор, который бы на ЧАСОВОМ таймфрейме выводил максимум предыдущего дня (в iHigh используется PERIOD_D1).
Как правильно поставить проверку условия для того, чтобы понять, что наступил новый день (сейчас стоит i делить на 23.. но это не правильно)