Как узнать время закрытия бара?

[Deleted]  
Приветствую! Мне нужна функция, которая бы возвращала время закрытия i-ого бара на указанном периоде и графике. Что-то похожее на это:
datetime iTimeClose(string symbol, int timeframe, int shift);
Если кто-то писал такую, поделитесь пожалуйста.
---------------------- добавил:
Тема закрыта. Нужно было сначала поиском воспользоваться 'Как узнать время закрытия предпоследнего бара'
Да и вообще решение такое очевидное...
 
да я сам в шоке тож с таким столкнулся iTime создали для определения времени открытия бара а для того что бы скопировать все тики бара поленились создать стандартную функцию iTimeClose ... дичь полная ковыряйся как хошь
 
Antoniuk Oleg:
Приветствую! Мне нужна функция, которая бы возвращала время закрытия i-ого бара на указанном периоде и графике. Что-то похожее на это:
Если кто-то писал такую, поделитесь пожалуйста.
---------------------- добавил:
Тема закрыта. Нужно было сначала поиском воспользоваться 'Как узнать время закрытия предпоследнего бара'
Да и вообще решение такое очевидное...

попробуй так 

datetime barTime = iTime(Pair, Period_TF, i);
datetime barTimeStart = barTime; Print(i," barTimeStart", barTimeStart);
datetime barTimeEnd = barTime + PeriodSeconds(); Print(i," barTimeEnd", barTimeEnd);// Определение конца бара

что то у меня не получается все тики проанализировать на заданном баре говит их нет 

    // Обработка каждого бара по отдельности
    for (int i = BarsTotalInput - 1; i >= 0; i--) {
        datetime barTime = iTime(Pair, Period_TF, i);
        datetime barTimeStart = barTime; Print(i," barTimeStart", barTimeStart);
        datetime barTimeEnd = barTime + PeriodSeconds(); Print(i," barTimeEnd", barTimeEnd);// Определение конца бара

        MqlTick ticks[];
        long ticksCopied = CopyTicksRange(Pair,ticks,COPY_TICKS_ALL,barTimeStart,barTimeEnd); // Копируем тики для диапазона времени
                           
        if (ticksCopied < 0) {
            int errorCode = GetLastError();
            Print("Ошибка при копировании тиков для бара с временем ", TimeToString(barTime), ". Код ошибки: ", errorCode);
            ResetLastError();
            continue; // Переход к следующему бару
        } else if (ticksCopied == 0) {
            Print("Нет доступных тиков для бара с временем ", TimeToString(barTime));
            continue; // Переход к следующему бару
        }
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 2 barTimeStart2024.08.30 15:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 2 barTimeEnd2024.08.30 16:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) Нет доступных тиков для бара с временем 2024.08.30 15:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 1 barTimeStart2024.08.30 16:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 1 barTimeEnd2024.08.30 17:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) Нет доступных тиков для бара с временем 2024.08.30 16:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 0 barTimeStart2024.08.30 17:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) 0 barTimeEnd2024.08.30 18:00:00
2024.08.30 17:20:22.360 O_v2 (EURUSD,H1) Нет доступных тиков для бара с временем 2024.08.30 17:00

Может кто то подсказать почему нельзя скопировать все тики хотя бы 3 последних баров и почему они не копируются? 

 

Время последнего тика это не время закрытия бара. Точно так же и время первого тика не значит время открытия бара.

Время закрытия бара и время открытия следующего ВСЕГДА равны.