Вчера мудохался до часу ночи. Думал где же я затупил. Потом проверил алертом и ах...!
RVD
Угадайте что алерт вернул? Правильно, 3(среда сегодня).
ну, из понятия вчера ничего не следует - вчера на пк и вчера в терминале..
в какое время по терминалу криво работало и вообще данных по дневках могло и не быть..
это не замечание, а в том смысле, как воссоздать условия у себя чтобы проверить ошибку ?
Вчера мудохался до часу ночи. Думал где же я затупил. Потом проверил алертом и ах...!
RVD
Угадайте что алерт вернул? Правильно, 3(среда сегодня).
Проверил - алерт не срабатывает, т. к. сегодня не понедельник.
Скорее всего, дело в том, что к моменту проверки условия данные дневного графика неполные. Обращение к ним инициирует подкачку дневного ТФ. К моменту второго обращения к дневному ТФ необходимые данные уже есть. В итоге получаем, что там 1, а по факту 3.
Чтобы не спотыкаться на таких моментах, необходимо кэшировать рабочее значение:
datetime time = iTime(Symbol(),PERIOD_D1,0); if(TimeDayOfWeek(time) == 1) Alert(TimeDayOfWeek(time));
Ну и со скобочками Вы намудрили, конечно же. Видимо, причина именно в них:
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,0)==1)) Alert(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,0)));
Нужно вынести сравнение с 1 за правую скобку.
Ну и со скобочками Вы намудрили, конечно же. Видимо, причина именно в них:
Нужно вынести сравнение с 1 за правую скобку.
Спасибо!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вчера мудохался до часу ночи. Думал где же я затупил. Потом проверил алертом и ах...!
RVD
Угадайте что алерт вернул? Правильно, 3(среда сегодня).