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 изменения не будут применены.