Arrastre y suelte SL y TP en el probador.

 
¿Es posible crear una función de este tipo para arrastrar el SL y el TP en el gráfico durante las pruebas?
 
khorosh:
¿Es posible crear esa posibilidad de arrastrar el SL y el TP en el gráfico durante las pruebas?
Sólo los virtuales - con líneas horizontales. Establezca líneas en lugar de tomas y pérdidas, y utilícelas para realizar salidas.
 
Vitaly Muzichenko:
Sólo los virtuales - con líneas horizontales.
Creo que sí. Tengo una idea aproximada de la posible variante pero tenemos que intentar comprobarlo. Por ejemplo, ya utilizo la colocación de órdenes durante las pruebas arrastrando el script a un punto determinado del gráfico. Creo que debemos utilizar el eventoCHARTEVENT_CLICK para ejecutar el script dondedebemos leer las coordenadas del cursor y utilizar esos datos para modificar una orden.
 
khorosh:
Me parece que es posible. Aproximadamente veo una posible variante, pero deberíamos intentar comprobarlo. Por ejemplo, ya utilizo la colocación de órdenes durante las pruebas arrastrando el script a un punto necesario en un gráfico. Creo que deberíamos utilizar el eventoCHARTEVENT_CLICK para ejecutar el script dondedeberíamos leer las coordenadas del ratón y utilizar estos datos para modificar una orden.

OnChartEvent no funciona en el probador. Pero hay algunas ideas de cómo hacerlo.

He publicado mi proyecto sobre el comercio en el probador al blog, puedo tratar de añadir la modificación de SL y TP. La cuestión es cómo especificar para qué orden fijamos los puntos y las paradas. ¿Tengo que hacer clic primero en las líneas de pedido?

 
Alexey Volchanskiy:

OnChartEvent no funciona en el probador. Pero hay algunas ideas de cómo hacerlo.

He publicado mi proyecto sobre el comercio en el probador al blog, puedo tratar de añadir la modificación de SL y TP. La cuestión es cómo especificar para qué orden fijamos los puntos y las paradas. ¿Primer clic en las líneas de pedido?

Mira cómo reconocemos la posición a la que pertenece la orden. No voy a exponer el código fuente, pero el asunto queda claro sin él. Ponerlo en la carpeta "Expertos"

Archivos adjuntos:
TP.ex4  731 kb
 
Alexey Volchanskiy:

OnChartEvent no funciona en el probador. Pero hay algunas ideas de cómo hacerlo.

He publicado mi proyecto sobre el comercio en el probador al blog, puedo tratar de añadir la modificación de SL y TP. La cuestión es cómo especificar para qué orden fijamos los puntos y las paradas. ¿Primer clic en las líneas de pedido?

No funciona. Tengo botones en un gráfico en el probador que controlan el EA para el comercio manual. El evento de pulsar el botón utilizaOnChartEvent. Estoy probando las estrategias en modo visual.

 
Vitaly Muzichenko:

Sí. "Cuando se realizan pruebas en un Asesor Experto, se pueden procesar eventos personalizados utilizando la funciónOnChartEvent(), pero en los indicadores esta función no se llama en el probador. Incluso si un indicador tiene un manejadorOnChartEvent() y este indicador se utiliza en un Asesor Experto bajo prueba, el indicador en sí no recibirá ningún evento personalizado. "

Tengo botones de control en el indicador de pie y utilizandoOnChartEvent . Todo funciona.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
khorosh:

Cómo no funciona. Tengo botones en el gráfico en el probador que controlan el Asesor Experto para el comercio manual. El evento de pulsar el botón utilizaOnChartEvent. Pruebo las estrategias en modo visual.

¿Tiene un Asesor Experto para MT4 o MT5?
 
Alexey Volchanskiy:
¿Tiene un Asesor Experto para MT4 o MT5?
MT4. No opero en MT5.
 
khorosh:
MT4. No opero en MT5.

Vale, lo comprobaré de nuevo mañana. Mirado en la ayuda 950 construir, todas las restricciones están todavía allí.

----------------------------------------- de ayuda VN4 950 build ----------------

Manual MQL4 / Programas MQL4 / Características de los programas en el Probador de Estrategias

Manejo de eventos en el Probador de Estrategias

En el probador de estrategias se manejan los siguientes eventos: inicialización del EA antes de una sola ejecución OnInit(), desinicialización de un EA después de una sola ejecución OnDeInit(), simulación de un nuevo tick OnTick().

Además, cuando un Asesor Experto ha sido probado en datos históricos, el evento Tester se genera antes de llamar a OnDeInit(), y se maneja en la función OnTester(). El valor devuelto por esta función se utiliza como criterio máximo personalizado cuando se optimizan los parámetros de entrada.

Los eventos Timer y ChartEvent no están soportados en el probador de estrategias.

---------------------------------------

Tengo un modo separado para el probador, monitoreo el estado de los botones por OnTick.

 
Alexey Volchanskiy:

Vale, lo comprobaré de nuevo mañana. Mirado en la ayuda 950 construir, todas las restricciones están todavía allí.

----------------------------------------- de ayuda VN4 950 build ----------------

Manual MQL4 / Programas MQL4 / Características de los programas en el Probador de Estrategias

Manejo de eventos en el Probador de Estrategias

En el probador de estrategias se manejan los siguientes eventos: inicialización del EA antes de una sola ejecución OnInit(), desinicialización de un EA después de una sola ejecución OnDeInit(), simulación de un nuevo tick OnTick().

Además, cuando un Asesor Experto ha sido probado en datos históricos, el evento Tester se genera antes de llamar a OnDeInit(), y se maneja en la función OnTester(). El valor devuelto por esta función se utiliza como criterio máximo personalizado cuando se optimizan los parámetros de entrada.

El procesamiento de los eventos Timer y ChartEvent no está soportado en el probador de estrategias.

---------------------------------------

He hecho un modo separado para mi probador, yo controlo el estado de los botones por OnTick.

Hay muchas cosas que no están respaldadas por la ayuda. Cuando se comprueba, por ejemplo, desde un Asesor Experto, las series temporales de otros TFs se leen con normalidad, pero cuando se llaman desde un indicador, muestran los valores que tenían en el momento de iniciar la prueba. No sé, tal vez no entiendo bien estos eventos, ya que no soy un proger profesional. Pero en mi caso cuando pulso el botón se asigna un determinado código a una variable global del terminal, el código se descifra en el Asesor Experto y se utiliza para una determinada operación. Y funciona exactamente igual, tanto en el probador como en la vida real. He hecho los botones en el indicador, aunque supongo que se podría haber hecho directamente en el Asesor Experto. El indicador es más conveniente porque no necesito crear botones en cada EA, un indicador es suficiente.

Razón de la queja: