Отобрать сегодняшние ордера - страница 2

 
Andrey Khatimlianskii:

Так есть опасность получить старые данные, если график Д1 не открыт (и проверка не вызывается каждый тик).

Лучше от TimeCurrent отбросить время, оставив только дату (TimeToStr + StrToTime). 

Ну ОК. Чтобы не делать лишних телодвижений с проверкой доступности данных другого ТФ, можно еще так )):

datetime dayStartTime = (TimeCurrent() / (PERIOD_D1 * 60)) * PERIOD_D1 * 60;
 
Игорь Герасько:

Ну ОК. Чтобы не делать лишних телодвижений с проверкой доступности данных другого ТФ, можно еще так )):

Да, так тоже можно. Только я бы константу PERIOD_D1 не использовал, в МТ5, например, у нее уже другое значение ;)
 
Andrey Khatimlianskii:
Да, так тоже можно. Только я бы константу PERIOD_D1 не использовал, в МТ5, например, у нее уже другое значение ;)

В МТ5 код с поиском ордеров вообще не будет работать. Ну а использование именованных констант вместо числовых значений - это по умолчанию хороший тон программирования. Тут бы вообще нужно было бы заменить одной константой:

#define SECONDS_IN_DAY  PERIOD_D1 * 60
 
Игорь Герасько:

Ну а использование именованных констант вместо числовых значений - это по умолчанию хороший тон программирования. Тут бы вообще нужно было бы заменить одной константой:

Вот именно - использование именованных констант, а не их значений (которые, теоретически, могут поменяться).

Но этот холивор тут не к месту )