PositionClosingSuccesEvent

Не приходят MyTrades

  1. Кот Матроскин

    Регистрация:
    02.01.17
    Сообщения:
    63
    Был на сайте:
    15.03.22

    Добрый день!

    У меня Смартком. Я подписан на tab.PositionOpeningSuccesEvent и tab.PositionClosingSuccesEvent (для того, чтобы посчитать сумму сделки (и количество))

    При событии PositionOpeningSuccesEvent сделки приходят (но как правило не все)

    При событии PositionClosingSuccesEvent сделки вообще не приходят (или не успевают этого сделать), т.е. closePosition.CloseOrders[0].MyTrades == null


    Покопался в коде. Подозрения следующие:

    В Position.SetOrder(Order newOrder) при получении статуса State = PositionStateType.Open; есть проверка openOrder.TradesIsComing == true

    А при получении статуса State = PositionStateType.Done; такой проверки нет


    Вопрос 1. Это баг или фича (с)?

    Вопрос 2. Правильно ли я понимаю, что эти события вызываются когда позиция только начала открываться/закрываться. Приход последующих сделок и полное открытие/закрытие позиции эти события не вызывают?

    Кот Матроскин
    10.07.2018 20:46
    #1
  2. Кот Матроскин

    Регистрация:
    02.01.17
    Сообщения:
    63
    Был на сайте:
    15.03.22
    Цитата: Алексей Ван
    У позиции есть PositionNetVolumeChangeEvent Это событие каждый раз вызывается когда по позиции проходит трейд.

    Спасибо!

    Кот Матроскин
    12.07.2018 15:28
    #2
  3. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    25.04.24
    Цитата: Кот Матроскин

    Добрый день!

    У меня Смартком. Я подписан на tab.PositionOpeningSuccesEvent и tab.PositionClosingSuccesEvent (для того, чтобы посчитать сумму сделки (и количество))

    При событии PositionOpeningSuccesEvent сделки приходят (но как правило не все)

    При событии PositionClosingSuccesEvent сделки вообще не приходят (или не успевают этого сделать), т.е. closePosition.CloseOrders[0].MyTrades == null


    Покопался в коде. Подозрения следующие:

    В Position.SetOrder(Order newOrder) при получении статуса State = PositionStateType.Open; есть проверка openOrder.TradesIsComing == true

    А при получении статуса State = PositionStateType.Done; такой проверки нет


    Вопрос 1. Это баг или фича (с)?

    Вопрос 2. Правильно ли я понимаю, что эти события вызываются когда позиция только начала открываться/закрываться. Приход последующих сделок и полное открытие/закрытие позиции эти события не вызывают?

    У позиции есть PositionNetVolumeChangeEvent Это событие каждый раз вызывается когда по позиции проходит трейд.


    Алексей Ван
    12.07.2018 16:32
    #3