datetime NewDate = TimeCurrent() / (24 * 3600) * (24 * 3600) + NewHour * 3600;
datetime SetHour(datetime dtime, int hour) { MqlDateTime mdt; TimeToStruct(dtime, mdt); mdt.hour = hour; return StructToTime(mdt); }
Nauris Zukas #:
Тогда поясните как из этого: datetime / (24 * 3600) * (24 * 3600) получается вычислить начало дня?
datetime это целочисленный тип, поэтому после операции деления дробных значений не будет
если не понятно и так, то руками попробуйте с карандашом и бумагой выполнить расчеты по правилам математических операций: - скобки и слева направо
Igor Makanu #:
datetime это целочисленный тип, поэтому после операции деления дробных значений не будет
если не понятно и так, то руками попробуйте с карандашом и бумагой выполнить расчеты по правилам математических операций: - скобки и слева направо
я думаю, что человеку будет проще понять, если так написать, чтоб не путаться с последовательностью операций:
datetime NewDate = NewHour * 3600 + 24 * 3600 * TimeCurrent() / (24 * 3600);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть такие параметры:
Надо собрать новое datetime - 2021.10.22 21:00:00. Как это луче сделать?
datetime NewDate=???;