Erro ao utilizar a função OrderSend() na corretora [EDITADO]

 
     if(OrderSend(request,result))
                 {
                  if(m_trade.ResultRetcode() == 10008 || m_trade.ResultRetcode() == 10009)
                    {
                     Print("ORDEM DO ROBÔ ", MagicNumber, " DELETADA COM SUCESSO");
                    }
                  else
                    {
                     Print("NÃO FOI POSSÍVEL DELETAR A ORDEM DO ROBÔ ", MagicNumber, " ,TICKET # ", orderTicket);
                    }
                 

Ao colocar esse código acima , em qq parte de um código maior, de um EA , sendo para cancelar, lançar uma ordem à mercado, ou limite, enfim,  qq que seja a utilização dentro da corretora [EDITADO] e robô trava. 

Detalhes:

1) Testei esses comandos na [EDITADO], [EDITADO], [EDITADO], [EDITADO]e [EDITADO]e em todas essas corretoras funciona perfeitamente bem;

2) O robô somente volta a funcionar, acreditem, se eu clico no ícone no canto inferior direito do MT e troco de servidor, mas a cada nova chamada dessa função, o robô trava novamente;

3) Quando eu troco essa função pelo OrderSendAsync() consigo executar perfeitamente qq negociação;

4) Liguei no suporte da Rico e a resposta é que o MT está perfeito!


A utilização de OrderSendAsync parece resolver os problemas, mas isso me gera uma série imensa de verificações, antes de efetuar qq outra negociação, para ter certeza que a corretora executou o que foi pedido pela função  OrderSendAsync , ou seja,  gostaria ainda de continuar tentando com a função OrderSend(), alguém tem alguma idéia do que pode estar acontecendo?

Grato

 
Fernando Mestre De Casa:


. . .

4) Liguei no suporte da Rico e a resposta é que o MT está perfeito!

. . .


Boa noite Fernando!


Tente atualizar sua versão MT5:


Se não resolver, e se está funcionando em várias outras corretoras, fica evidente que o problema está relacionado à corretora. Isso foi debatido também nesse outro tópico...

Razão: