Hay una idea de comercio interesante. Ayúdame a encontrar errores en el código (mql4). - página 7

 
Sergey Gritsay:
Esta variante es adecuada si usted tiene un EA de una sola moneda, si usted hace un EA de varias monedas, entonces usted tiene que crear indicadores para todos los pares en el Iniq.
Ya veo - se me pasó este punto, ¿se refiere a todas las monedas que están abiertas en el terminal?
 
La versión de MT5 necesita más trabajo, la versión que he publicado es bastante glitchy
 
Сергей Криушин:
Ya veo - me perdí ese punto, ¿se refiere a todas las monedas que están abiertas en el terminal?

 

Hola a todos, reescribí mi EA para MT5 utilizando clases estándar. Hasta ahora, el vuelo está bien, vamos a probarlo e informar de cualquier error. Para probar el EA en el modo de visualización en el probador, debo prescribir los símbolos necesarios, la función se ve así

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);
  }
Archivos adjuntos:
 

Algo está mal con las clases de indicadores o son realmente pesados, el probador pierde velocidad delante de mis ojos. En general, he reelaborado el tratamiento de los indicadores sin clases estándar. También se ha añadido la selección de señales.

signal_01 - si cci(13) es inferior a -100 para comprar, superior a 100 para vender.

signal_02 - si cci(13) cruza -100 desde arriba para comprar, si cci(13) cruza 100 desde abajo para vender

signal_03 - si cci(13) cruza -100 desde abajo para vender, si cci(13) cruza 100 desde arriba para vender

signal_04 - si cci(13) cruza 100 de abajo hacia arriba, si cci(13) cruza -100 de arriba hacia abajo para vender

signal_05 - si cci(13) cruza por encima de 100 para comprar, por debajo de -100 para vender.

Se han eliminado algunos fallos en el panel, se ha arreglado la búsqueda de tendencias al reiniciar el EA.

Archivos adjuntos:
 
añadido una selección de señales en la versión mt4
Archivos adjuntos:
 

Se ha corregido el error de las paradas. También noté que en el probador de MT5 el Asesor Experto se ejecuta más rápido en la función OnTick() que en OnTimer(). Por lo tanto, recomiendo reemplazarlos en el código al ejecutarlo en el probador.

Archivos adjuntos:
 
Sergey Gritsay:

Se ha corregido el error de las paradas. También noté que en el probador de MT5 el Asesor Experto se ejecuta más rápido en la función OnTick() que en OnTimer(). Por lo tanto, recomiendo reemplazarlos en el código al ejecutarlo en el probador.

En el Probador de Estrategias no funciona en absoluto... No está claro cómo hace lotes sin parar en MT5 y coloca posiciones en pares que no están presentes en el terminal: USDSEK; USD ZAR; USDMXM, pero están en Market Watch... tal vez por eso el probador se ralentiza...

 
la tabla se convirtió en 2 columnas a pantalla completa - una columna
 

Se han corregido errores. Instrumentos de prueba realizados en los parámetros de entrada, escritos con coma. Comprobado en los futuros en la demo también funciona.

Archivos adjuntos: