Skip to content

HookTradeRequestClose

HookTradeRequestClose

Хук для добавления проверенного торгового запроса на открытие трейда в очередь обработки.

virtual int HookTradeRequestClose(
    const TradeRecord&   trade,        // ссылка на объект торгового запроса
    const GroupRecord&   group,        // ссылка на объект конфигурации группы
    const SymbolRecord&  symbol,       // ссылка на объект конфигурации символа
    const AccountRecord&    user,         // ссылка на объект аккаунта
    const MarginLevel&   margin,       // ссылка на ордер марджин состояние
    TradeDiffRecord&     trade_dif     // [in/out] ссылка на объект изменений торгового трейда, который должены быть применены в результате выполнения торгового запроса (см. ниже)
);

Параметры

  • trade
    [in] ссылка на объект торгового запроса.

  • group
    [in] ссылка на объект конфигурации группы клиента, для которого обрабатывается запрос.

  • symbol
    [in] ссылка на объект конфигурации символа, по которому обрабатывается запрос.

  • user
    [in] ссылка на объект текущего аккаунта, связанного с данным запросом.

  • margin
    [in] ссылка на объект текущего аккаунта, связанного с данным запросом.

  • trade_dif
    [in/out] Указатель на объект нового торгового ордера, который должен быть создан в результате выполнения торгового запроса.
    Заполняется только для запросов, связанных с созданием нового ордера (см. список ниже). Ордер полностью готов для добавления в торговую базу (все поля заполнены, кроме тикета). Создание нового ордера и присвоение тикета происходит только после возврата MT_RET_OK из hook.


Возвращаемое значение

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

Примечания

В зависимости от типа торгового запроса hook позволяет: - модифицировать запрос, - отклонить запрос, - принять запрос без изменений.

Значение trade_dif заполняется только для следующих типов запросов (EnTradeActions):

  • TA_REQUEST
  • TA_INSTANT
  • TA_MARKET
  • TA_EXCHANGE
  • TA_PENDING
  • TA_DEALER_POS_EXECUTE
  • TA_ACTIVATE_SL
  • TA_ACTIVATE_TP
  • TA_STOPOUT_POSITION

Для остальных типов запросов trade_dif изменения не будут применены.