Asesores Expertos: 5_8 MACross - página 3

 
Shara1:

Hola Vladimir. ¿Es posible hacer comprar, vender por separado en su Asesor de Expertos, y doles por tendencia?

Gracias.

Todavía no he platinised las ediciones de este código.

 
Vladimir Karputov:

Todavía no he platinizado las ediciones de este código.

Vladimir, por favor, dame una pista. Después de ejecutar en el probador, en el informe por alguna razón los parámetros se invierten: mafastperiod-42, y maslowperiod-12. De hecho, el rápido debería ser menor que el lento. Lo he ejecutado dos veces, y las dos veces he obtenido estos resultados.

Gracias.

 
Shara1:

Vladimir, por favor, dame una pista. Después de ejecutar en el probador, en el informe por alguna razón los parámetros se invierten: mafastperiod-42, y maslowperiod-12. De hecho, el rápido debería ser menor que el lento. Lo corrí dos veces, y ambas veces obtuve tales resultados.

Gracias.

"rápido", "lento" - son sólo etiquetas, etiquetado verbal de un parámetro. Pero al final del día, todos los parámetros son números. Y ya que se enciende la optimización genética y buscar entre miles de resultados, pero no se puede descartar tales inversiones de la conciencia :). Un dígito puede ser cualquier cosa, no importa cómo lo llames: "lento" o "rápido".

A veces pongo especialmente una restricción como "lento" no puede ser más o igual que "rápido", y a veces no la pongo y termino con resultados interesantes.

 
Vladimir Karputov:

"rápido", "lento"... todo esto no son más que etiquetas, etiquetado verbal de un parámetro. Pero al final, todos los parámetros son números. Y desde que se enciende la optimización genética y la búsqueda entre miles de resultados, pero tales inversiones de la conciencia no están excluidos :). Una cifra puede ser cualquier número, no importa cómo lo llames: "lento" o "rápido".

A veces pongo una prohibición como "lento" no puede ser más o igual a "rápido", y a veces no la pongo y obtengo resultados interesantes.

¿Cómo puedo poner dicha prohibición en este EA?

Gracias.

 
Shara1:

¿Y cómo poner tal prohibición en este EA?

Gracias.

En OnInit() escribir una comparación de dos parámetros. Si no se cumple la condición - a continuación, descargar la EA con un error.

 
Vladimir Karputov:

En OnInit() escriba la comparación de dos parámetros. Si la condición no se cumple - a continuación, descargar el EA con un error.

Gracias.

Para mí no es factible por ahora. ¿No planea editar este código en absoluto ?

 
Vladimir, por favor dime en este EA tuyo:https://www.mql5.com/es/code/19578 hay una prohibición como "lento" no puede ser más o igual a "rápido". Si no es así, por favor dame un enlace donde pueda verlo.
ma-shift Puria method
ma-shift Puria method
  • votos: 14
  • 2017.12.13
  • Vladimir Karputov
  • www.mql5.com
В основу советника положен метод Пуриа с небольшими вольностями. Используется сигнал не пересечения быстрой MA медленной, а их движение в одну сторону, подтверждение при пересечении MACD своей нулевой линии и крутизной движения быстрой MA, выраженной в количестве пипсов на тик (параметр Shift (vertically) between MA Fast and MA Slow). Обычный...
 
Shara1:
Vladimir, por favor dime en este EA tuyo:https://www.mql5.com/es/code/19578 hay una prohibición como "lento" no puede ser más o igual a "rápido". Si no es así, por favor dame un enlace donde pueda verlo.

Este EA tiene esa protección:

//+------------------------------------------------------------------+
//| Función de inicialización experta|
//+------------------------------------------------------------------+
int OnInit()
  {
   if(InpTrailingStop>0 && InpFractalTrailing)
     {
      Print("If we use \"Fractal trailing\" - we do not use \"Trailing stop\"!");
      Print("If we use \"Trailing stop\" - we do not use fractal \"Fractal trailing\"!");
      return(INIT_PARAMETERS_INCORRECT);
     }

aquí comprueba el parámetro para ver si es mayor que cero y hay una bandera.

 

Pero en el código EMA Cross Contest Hedged, ya existe la protección de dos periodos de promediación de dos indicadores de Media Móvil:

   if(InpShort_ma_period>=InpLong_ma_period)
     {
      Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }
 
Vladimir Karputov:

Pero en el código EMA Cross Contest Hedged, ya existe la protección de dos periodos de promediación de dos indicadores de Media Móvil:

Es decir, necesito después de esta línea - int OnInit()

Inserte este -

 if(InpShort_ma_period>=InpLong_ma_period)
     {
      Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }

Se verá así-

//+------------------------------------------------------------------+
//| Función de inicialización experta|
//+------------------------------------------------------------------+
int OnInit()
  {
 if(InpShort_ma_period>=InpLong_ma_period)
     {
      Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }

Gracias.