Se isso ajuda alguém, eis como passei na validação. EA sem paradas e modificações de pedidos, mas em todos os prazos.
O validador deu o erro 131 (lote errado) e nenhuma negociação. Esta é minha primeira EA, portanto provavelmente houve todos os erros que eu cometi.
Primeiro adicionei todos os comentários em inglês para verificar as funções comerciais, ou seja, se a EA não comercializa, deve emitir erro em Print().
Também acrescentei a verificação de margem livre e removi ExpertRemove() mas não ajudou, os erros ainda permaneceram os mesmos.
Vou descrever minhas experiências com "não há operações comerciais":
1. Depois de recompilar a antiga EA do Mercado e tentar carregar no site, o erro "não há operações comerciais" apareceu:
test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
there are no trading operations
test on GBPUSDcheck,M30
there are no trading operations
test on XAUUSDcheck,Daily
there are no trading operations
2. A verificação da disponibilidade de cotações para todas as TFs não mostrou nenhum erro (usei divisão por 0). 3. Então comecei a verificar o volume das operações comerciais, mas ao mesmo tempo recebi o erro "não há operações comerciais". 4. Em seguida, alterou o número de lotes em todos os OrderSend para SYMBOL_VOLUME_MIN - "não há operações comerciais" 5. Obviamente, algo está errado com o validador testador. E tentou adicionar abertura de posição no OnInit():
double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
int ticket1=OpenPosition(NULL,OP_SELL,min_volume,0,0,magic);
e isto é o que eu recebi (a propósito, esta é a primeira vez que eu o vejo tão detalhado no validador):
O erro "não há operações comerciais" já está claro aqui. Se tivermos um saldo de 1,00, obviamente não podemos abrir um pedido com 0,20 (SYMBOL_VOLUME_MIN). E a verificação de saldo no código cumpre sua finalidade e não permite colocar tal pedido e exibe uma impressão na revista sobre saldo insuficiente (só que não é mostrado no validador).
É por isso que não permitiu a abertura de posições se SYMBOL_VOLUME_MIN no validador for 0,20. Você não pode definir um limite tão pequeno no lote máximo de posições por padrão para o validador.
Exatamente MT5...
Eles dizem que apenas o MT4 é o problema.
Talvez seja uma sabotagem mudar para o MT5.
Se isso ajuda alguém, eis como passei na validação. EA sem paradas e modificações de pedidos, mas em todos os prazos.
O validador deu o erro 131 (lote errado) e nenhuma negociação. Esta é minha primeira EA, portanto provavelmente houve todos os erros que eu cometi.
Primeiro adicionei todos os comentários em inglês para verificar as funções comerciais, ou seja, se a EA não comercializa, deve emitir erro em Print().
Também acrescentei a verificação de margem livre e removi ExpertRemove() mas não ajudou, os erros ainda permaneceram os mesmos.
Fiz várias outras mudanças ao mesmo tempo, e não sei qual delas ajudou.
Reiniciei erros no início e no final do Expert Advisor, verifiquei as citações de todas as TFs
e o cálculo do lote é recalculado para todos os casos, se a etapa for (0,1), (0,01) e até (0,001)
como resultado, posso dizer que consegui consertar tudo rapidamente, apenas 2 dias e cerca de 10 tentativas
1. Depois de recompilar a antiga EA do Mercado e tentar carregar no site, o erro "não há operações comerciais" apareceu:
2. A verificação da disponibilidade de cotações para todas as TFs não mostrou nenhum erro (usei divisão por 0).
3. Então comecei a verificar o volume das operações comerciais, mas ao mesmo tempo recebi o erro "não há operações comerciais".
4. Em seguida, alterou o número de lotes em todos os OrderSend para SYMBOL_VOLUME_MIN - "não há operações comerciais"
5. Obviamente, algo está errado com o validador testador. E tentou adicionar abertura de posição no OnInit():
e isto é o que eu recebi (a propósito, esta é a primeira vez que eu o vejo tão detalhado no validador):
O erro "não há operações comerciais" já está claro aqui. Se tivermos um saldo de 1,00, obviamente não podemos abrir um pedido com 0,20 (SYMBOL_VOLUME_MIN). E a verificação de saldo no código cumpre sua finalidade e não permite colocar tal pedido e exibe uma impressão na revista sobre saldo insuficiente (só que não é mostrado no validador).
Como você acha que o validador está bem?
Aguardaremos até que o validador seja fixado.
A margina grátis não me incomoda, estou farto de Honduras.
Difícil? Estou falando de expressão.
Encontrei o problema, por padrão tenho um limite para o lote máximo de posições nos parâmetros de entrada.
É por isso que não permitiu a abertura de posições se SYMBOL_VOLUME_MIN no validador for 0,20. Você não pode definir um limite tão pequeno no lote máximo de posições por padrão para o validador.