Вопрос по работе с датами в мт4

Как средствами мт4 отматывать дату назад на заданое количество недель или дней от текущей даты?
Skymer >>:
Как средствами мт4 отматывать дату назад на заданое количество недель или дней от текущей даты?
int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)
Поиск бара по времени. Функция возвращает смещение бара, которому принадлежит указанное время. Если для указанного времени бар отсутствует ("дыра" в истории), то функция возвращает, в зависимости от параметра exact, -1 или смещение ближайшего бара.

хотелось бы прмиер видеть, как отнять от текущей даты Н дней, хотя свой алгорритм уже наметился, но надо знать когда високосный год.

и еще - как узнать, что год високосный средствами мт?

Skymer писал(а) >>

1. хотелось бы прмиер видеть, как отнять от текущей даты Н дней, хотя свой алгорритм уже наметился, 2. но надо знать когда високосный год.

и еще - как узнать, что год високосный средствами мт?

1. DateTime-N*86400. В сутках 86400 секунда - умножаем на заданное количество дней и отнимаем.

2. 4*(Year/4)==Year. На 4 делится, значит високосный.

Integer >>:

1. DateTime-N*86400. В сутках 86400 секунда - умножаем на заданное количество дней и отнимаем.

2. 4*(Year/4)==Year. На 4 делится, значит високосный.

По пункту 2, оптимальней (Year % 4)==0 високосный :)

сложность как раз и заключалась в представлении заданой даты в виде секунд переменную DateTime

например 20.10.2010 13.00 как перевести в секунды?

Читаем доку https://docs.mql4.com/ru/basis/types/datetime

Print(D'2004.01.01 00:00'); //как по твоему, что будет напечатано ?

Skymer писал(а) >>

сложность как раз и заключалась в представлении заданой даты в виде секунд переменную DateTime

например 20.10.2010 13.00 как перевести в секунды?

StrToTime()

а как можно определить время открытия текущего бара?

Skymer >>:

а как можно определить время открытия текущего бара?

https://docs.mql4.com/ru/series/iTime