Расширение торговой информации.

 

Можно ожидать торговые события (или новые типы транзакций) чтобы получать аналоги вот таких сообщений из Журнала:

срабатывание отложенного ордера и срабатывание TP 

2016.06.23 00:04:39   order [#3 buy stop 0.10 EURUSD at 1.13187] triggered
2016.06.23 00:32:25   take profit triggered #3 buy 0.10 EURUSD 1.13188 tp: 1.13437 [#7 sell 0.10 EURUSD at 1.13437]


?

2017.01.17 15:11:50.857 Terminal        MetaTrader 5 x64 build 1502 started (MetaQuotes Software Corp.)


 

 
Для TP/SL

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MetaEditor build 1490

fxsaber, 2016.12.05 01:31

Рабочий вариант для реала (не для тестера)
void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result )
{
  if ((Trans.type == TRADE_TRANSACTION_ORDER_ADD) &&
       PositionSelectByTicket(Trans.position) && OrderSelect(Trans.order) &&
       (PositionGetInteger(POSITION_TYPE) == 1 - OrderGetInteger(ORDER_TYPE)))
  {
    const double Price = OrderGetDouble(ORDER_PRICE_OPEN);
    
    if (Price == PositionGetDouble(POSITION_TP))
      Print("Position #" + (string)Trans.position + " - triggered TP.");    
    else if (Price == PositionGetDouble(POSITION_SL))
      Print("Position #" + (string)Trans.position + " - triggered SL.");    
  }
}
Для отложек аналогично.
Причина обращения: