Позиция Есть функция PositionSelectByTicket не находит Сделки нет функция HistorySelectByPosition находит.
Есть такой код Который проверяет если позиции нет то ищет сделку с выходом = DEAL_ENTRY_OUT дебаг проходит все проверки Позиции НЕТ с тикетом 18 но позиция существует снимок ниже . Функция HistoryDealGetTicket возвращает тикет сделки №18 Но такого тикета ни в ордерах ни сделках нет, снимок ниже.
Позиции в истории не отображаются. Все ордера и сделки участвовавшие в открытии\закрытии позиции объединены одним
Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.
Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.
При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен. | long |
Так я ж пытаюсь выбрать позицию
PositionSelectByTicket( positionTicket)
если ее нет то иду в историю и по индификатору позиции
HistorySelectByPosition( positionTicket);
выбираю,
все сделки и ордера принадлежащие этой позиции. А потом уже ищу сделку которая имеет тип выхода.
Извинясь сдесь тикет написан для простоты на самом делеpositionTicket == DEAL_POSITION_ID Изначально в коде присвоено это значение
Так я ж пытаюсь выбрать позицию
если ее нет то иду в историю и по индификатору позиции
выбираю,
все сделки и ордера принадлежащие этой позиции. А потом уже ищу сделку которая имеет тип выхода.
Извинясь сдесь тикет написан для простоты на самом делеОбратите внимание на разницу
bool PositionSelectByTicket( ulong ticket // тикет позиции );
bool HistorySelectByPosition( long position_id // идентификатор позиции - POSITION_IDENTIFIER );
А у вас и там и там, либо ID либо тикет………

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть такой код Который проверяет если позиции нет то ищет сделку с выходом = DEAL_ENTRY_OUT дебаг проходит все проверки Позиции НЕТ с тикетом 18 но позиция существует снимок ниже . Функция HistoryDealGetTicket возвращает тикет сделки №18 Но такого тикета ни в ордерах ни сделках нет, снимок ниже.