1minuto OHLC vs cada tick - resultados opuestos - página 2

 
laplacianlab:

Estoy totalmente de acuerdo con ugo58. Las barras grandes pueden activar el evento OnTick muchas veces, mientras que las barras pequeñas lo harán mucho menos.

Esto puede tener un impacto en su estrategia de negociación automatizada, por lo que los desarrolladores tenemos que buscar soluciones que mitiguen el hecho de que su evento OnTick puede ser ejecutado muchas muchas veces por barra.

Creo que lo que envié antes es sólo una solución. ugo50 propuso otra solución: ejecutar su lógica OnTick en la barra pasada más reciente. De todos modos, si quieres ejecutar tu lógica OnTick en la barra actual tal vez puedas usar algo similar a lo que envié antes.

Estamos tratando de implementar algo como un evento OnBar.

¿Qué opinas de esto?

laplacianlab:
Tal vez este enlace también sea útil,https://www.mql5.com/en/articles/159

El código que has puesto es fundamentalmente el mismo que el del artículo. No es algo nuevo y es el mejor enfoque para un EA que opera en barras cerradas.

Aunque no está directamente relacionado con este tema, este artículo probablemente sea interesante para ti.

 
michelino:

El EA y los parámetros de entrada son exactamente los mismos pero en el caso de 1min ohlc obtengo 50000 de beneficio mientras que en cada tick obtengo -7000 de pérdidas.

esto sucede en muchos pares probando en un periodo de 2 años 0811-0813

¿alguien ha tenido el mismo problema? No entiendo cuál es el problema aquí y qué debo hacer cuando el comercio de dinero real.

ambos gráficos a continuación

1minuto OHLC

cada tick

Hola, el número de operaciones debe ser muy diferente también, ¿es así? si seleccionas cada tick significa que tu función onTick se ejecuta algo así como cada x segundos. Lo mismo para mí malos resultados.

2013.08.21 08:54:04    Core 1    EURUSD.e,M3: 72488 ticks (6230 bars) 



 
Florew:

Hola, el número de operaciones debe ser muy diferente también, ¿es así? si selecciona cada tick significa que su función onTick se ejecuta algo así como cada x segundos. Lo mismo para mi los resultados son malos.



Trato de explicar mi manera.

El movimiento del precio es como un sismógrafo. Observado a su escala más pequeña, está a medio camino entre el caos y la imprevisibilidad, pero a medida que aumentamos la escala de nuestras observaciones el precio se vuelve más y más determinista. De todos modos, siempre hay que tener en cuenta que las barras de precios no son más que discretizaciones arbitrarias del movimiento del precio.

Esta sería la explicación teórica. ¿Qué opinas de esto? Puedes refutar si quieres.

 
michelino:

¿Alguien ha tenido el mismo problema? No entiendo cuál es el problema aquí y qué debo hacer cuando el comercio de dinero real.


Disculpe mi insistencia en la participación de este hilo, sólo estoy tratando de ayudar. Resulta que ahora estoy involucrado en una estrategia donde este tema es muy importante.

En resumen, si la trayectoria que el movimiento del precio define a través de las barras es muy importante para tu estrategia, entonces el modo OnTick de MQL5 es esencial. Por otro lado, si su estrategia de trading se mueve en una escala mayor, por así decirlo, el modo OnTick puede no ser necesario. En este caso no es necesario desperdiciar los recursos de su ordenador para probar su estrategia. Debería leer estehttps://www.mql5.com/en/docs/runtime/testing

Dicho esto, sería interesante analizar tu estrategia de trading para descubrir qué está pasando. ¿Qué construye tu sistema? ¿En qué idea se basa? ¿Cómo lo has construido?

Parece que las partes fundamentales de tu sistema están fuertemente basadas en el corto plazo (marcos de tiempo muy cortos, barras de minutos), en una escala para la que un minuto hace una gran diferencia. Deberías analizar esas partes.

Saludos.

Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
MQL5 programs / Testing Trading Strategies - Documentation on MQL5
 
laplacianlab:

Trato de explicarlo a mi manera.

El movimiento de los precios es como un sismógrafo. Observado a su escala más pequeña, está a medio camino entre el caos y la imprevisibilidad, pero a medida que aumentamos la escala de nuestras observaciones el precio se vuelve cada vez más determinista. De todos modos, siempre hay que tener en cuenta que las barras de precios no son más que discretizaciones arbitrarias del movimiento del precio.

Esta sería la explicación teórica. ¿Qué opinas de esto? Puedes refutar si quieres.


No soy experto en el proceso de formación de velas, pero su explicación parece correcta desde mi punto de vista.

Lo que yo entiendo es que la simulación del EA configurado con la opción de cada tick (no 1min OHLC) se comporta más o menos como en condiciones reales de mercado. Bueno, excepto si el EA tiene algún código que dice que esperar a la formación completa de la vela de 1 min. OHLC, como he entendido que mencionas aquí. No estoy seguro de que es el significado del código, m'I correcta? )


