Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1434

 

Hola @taramortom.

Probablemente te ayudaría sustituir

return(INIT_FAILED)

por

return(INIT_PARAMETERS_INCORRECT)
 
Yuriy Bykov #:

Hola, @taramortom.

Probablemente te ayudaría sustituir

por

Lo he intentado. No funciona. El optimizador sigue funcionando incorrectamente con este comando.
 

Tal vez la razón de que el optimizador no funcione correctamente sea esta imprecisión del código:

if ((Stoch = false) && ((StochK != 0) || (StochK != 0) || (StochSlow != 0)))
 
Yuriy Bykov #:

Tal vez la razón de que el optimizador no funcione correctamente sea esta imprecisión del código:


Esa no es la razón. Hice el código para un ejemplo de la lógica de trabajo. La versión completa del código es demasiado grande - hay muchos osciladores diferentes. Al optimizar, quiero que el optimizador pruebe diferentes combinaciones (un oscilador encendido, dos osciladores encendidos, tres osciladores encendidos, etc.).

- Al utilizar este tope, el optimizador completa rápidamente el trabajo con un número reducido de pasadas, aunque debería haber un número enorme de ellas.

- Sin usar esta restricción, el optimizador funciona mejor, pero produce muchas variantes vacías (para el ejemplo anterior - sigue buscando sus parámetros cuando Estocástico está desactivado). Dios esté con variantes vacías, pero esto es tanto tiempo extra para la optimización como pases vacíos en lugar de útiles.

 
¿Está utilizando la optimización genética o la optimización completa?
Yo también utilicé este enfoque para excluir combinaciones de parámetros obviamente innecesarias y no noté un rendimiento incorrecto del optimizador. Al contrario, el optimizador funcionó exactamente como se esperaba.
Puede intentar guardar las combinaciones de parámetros omitidas en la base de datos o en un archivo común para comprobar cuántas y cuáles se omiten realmente y comprender los motivos.
 

Hola! estoy escribiendo un indicador basado en MA - ExtJawsHandle=iMA(NULL,0,Period,0,Method,AppliedPrice);

¿cómo puedo llegar programáticamente a los niveles de MA, como se muestra en la siguiente figura.

Una construcción del tipo

IndicatorSetInteger(INDICATOR_LEVELS,1);

IndicatorSetDouble(INDICATOR_LEVELVALUE,0,10);

no funciona.


 
Tango_X IndicatorSetInteger(INDICATOR_LEVELS,1);

IndicatorSetDouble(INDICATOR_LEVELVALUE,0,10);

no funciona.


no hay opciones)

 
Tango_X #:

no hay otras opciones).

¿Qué le impide ver el código del indicador Alligator.mq5?

//--- line shifts when drawing
   PlotIndexSetInteger(0,PLOT_SHIFT,InpJawsShift);
   PlotIndexSetInteger(1,PLOT_SHIFT,InpTeethShift);
   PlotIndexSetInteger(2,PLOT_SHIFT,InpLipsShift);
 
Alexey Viktorov #:

¿Y qué le impide mirar el código del indicador Alligator.mq5

es decir, propones crear un buffer diferente para cada nivel, porque el indicador MA estándar tiene un buffer, con la posibilidad de establecer varios niveles.

¿o he entendido algo mal?

 
Tango_X #:

es decir, usted propone crear un búfer diferente para cada nivel, porque el indicador MA estándar tiene un búfer, con la capacidad de establecer varios niveles

¿o he entendido algo mal?

¿Incluso ahora eres demasiado perezoso para mirar y tratar de entender el código propuesto?