Problemas na Modal OnInit Failed
Bom dia
Nao estou conseguindo rodar nenhum EA na Modal. Erro "OnInit Failed". Só acontece quando estou logado na Modal, em outras funciona corretamente.
A negociação automatizada nao funciona, as ordens não são enviadas. Verifiquei no testador de estratégia que as operações não são feitas, devido a esse erro.
Alguém poderia me ajudar?
Que mensagens aparecem na aba "Journal" quando ocorre esse erro? (acho que o nome da aba em português é "Diário")
"tester stoped because OnInit failed"
Isso aparece quando uso o testador de estratégia. Quando coloco o EA na conta real as ordens não são enviadas.
"tester stoped because OnInit failed"
Isso aparece quando uso o testador de estratégia. Quando coloco o EA na conta real as ordens não são enviadas.
E na conta demo (usando o EA direto, sem o tester) as ordens são enviadas?
Se forem enviadas na conta demo e não forem na conta real, pode ser que esteja faltando configurar a margem na corretora.
Se não estiverem sendo enviadas nem na conta demo, mande imprimir o código de retorno recebido no comando OrderSend (ele vem preenchido no campo retcode na estrutura MqlTradeResult) e verifique nesta tabela o motivo pelo qual a ordem está sendo rejeitada.
E na conta demo (usando o EA direto, sem o tester) as ordens são enviadas?
Se forem enviadas na conta demo e não forem na conta real, pode ser que esteja faltando configurar a margem na corretora.
Se não estiverem sendo enviadas nem na conta demo, mande imprimir o código de retorno recebido no comando OrderSend (ele vem preenchido no campo retcode na estrutura MqlTradeResult) e verifique nesta tabela o motivo pelo qual a ordem está sendo rejeitada.
Bem, eu não testei na conta demo, porque a conta demo não é grátis na Modal, apenas a conta real é grátis (legal, né?). Eu estava testando na conta demo de outra corretora e estava funcionando.
Não sei como verificar esse código. Aonde utilizo esse comando?
Bem, eu não testei na conta demo, porque a conta demo não é grátis na Modal, apenas a conta real é grátis (legal, né?). Eu estava testando na conta demo de outra corretora e estava funcionando.
Não sei como verificar esse código. Aonde utilizo esse comando?
Vc já verificou se consegue enviar as mesmas ordens manualmente?
Se não conseguir enviar as ordens manualmente, provavelmente o problema é falta de margem na corretora.
Na Modal vc precisa configurar margens específicas para WIN, IND, WDO e DOL na tela "Limites BM&F" para poder operar.
Verifique se a ordem que está sendo rejeitada faz sua posição exceder o número máximo de contratos que aparece nessa tela para o ativo negociado.
Se vc consegue enviar as ordens manualmente, mas não no robô, certifique-se de que a opção "AutoTrading" esteja habilitada no menu do MT5.
Quanto ao código de retorno do OrderSend, se não foi você mesmo que programou o robô, terá que pedir isso a quem o programou, pois tem que ver dentro do código-fonte como está sendo feito.
Vc já verificou se consegue enviar as mesmas ordens manualmente?
Se não conseguir enviar as ordens manualmente, provavelmente o problema é falta de margem na corretora.
Na Modal vc precisa configurar margens específicas para WIN, IND, WDO e DOL na tela "Limites BM&F" para poder operar.
Verifique se a ordem que está sendo rejeitada faz sua posição exceder o número máximo de contratos que aparece nessa tela para o ativo negociado.
Se vc consegue enviar as ordens manualmente, mas não no robô, certifique-se de que a opção "AutoTrading" esteja habilitada no menu do MT5.
Quanto ao código de retorno do OrderSend, se não foi você mesmo que programou o robô, terá que pedir isso a quem o programou, pois tem que ver dentro do código-fonte como está sendo feito.
As configurações de margem estão corretas e o AutoTrading está ativado. Ainda não tentei realizar operações manualmente. Entrei em contato com a Modal e parece que o problema é o tipo de preenchimento da ordem que o EA está fazendo. Vou ver com o desenvolvedor do EA para mudar o código.
Entrei em contato com a Modal e parece que o problema é o tipo de preenchimento da ordem que o EA está fazendo.
É possível que seja isso sim!
Nesse caso a ordem vai retornar código
10030 |
TRADE_RETCODE_INVALID_FILL |
Invalid order filling type |
É possível que seja isso sim!
Nesse caso a ordem vai retornar código
10030 |
TRADE_RETCODE_INVALID_FILL |
Invalid order filling type |
Aonde verifico esse código?
Aonde verifico esse código?
Isso tem que ser verificado via programação, lendo o campo retcode da estrutura MqlTradeResult que é retornada quando a ordem é enviada (documentação aqui).
Você precisará pedir ao desenvolvedor do seu EA para verificar isso.
Se estiver mesmo dando esse erro, provavelmente é por causa da forma como foi preenchido o atributo type_filling. O que eu uso e funciona na Modal (e em todas as corretoras brasileiras que já testei) é type_filling = ORDER_FILLING_RETURN.
Isso tem que ser verificado via programação, lendo o campo retcode da estrutura MqlTradeResult que é retornada quando a ordem é enviada (documentação aqui).
Você precisará pedir ao desenvolvedor do seu EA para verificar isso.
Se estiver mesmo dando esse erro, provavelmente é por causa da forma como foi preenchido o atributo type_filling. O que eu uso e funciona na Modal (e em todas as corretoras brasileiras que já testei) é type_filling = ORDER_FILLING_RETURN.
Ok, o desenvolvedor arrumou o código mas parece que os problemas continuam. Agora o EA realiza uma operação e para. Quando eu removo o EA e coloco novamente para rodar acontece a mesma coisa.
Olha, já estou pensando em desistir dessa Modal, são tantos problemas.
Bom dia
Nao estou conseguindo rodar nenhum EA na Modal. Erro "OnInit Failed". Só acontece quando estou logado na Modal, em outras funciona corretamente.
A negociação automatizada nao funciona, as ordens não são enviadas. Verifiquei no testador de estratégia que as operações não são feitas, devido a esse erro.
Alguém poderia me ajudar?