Apertura, cierre en el Asesor Experto generado por el Asistente MQL5 - página 6

 
Andy:

EURUSD en M1; no por ticks, sino por barras; prueba desde las 18:00 MSK; (no se puede insertar captura de pantalla).


Por favor, lea atentamente, punto por punto:

modo de generación de ticks, fechas de prueba: desde ... Para. Captura de pantalla del nombre de la línea del probador y, al mismo tiempo, la entrada del registro. En general, una descripción detallada.


 
Andy:

Todo está escrito excepto la captura de pantalla (hazme caso).


Lee lo anterior. Hasta que no hayas escrito TODO, no te contestaré.

 
Andy:

¿Por qué han borrado mi mensaje?

EURUSD en M1; no por ticks, sino por barras; prueba desde las 18:00 MSC.

Aquí, vela bajista a las 18:15en la línea larga y corta en el registro.



Actualizado el archivo (ahora también imprime el patrón "0").


Añadido: utilizar el Probador de Estrategias - no es necesario torturar el terminal en vivo a la vez :)

Archivos adjuntos:
 
Andy:

¿No había ninguno, y cuáles eran?


Abra el archivo: CSignalMA::LongCondition y CSignalMA::ShortCondition funciones - usted puede ver todas las impresiones allí. Y ahora tengo que despedirme, es hora de la estufa.

 
Andy:

En las líneas escribe correctamente (largo) pero en el registro dice corto (patrón 1).


Por favor, facilite la siguiente información:

  1. tipo de cuenta comercial: compensación o cobertura
  2. Captura de pantalla del Probador de Estrategias: pestaña "Ajustes" y "Parámetros".
  3. Describa detalladamente lo que quiere decir con "Las líneas son correctas (largas), pero el tronco es corto (patrón 1)".

 
Andy:
Para las cuentas de red y de cobertura la configuración por defecto es correcta (no hace falta hacer una captura de pantalla), pero cuando se va a ejecutar el parche 1, la línea escribe todo correctamente (largo), pero en realidad el registro del Asesor Experto es corto y viceversa. Puedes comprobarlo tú mismo: ejecuta el archivo y será el mismo en el terminal y en el probador. ¿Y cómo se eliminan estas líneas?

Cuando se invierte la posición -en ese momento se crean dos líneas verticales- puedes comprobarlo: las dos últimas líneas tendrán el mismo tiempo. Para visualizarlo, he sustituido la línea vertical por los objetos "OBJ_ARROW_UP" y "OBJ_ARROW_DOWN":

Paso 1

и

Paso 2

Como se puede ver en la segunda captura de pantalla se puede ver que había DOS señales y se ganó una señal de compra (se cerró la posición de venta y se abrió una posición de compra).

Al generar un EA, busque el módulo llamado "Señales del indicador 'Moving Average' + OBJ_ARROW_UP_DOWN".


Archivos adjuntos:
 
Andy:

Y para el patrón 1 debería haber una señal de venta ya que la vela es alcista, pero el indicador está cayendo (rebote débil de la línea del indicador).

Estas dos señales son de qué patrón, una es de 1 (Venta) y la otra es de dónde (Compra)?


Ahora pensaré qué más poner en los registros para ver el funcionamiento interno tanto del módulo de señales como de la clase CExrert.

 
Andy:

Y en el patrón 1 debería haber una señal de venta ya que la vela es alcista, pero el indicador está cayendo (rebote débil de la línea del indicador).

Estas dos señales son de qué patrón, una es de 1 (Venta) y la otra es de dónde (Compra)?


Vladimir Karputov:

Ahora pensaré qué más poner en los registros para mostrar el funcionamiento interno tanto del módulo de señales como de la clase CExrert.


Módulo de señales versión 1.001 - ahora emite (imprime) la dirección de la señal, el número de patrón, la intensidad de la señal y las fórmulas

   double            DiffMA(int ind)                     { return(MA(ind)-MA(ind+1));  }
   double            DiffOpenMA(int ind)                 { return(Open(ind)-MA(ind));  }
   double            DiffHighMA(int ind)                 { return(High(ind)-MA(ind));  }
   double            DiffLowMA(int ind)                  { return(Low(ind)-MA(ind));   }
   double            DiffCloseMA(int ind)                { return(Close(ind)-MA(ind)); }

Ejemplo de salida:

2017.01.13 00:00:18   ShortCondition: m_pattern_0 12247, result 80, Open(1.06259), Close(1.06229), MA(1.06475)
***
2017.01.13 17:00:00   LongCondition: m_pattern_0 26715, result 80, Open(1.06451), Close(1.06449), MA(1.06302)
2017.01.13 17:00:00   LongCondition: m_pattern_3 5648, result 60, Low(1.06199)-MA(1.06302)<0.0
Archivos adjuntos:
 
Andy:
Ahora voy a probar un nuevo archivo, pero en el anterior - con una vela bajista que cruza un indicador alcista, dos señales: una venta desde el patrón 0 y una compra desde el 1, y fue un disparador de venta.

Esta pregunta no se acepta. Describa detalladamente: captura de pantalla de STRATEGY TESTER: pestaña "ajustes", pestaña "parámetros". Fecha en que encontró la discrepancia: extracto del archivo de registro de TESTER, captura de pantalla del momento de la prueba visual.


Sin proporcionar estos datos necesarios, es inútil seguir discutiendo, ya que yo u otra persona DEBE ser capaz de REVISAR inequívocamente su situación.

 
Andy:

¿Y por qué se activan dos patrones a la vez (incluso en tu captura de pantalla)?


Porque así es la vida y nadie anuló la teoría de las probabilidades (en marcos temporales muy pequeños, como el M1, los precios de las barras y los valores de los indicadores están muy cerca unos de otros, por lo que son posibles situaciones en las que se detectan varios patrones simultáneamente). Ejecute el Probador de Estrategias en H1 - entonces las situaciones serán más inequívocas.