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

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

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

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

Ivan Ivanov
1908
Ivan Ivanov  

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

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

Vitaliy Belomestnov
205
Vitaliy Belomestnov  
Evgeny Belyaev:

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

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


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

Alexey Volchanskiy
27265
Alexey Volchanskiy  
vitaliy9999999:

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

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

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

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

***

Vitaliy Belomestnov
205
Vitaliy Belomestnov  

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

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

3. с помощью 

HistoryDealGetInteger()

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий