Há uma idéia comercial interessante. Ajude-me a encontrar erros no código (mql4). - página 7

 
Sergey Gritsay:
Esta variante é adequada se você tiver uma EA de moeda única, se você fizer uma EA de múltiplas moedas, então você deve criar indicadores para todos os pares na Iniq.
Entendo - Perdi este ponto, isso significa para todas as moedas que estão abertas no terminal?
 
A versão MT5 precisa de mais trabalho, a versão que publiquei é bastante complicada
 
Сергей Криушин:
Entendo - Perdi esse ponto, isso significa para todas as moedas que estão abertas no terminal?

sim

 

Olá a todos, reescrevi meu EA para MT5 usando classes padrão. Até o momento, o vôo está OK, vamos testá-lo e relatar quaisquer erros. Para testar a EA no modo de visualização no testador, eu deveria prescrever os símbolos necessários, a função tem o seguinte aspecto

bool symbol_tester(string symbol)
  {
   if(!MQLInfoInteger(MQL_VISUAL_MODE))return(true);
//if(!MQLInfoInteger(MQL_TESTER))return(true);
//if(!MQLInfoInteger(MQL_OPTIMIZATION))return(true);

   if(symbol=="EURUSD")return(true);
   if(symbol=="AUDUSD")return(true);
   if(symbol=="GBPUSD")return(true);
   if(symbol=="USDCAD")return(true);
   if(symbol=="USDCHF")return(true);
   if(symbol=="USDJPY")return(true);
   if(symbol=="NZDUSD")return(true);
   if(symbol=="GBPCAD")return(true);

   return(false);
  }
Arquivos anexados:
 

Algo está errado com as classes indicadoras ou elas são realmente pesadas, o testador perde velocidade na frente dos meus olhos. Em geral, eu retrabalhei o processamento de indicadores sem classes padrão. Também adicionou a seleção de sinais.

signal_01 - se cci(13) for inferior a -100 para compra, mais de 100 para venda.

signal_02 - se cci(13) cruzar -100 de cabeça para baixo para comprar, se cci(13) cruzar 100 de cabeça para baixo para vender

signal_03 - se cci(13) cruza -100 de baixo para vender, se cci(13) cruza 100 de cima para vender

sinal_04 - se cci(13) cruza 100 de baixo para cima, se cci(13) cruza -100 de cima para baixo para venda

sinal_05 - se a cci(13) cruzar acima de 100 para compra, abaixo de -100 para venda.

Removido algumas falhas no painel, consertada a busca de tendências no reinício da EA.

Arquivos anexados:
 
adicionou uma seleção de sinais na versão mt4
Arquivos anexados:
 

Corrigido, o erro é corrigido e pára. Também notei que no testador MT5 o Expert Advisor corre mais rápido na função OnTick() do que no OnTimer(). Portanto, recomendo substituí-los no código ao executá-lo no testador.

Arquivos anexados:
 
Sergey Gritsay:

Corrigido, o erro é corrigido e pára. Também notei que no testador MT5 o Expert Advisor corre mais rápido na função OnTick() do que no OnTimer(). Portanto, recomendo substituí-los no código ao executá-lo no testador.

No Testador de Estratégia não está funcionando... Não está claro como ele faz lotes sem parar no MT5 e coloca posições em pares que não estão presentes no terminal: USDSEK; USD ZAR; USDMXM, mas eles estão no Market Watch... talvez seja por isso que o testador está desacelerando...

 
a tabela se tornou 2 colunas de tela cheia - uma coluna
 

Bugs corrigidos. Instrumentos testados feitos em parâmetros de entrada, escritos com vírgula. Verificado em futuros em demonstração também funciona.

Arquivos anexados:
Razão: