Если стандартные таймфреймы, можно вычислить номер бара старшего таймфрейма с начала эпохи.
Например, находимся на М5, нужно узнать не начался ли новый бар М15:
int nbc=Time[i] /900; // номер бара М15 с начала эпохи соответствующий текущему бару М5
На предыдущем баре М5:
int nbp=Time[i+1] /900; // номер бара М15 соответствующей предыдущему бару М5
Если nbc не равно nbp, значит находимся на первом баре М5 начинающем новый бар М15.
Если не стандартные таймфреймы, можно попробовать через iBarShift(): iBarShift(NULL,11,Time[i],false) не равно iBarShift(NULL,11,Time[i+1],false).
Исходники перевода секунд с начала эпохи в дату, врядли помогут, слишком специфическая функция, узкая и совсем не общая.
TimeHour() - легко:
int h=(TimeCurrent()-86400*(TimeCurrent()/86400))/3600;
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет.
Вообщем нужно изменить пару индюков и роботов, где есть котнроль врменных промежутков через функции TimeDay, TimeHour.
А мне нужны более мелкие таймы 1 5 15 30 минут. Хотя и болье высокие тоже нужны типа 120 240 720 минут.
Я так понимаю что в функциях TimeDay, TimeHour, все упирается в секунды и гдето в тексте эти функций идет деление на 3600 и тд.
Есть ли у кого исходники функций TimeDay, TimeHour, чтобы можно было их переделать, или функции аналоги.