Как определить тип позиции в архиве? помогите, кому не жалко.

 
Из  темы понятно, что опять прилип. только теперь не могу определить тип закрытой позиции. Профит и тикет  находится легко, с ним проще... но вот с типом позиции БЕДА! перелопаил статью "Ордерa, позиции и сделки в MetaTrader 5". но ума не прибавилось. Помогите люди добрые!
Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • 2011.01.05
  • MetaQuotes Software Corp.
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.
 
vitaliy9999999:
Из  темы понятно, что опять прилип. только теперь не могу определить тип закрытой позиции. Профит и тикет  находится легко, с ним проще... но вот с типом позиции БЕДА! перелопаил статью "Ордерa, позиции и сделки в MetaTrader 5". но ума не прибавилось. Помогите люди добрые!

PositionSelect(symbol) - копирует из базы терминала открытую позицию по имени символа в кэш для дальнейших обращений к ее свойствам функциями PositionGetDouble(),  PositionGetInteger() и PositionGetString()

Далее вызываете PositionGetInteger(POSITION_TYPE

 

Поскольку Позиция существует  только пока она открыта, чтоб найти тип закрытой позиции нужно анализировать Сделку по закрытие.

Если Сделка Типа BUY то Позиция была SELL, и наоборот.

 
Evgeny Belyaev:

PositionSelect(symbol) - копирует из базы терминала открытую позицию по имени символа в кэш для дальнейших обращений к ее свойствам функциями PositionGetDouble(),  PositionGetInteger() и PositionGetString()

Далее вызываете PositionGetInteger(POSITION_TYPE


мне нужен тип закрытой позиции, а не открытой... хотя логика должна быть примерно такой же как и у открытой. Наверное...

 
vitaliy9999999:

мне нужен тип закрытой позиции, а не открытой...

И в том же классе куча других свойств, все расписано в хелпе
#include <trade\dealinfo.mqh>

int ticket; // как-то его потом нашли

void OnStart()
{
    CDealInfo dinfo;
    dinfo.Ticket(ticket);
    ENUM_DEAL_TYPE dt = dinfo.DealType();
}

***

 

1. производится выгрузка в кэш с какого то числа и по такое.

2. выбирается позиция

3. с помощью 

HistoryDealGetInteger()

определяется тип.

в теории кажется просто, но по факту ничего не работает...

Может у кого завалялся кусочек рабочего кода?

Причина обращения: