Анализ истории. Как программно определить - была ли открытая позиция на начало дня.

 

Есть задача, понимать, была ли открыта позиция на произвольный момент времени. Как это можно сделать, желательно без перебора всей истории?

У меня позиция держится неделями, а течения дня она или доливается или частично прикрывается, поэтому затруднительно понять результаты за день.

Как быть, как понять - какая позиция была в начале дня? Есть какое-то решение?

Спасибо!

 

а каким образом Вы сможете найти а тем более проверить позицию на время открытия не перебирая всю историю? 

Всю конечно перебирать не нужно, а текущую позицию проверять нужно. смотреть из скольких сделок она состоит.  

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика - Документация по MQL5
 

Если позиция закрыта, то узнать можно только по истории.

А если открыта то есть время открытия POSITION_TIME и изменения POSITION_TIME_UPDATE.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
sanderz:

Есть задача, понимать, была ли открыта позиция на произвольный момент времени. Как это можно сделать, желательно без перебора всей истории?

У меня позиция держится неделями, а течения дня она или доливается или частично прикрывается, поэтому затруднительно понять результаты за день.

Как быть, как понять - какая позиция была в начале дня? Есть какое-то решение?

Спасибо!

Есть. Написать советник, который по вновь сформировавшимся барам будет записывать в текстовый файл информацию по всем открытым позициям и поставить этот самый советник на таймфрейм D1.

Можно также в этот самый советник воткнуть функцию, которая будет отправлять информацию об открытых позах на e-mail

 

  • Запоминаем объем открытой позиции (если позиция селл - со знаком минус).
  • Перебираем историю от самой последней сделки вглубь до начала дня, и добавляем объемы всех сделок по инструменту к запомненному объему открытой позиции (бай - прибавляем, селл - отнимаем).
  • Если в результате получится значение, отличное от 0, значит позиция была.