Estou com o mesmo problema na corretora Rico, conta real ... o EA gera muitas ordens pendentes e ao Cancelar, o script congela em modo debugging e demora 3 minutos em cancelar uma ordem.
Consegui deletar pelo homebroker, mas o MT5 nao reconhece esses cancelamentos e ficam como ordens fantasmas. Tive que solicitar ao area de suporte limpar o MT5.
GKin, voce conseguiu algum outro jeito de cancelar as ordens via algoritmo ?
Boa tarde.
Estou com o mesmo problema e publiquei no Fórum também.
Conseguiu algo?
Uma coisa que vi na corretora Rico foi que eu tinha N ordens de compra pendente e quando uma era pra ser executada sempre falhava pelo limite de risco. Aparentemente, as ordens pendentes mesmo que nao executadas estao reservando o dinheiro na conta como se fosse uma garantia. Dai quando era pra executar nao tinha dinheiro.
Minha teoria para esses deletes seria que o sistema de risco ta pensando que o delete puxaria mais garantia (enquanto que nao seria o caso). Mesmo nesse caso ai, nao seria correto um comportamento de timeout, seria sim uma rejeicao.
Fujam da Clear, Rico, Xp...
Não entendo como as pessoas sequer fazem a mínima lição de casa que é pesquisar sobre DMA... Acham que a vida do trader é LINDA... Sem percalços... Tudo cor-de-rosa...
Mesmo problema na Rico.

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Todas as vezes que vou deletar uma ordem pendente via algoritmo, me acontece o mesmo erro:
2020.11.03 13:03:18.687 Trades ' xxxxxxxx ': failed cancel order #658037561 buy 0 at market [Request timeout] (Cancel received. Sending to OMS)
Ele deleta sim a ordem ou as ordens que eu preciso, mas a linha acima também é executada fazendo o EA todo travar por exatos 3 minutos. Isso acontece em toda ordem cancelada. Se forem 3 ordens, são 9 minutos de espera. O que geralmente acontece é, por exemplo:
2020.11.03 13:00:18.714 Trades ' xxxxxxxx ': accepted cancel order #658037561 buy limit 100 USIM5 at 6.41 //Eu realmente coloquei na plataforma essa ordem
A ordem é cancelada, acontece isso daí, espera-se 3 minutos... Se tiver outra ordem, é cancelada e espera-se mais 3 minutos...
Já usei o mesmo código numa conta real na [EDITADO] (eu usava como conta principal) e funciona perfeitamente e não ocorre o erro citado.
O erro acontece tanto nas ordens pendentes que eu coloco manualmente ou é colocado com algoritmos. Eu já enviei o feedback para a Rico, mas não parece ter prioridade. Aqui fica a pergunta: como vocês resolveram esse problema? Porque até onde eu imagino, a mesma infraestrutura também deve ser usada na [EDITADO] e na [EDITADO].
Atualmente eu resolvi, provisoriamente, ou enviando a ordem para um outro ativo e/ou alterando os preços para venda para valores como 999 e compras para valores como 0.01, porque daí acabam vencendo no final do dia sem serem executadas... Pois é, olha a situação. Não tem como deixar o EA travado por 3 minutos para todo e qualquer cancelamento de ordem.
Já tentei usar o código:
E também já usei outro tipo de instrução (usando OrderSend()). Usando o loop do script acima.
Obrigado!