Как получить цену на 5 секунд позади TimeCurrent в M1?

 
Я новичок в программировании советников и работаю над проектом, который анализирует разницу цен между двумя моментами времени в секундах.
Моя цель — определить растянутые цены за короткие периоды времени.

У меня уже есть робот, который анализирует эту «растяжку» за считанные секунды, используя это:

TimeCurrent() <= (iTime(NULL, PERIOD_M1, 0) + 5)

Проблема в том, что параметром, который я использую для получения первой цены, является iOpen, а это, очевидно, цена открытия бара... То есть я не могу получить разницу в цене между вторыми 5 и 10 бара, так как iOpen всегда основывается на начале косой черты.
Я был бы очень признателен, если бы кто-нибудь мог дать мне представление о том, как получить цену в данную секунду бара (секунду 5, например)...
Всем большое объятие!
 

Вот так

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Alexey Viktorov, 2022.10.25 20:24

Как-же мне уже надоело читать всю эту ахинею… Ведь кода всего ЧЕТЫРЕ СТРОКИ, а обсуждений 3 страницы.

  MqlTick mqlTick[], symbTick; // объявили переменные
  SymbolInfoTick(_Symbol, symbTick); // это последний тик
  CopyTicksRange(_Symbol, mqlTick, COPY_TICKS_ALL, symbTick.time_msc, symbTick.time_msc-20000); // Получили все тики за последние 20 секунд
  double delta = NormalizeDouble(mqlTick[ArraySize(mqlTick)-1].bid-mqlTick[0].bid, _Digits); // получили разницу крайних значений массива

20000 миллисекунд — это 20 секунд.

Дальше ставьте условие на размер переменной delta больше\меньше, влево\вправо или север\йух…


 
Alexey Viktorov #:

Вот так


Спасибо

 

Привет!

После получения сигнала иногда ставил Sleep(5000);

Чтобы бот "уснул" на 5 секунд :)

 
Alexander Ivanov #:

Привет!

После получения сигнала иногда ставил Sleep(5000);

Чтобы бот "уснул" на 5 секунд :)

Здравствуйте, Александр! А с какой целью "укладываете спать" робота на 5 секунд?

С уважением, Владимир.

 
MrBrooklin #:

Здравствуйте, Александр! А с какой целью "укладываете спать" робота на 5 секунд?

С уважением, Владимир.

Здравствуйте!

Цель такой особой нет.

Если сигнал берется при резких скачках цены - то как бы хотел избежать проскальзывания цены.

Но это мои "тараканы" на голове :))