Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 867

 
Kirill Belousov , есть идеи как узнать, сколько секунд по плану в дне/месяце/неделе должно быть?
 
Aleksey Vyazmikin:

Мне нужно получить время 23:45 в данном случае (вообще же у меня не M5, а M1 текущий ТФ, но это не важно) - это время последнего бара текущего ТФ в структуре прошлого бара ТФ выше. Сдвиг на графике это 1 бар для H1, но может быть и другой сдвиг, допустим мне в 11 часов надо будет получить информацию, т.е. сдвиг будет 2.

Алексей, посчитай-ка сколько человек не могут понять что тебе надо.

Хоть как-то попытайся чётко сформулировать задачу. Что надо получить и в какое время на каком периоде графика по какому ТФ.

 
Alexey Viktorov:

Алексей, посчитай-ка сколько человек не могут понять что тебе надо.

Хоть как-то попытайся чётко сформулировать задачу. Что надо получить и в какое время на каком периоде графика по какому ТФ.

Ну, Kirill Belousov меня понял, не поняло 2 человека судя по их репликам.

Мне нужна универсальная функция, работающая со всеми TF, а данные нужны в любой момент времени.

Я не знаю, что именно не ясно, поэтому мне сложно объяснить - нужны наводящие вопросы видимо.

Но, если ещё раз, то мне нужно узнать время последнего появления бара указанного ТФ в структуре текущего ТФ. К примеру в стандартной ситуации, текущий ТФ у меня М1, я хочу узнать время последнего бара на текущем ТФ, равное часовому ТФ, который закрылся 1 бар или более назад. В цифрах - сейчас 10:30 , мне надо узнать какое время было, когда открылась последняя свеча прошлого часа - а будет это 23:49, а если сейчас 11:30, то обычно это время будет 10:59.

Так понятней?

 
Aleksey Vyazmikin:
Kirill Belousov , есть идеи как узнать, сколько секунд по плану в дне/месяце/неделе должно быть?

https://www.mql5.com/ru/docs/common/periodseconds

Документация по MQL5: Общие функции / PeriodSeconds
Документация по MQL5: Общие функции / PeriodSeconds
  • www.mql5.com
[in]  Значение периода графика из перечисления ENUM_TIMEFRAMES. Если параметр не указан, то возвращается количество секунд текущего периода графика, на котором запущена программа.
 
Aleksey Vyazmikin:

Но, если ещё раз, то мне нужно узнать время последнего появления бара указанного ТФ в структуре текущего ТФ. К примеру в стандартной ситуации, текущий ТФ у меня М1, я хочу узнать время последнего бара на текущем ТФ, равное часовому ТФ, который закрылся 1 бар или более назад. В цифрах - сейчас 10:30 , мне надо узнать какое время было, когда открылась последняя свеча прошлого часа - а будет это 23:49, а если сейчас 11:30, то обычно это время будет 10:59.

Так понятней?

Алексей, будь внимательнее - у минутного ТФ нет никакой структуры, т.к. он является минимальным стандартным ТФ. 

Поэтому "пробраться" сквозь твои формулировки проблемы весьма затруднительно. Постоянное повторение тобой одного и того же неподходящими терминами не делает ситуацию понятнее )

Обрати внимание как я сформулировал свои ответы на твои вопросы - там можно разобраться без бутылки и грибов (или экстрасенсорики, которую пришлось задействовать мне, чтобы понять тебя :)  ) 

 

Спасибо, но там нельзя указать номер бара, а без этого месяца как он будет определять верно? Только о текущем и скажет.

 
Kirill Belousov:

Алексей, будь внимательнее - у минутного ТФ нет никакой структуры, т.к. он является минимальным стандартным ТФ. 

Поэтому "пробраться" сквозь твои формулировки проблемы весьма затруднительно. Постоянное повторение тобой одного и того же неподходящими терминами не делает ситуацию понятнее )

Обрати внимание как я сформулировал свои ответы на твои вопросы - там можно разобраться без бутылки и грибов (или экстрасенсорики, которую пришлось задействовать мне, чтобы понять тебя :)  ) 

Да я там конечно про другую структуру говорил, совсем не в этом смысле! А в смысле, что бар любого ТФ представляет собой структуру, которая может разбиваться на подмножества из нижних ТФ.

Когда не общаешься на языке программирования, то сложно получается излагать мысли, признателен, что Вы поняли суть дела, спасибо.

 

Для сдвига в один бар сделал пока так

      datetime         StartDt=iTime(Symbol(),TF_iDeltaP,_Shift);
      int              N_bar=iBarShift(Symbol(),PERIOD_CURRENT,iTime(Symbol(),TF_iDeltaP,0));//номер текущего бара
      datetime         StopDt=iTime(Symbol(),PERIOD_CURRENT,N_bar+1);
 
куда мой вопрос дели ?