Возможно ли запомнить время образования последнего экстремума на текущей минутной (М1) свече в mql4.

 

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

 
Andrey Davydov:

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

Можно.
 
Andrey Davydov:

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

Если свеча текущая, то:

datetime extremumTime = iTime(NULL, PERIOD_M1, 0);
 
Ihor Herasko:

Если свеча текущая, то:

iTime-возврвщает время открытия бара, если индекс = 0, то время открытия текущего бара.

А как узнать время появления новых экстремумов текущего бара? Если цена растет например, появляется новый хай.

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

 
Andrey Davydov:

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

datetime  TimeCurrent();
Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов.
 
forexman77:
Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов.

Спасибо, это понятно.

А, что с чем сравнить?

 
Andrey Davydov:

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

double last_high=0;

void OnTick()
  {
   datetime time_high;
   if(High[0]>=last_high)
     {
      time_high=TimeCurrent();
     }
   last_high=High[0];
  }

Нужное время находится в переменной time_high . При обновлении нового значения High последней свечи, будет обновляться и время.

 
Andrey Davydov:

Спасибо, это понятно.

А, что с чем сравнить?

Сейчас только увидел вопрос. В принципе у меня такой же ответ, как у Aliaksandr Hryshyn. 
 
Andrey Davydov:

iTime-возврвщает время открытия бара, если индекс = 0, то время открытия текущего бара.

А как узнать время появления новых экстремумов текущего бара? Если цена растет например, появляется новый хай.

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

То есть стоит задача определения времени внутри бара? Если так, то для любого исторического бара это неизвестно. Точнее, как Вы уже выше сказали, можно установить с точностью до минуты для таймфреймов, которые старше минутного.

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

 
Aliaksandr Hryshyn:
Andrey Davydov:

Возможно ли запомнить время последнего экстремума на текущей минутной (М1)  свече в mql4.

Понятно, что на старших ТФ время хай и лоу можно найти по времени открытия свечи, а как быть с минутной свечей.

Нужное время находится в переменной time_high . При обновлении нового значения High последней свечи, будет обновляться и время.

Спасибо! Ваша логика помогла. Сделал отдельную функцию, только пришлось изменить тип переменной на static datetime, иначе функция возвращала текущее время.
 
forexman77:
Сейчас только увидел вопрос. В принципе у меня такой же ответ, как у Aliaksandr Hryshyn. 
Благодарю.