Вопрос был "Почему по разному?"
Цитата:
В скрипте: Hour() =22, Minute()=59, Seconds()=34, DayOfWeek()=5
В индикаторе: Hour() =0, Minute()=0, Seconds()=0, DayOfWeek()=0
Почему по разному то?
PS Тоже самое перешло на будни.
Это устаревшие функции. Используйте MqlDateTime. Пример:
void OnStart() { datetime timeCurrentDt = TimeCurrent(); MqlDateTime timeCurrent; timeToStruct(timeCurrentDt, timeCurrent); Alert(StringFormat("h %i, m %i, s %i, day of week %i", timeCurrent.hour, timeCurrent.min, timeCurrent.sec, timeCurrent.day_of_week)); } bool timeToStruct(datetime time, MqlDateTime &var) { ResetLastError(); if(TimeToStruct(time, var)) return(true); Print("TimeToStruct error ", GetLastError()); return(false); }
Тоже ходил по граблям со старыми функциями. Здесь человек доступно объяснил, что лучше всего просто объявить структуру. И я уже исходя из своего опыта говорю, что да, со структурами работать гораздо удобнее.
Научите пожалуйста работать с MqlDateTime
- 2022.06.14
- www.mql5.com
.day_of_year содержит некорректное значение...
Понятно-понятно. Со структуры я начал. Этим вопросом владею, пользуюсь.
Был у меня готовый/рабочий код на скрипте, его скопировал и вставил в индикатор. А индикатор не заработал. Долго искал ошибку "у себя". Оказалось, одни и те же функции, в разных местах работают по разному. Просто пол дня потерял, пока не нашел различие между скриптом и индикатором.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет.
Вчера вечером (воскресение) наткнулся на следующее.
Hour() Minute() Seconds() Day() DayOfWeek() в скрипте возвращают значения последнего известного тика, т.е. пятницы. При этом в индикаторе, эти же самые функции, возвращают просто нули.
По вчерашнему дню, 06.11.2022
TimeCurrent(Struktura)
Struktura.day_of_week=5 //Пятница
Struktura.hour=22
Struktura.min=59
Struktura.sec=34
В скрипте: Hour() =22, Minute()=59, Seconds()=34, DayOfWeek()=5
В индикаторе: Hour() =0, Minute()=0, Seconds()=0, DayOfWeek()=0
Почему по разному то?