*** EDIT ***


Para ustedes que precaución hay que tomar para que un EA en condiciones reales de mercado (demo o verdadero) se comporte como con la opción de simulación 1min. OLHC (el más rentable)?

 
Florew:


Para vosotros que precaución hay que tomar para que un EA en condiciones reales de mercado (demo o verdadero) se comporte como con la opción de simulación 1min. OLHC (el más rentable)?

Tal vez deberíais preguntaros qué simulación es la correcta y por qué, y luego poder reproducir esos datos simulados en el trading real.
 
RaptorUK:
Quizás debas preguntarte qué simulación es la correcta y por qué, y luego puedes reproducir esos datos simulados en el comercio en vivo.


Estoy de acuerdo con u. Tengo la respuesta a la primera y segunda pregunta, pero no la última.

¿En este artículo no hay un error en el número de puntos de apoyo para este primer ejemplo? Puedo ver sólo un punto de apoyo para la sombra de apertura y la sombra de cierre. Se dice que son tres :/


Si la sombra se genera utilizando tres puntos deapoyoy los valores enteros 3 / 4 el tamaño de la sombra y 1 / 2 el tamaño de la sombra son iguales (esto sucede cuando la diferencia entre la apertura y la baja o la apertura y la alta no es mayor que 2 puntos), entonces la generación de la sombra cambia de la siguiente manera:


Si la sombra es generada por dos puntos de apoyo, entonces los puntos de control están dispuestos de la siguiente manera:

 
Florew:

Hola, el número de operaciones debe ser muy diferente también, ¿es así? si selecciona cada tick significa que su función onTick se ejecuta algo así como cada x segundos. Lo mismo para mí malos resultados.



no realmente el número de operaciones difiere ligeramente 5-10%. pero entendí por qué esto sucede ya que el EA entra en el mercado largo cuando el precio está por debajo de la media móvil una cierta cantidad de puntos (el oppostie para la posición corta) cuando el comercio ohlc que compra exactamente en la baja, mientras que en cada garrapata que compra entre la baja y el cierre por lo que toma una gran cantidad de beneficios que normalmente no lo haría.

así que no hay manera de reproducir este rendimiento por desgracia

 
Florew:


¿En este artículo no hay un error en el número de puntos de apoyo para este primer ejemplo? Sólo veo un punto de apoyo para la sombra de apertura y la sombra de cierre. Se dice tres :/


Creo que hay algún desajuste entre los conceptos y la terminología. ¿Dónde ves el único punto de apoyo en las figuras que envías?

De todas formas, también creo que los detalles de ese algoritmo nos sobran en el sentido de que no importa cómo se construye la secuencia histórica de ticks. ¡Está muy bien y es interesante acceder a esa información pero me refiero a que no estamos haciendo nada con eso! Sólo podemos ser conscientes de las trampas de los ordenadores cuando manejamos cosas discretas. Siempre hay algún punto en el que se pierde algo de precisión, es lo mismo para los valores de punto flotante. La diferencia aquí es que también estamos tratando con el comportamiento humano a una escala muy pequeña..

Por cierto, también hemos discutido el hecho de que los datos históricos de los corredores no son los mismos, y que esta diferencia se hace más grande a corto plazo.

¿Qué opinas de todo esto? ¿Es correcto? ¿Crees que vale la pena centrarse en las estrategias que deberían funcionar bien en el corto plazo?

 

michelino:

por lo que no hay manera de reproducir este rendimiento por desgracia


No estoy seguro de entender su punto. En mi opinión debe ser posible reproducir le 1 minuto de simulación en modo OHLC.

La documentación dice :

En el modo "1 minuto OHLC", la secuencia de ticks se construye sólo con los precios OHLC de las barras de los minutos, el número de los puntos de control generados se reduce significativamente - por lo tanto, también el tiempo de prueba. El lanzamiento de la función OnTick () se realiza en todos los puntos de control, que son construidos por los precios de las barras de minutos OHLC.

Entonces:

Para probar la estrategia de negociación, necesitamos una secuencia de ticks, en la que se simulará el trabajo del Asesor Experto. Así, para cada barra de minutos, conocemos los 4 puntos de control, donde el precio ha estado definitivamente. Si una barra tiene sólo 4 ticks, entonces esto es suficiente información para realizar una prueba, pero normalmente el volumen de ticks es mayor que 4.

La pregunta es: ¿cuántos puntos de control hay en las barras de minutos OHLC y cómo modificar la función onTick() para que funcione en cada uno de ellos?

Según el texto de ambas citas entiendo que la respuesta para la primera pregunta es siempre 4, porque si una barra tiene más de 4 ticks se reduce "significativamente" para acelerar el tiempo de prueba. Para la siguiente pregunta, la cosa es identificar los 4 puntos de control de las barras OHLC de 1 minuto en condiciones reales de mercado, y luego pedir a onTick() que trabaje sobre ellos.