TradeEventPositionOpened() nunca é executado.

 

Olá pessoal, boa noite.

Estou tentando escutar o evento de "Position Opened", porém ele nunca é executado.

Você pode reproduzir minha situação criando um simples EA (generate) pelo wizard mesmo, e definir que vai escutar os eventos de trade, definindo o m_on_trade_process para true.

No método OnInit(), depois de inicializar o expert, adicione a seguinte linha:

ExtExpert.OnTradeProcess(true);

Depois, coloque um breakpoint na linha 185 do arquivo CExpert.mqh:

virtual bool TradeEventPositionOpened(void) { return(true); }

Você vai ver que essa linha nunca é executada.

A função CExpert::CheckTradeState(void) é executada, mas a função TradeEventPositionOpened e similares nunca são.

Preciso definir alguma outra coisa além m_on_trade_process ?

Grato,