Proceso de desarrollo del sistema Ubzen

 

Objetivo: Estoy tratando de definir un proceso de desarrollo de sistemas. Tengo algunas ideas en mi cabeza pero no es exhaustivo. Espero que otros que saben mejor puedan criticar el proceso. Si algún miembro destacado tiene problemas con que utilice el foro como un blog personal, o no ve nada bueno en este experimento, sólo tiene que decirlo y dejaré de hacerlo inmediatamente.

Ok, ya tenemos el sistema proporcionado por un miembro llamado sakis aquí. Una pequeña muestra de 3 meses de prueba mostró resultados esperables. Ahora estoy aprendiendo cómo obtener toda la medición estadística para este período utilizando este artículo. Voy a empezar con Mae/Mfe primero.

 

ubzen hay básicamente dos enfoques para capturar el MAE/MFE de cada operación durante el backtesting.

El primer método que seguí fue el de rastrear la ganancia/pérdida máxima de la posición tick a tick durante el backtesting, capturando los extremos en "tiempo real". Este es el método más intensivo para la CPU y también el menos propenso a errores sistemáticos en el resultado final.

El segundo método, y el que yo utilizo actualmente, es esperar hasta que el backtest esté completo y entonces durante el deinit() se hace un bucle a través del historial de órdenes, sacando las marcas de tiempo de apertura y cierre de órdenes para cada operación y buscando el precio extremo más bajo y el precio extremo más alto que ocurrió entre esas dos marcas de tiempo. Y luego usar esos precios extremos para calcular el MAE y el MFE que debe haber ocurrido para el comercio en esos momentos.

Esto es muy rápido y ligero en recursos, ideal para backtesting, pero puede introducir errores SI el MAE o MFE ocurre en la vela de apertura o en la vela de cierre porque los puntos de precio que definen esas velas en el archivo hst pueden haber ocurrido cronológicamente antes de ordereropen o después de orderclose (pero dentro de la misma vela).

En la práctica no he encontrado este inconveniente en el segundo enfoque para ser realmente una gran preocupación. Pero es algo a tener en cuenta.

(otro beneficio de desarrollar una rutina de inclusión para su deinit() es que también puede utilizarlo como un script para ejecutar en sus cuentas a futuro / en vivo ... sólo tienes que arrastrar y soltar y le permite analizar las operaciones anteriores en la cuenta)

 

hola ubzen ¿cómo estás?

1) Su lógica de salida parece no funcionar como se define en el sistema original, al menos desde una primera mirada en el gráfico.

2) El sistema funciona para mí mejor con una relación de riesgo revard de 2 en lugar de uno, tal vez RRR dinámico podría incluso mejorar más.

3) 01.01.2010 a 01.03.2010 parece ser un punto dulce para este EA, casi sin pérdidas, el período podría ser un poco pequeño para las pruebas y no es buena elección.

4) Tenemos una interpretación diferente de la estrategia, después de un cruce de precio/ma entiendo que el MACD debe haber cruzado ya el 0 (pero no más de 5 barras de distancia) pero esperas al cruce del macd y abres las órdenes.

-Mi interpretación filtra ya muchas operaciones.

He añadido:

a)soporte para las compras y ventas al mismo tiempo. (también si las órdenes están en el punto de equilibrio se pueden abrir nuevas órdenes).

b)Filtro de entrada de punto pivote (comprar sólo por encima/vender sólo por debajo)

c)uso el CCI en lugar de la lógica de salida original. (Todavía hay mucho que hacer con respecto a este caso).

aquí algunas fotos:


 

Gracias Zzuegg,

Tío, eres muy arriesgado ;). 10% ???. Me alegra ver que funciona algo en el futuro. Tenía miedo de mirar en el futuro por temor a que la curva se ajuste a esta cosa. Un vistazo visual es todo lo que se necesita.

1) Tu lógica de salida parece no funcionar como está definida en el sistema original, al menos desde un primer vistazo al gráfico. Voy a rehacer el código para asegurarse de que está haciendo la intención original del proveedor b4 publico la EA de nuevo.

2) El sistema me funciona mejor con un ratio de riesgo revard de 2 en lugar de uno, tal vez el RRR dinámico podría incluso mejorar más. Por eso estoy haciendo todo esto para ver que mejoraría.

3) 01.01.2010 a 01.03.2010 parece ser un punto dulce para este EA, casi sin pérdidas, el período podría ser un poco pequeño para las pruebas y no es bien elegido. Así que se golpeó el sweetspot en el primer intento, yo tenía miedo de eso. Realmente no me importa si esto es el santo grial. Sólo lo estoy usando como un caso de estudio, no es mi sistema por lo tanto, puedo publicar los códigos.

4) Tenemos una interpretación diferente de la estrategia, después de un cruce de precio/ma entiendo que el MACD debe haber cruzado ya el 0 (pero no a más de 5 barras) pero se espera al cruce del macd y se abren las órdenes. Sí, ya he enseñado eso. Sólo el proveedor original puede aclarar eso ahora.

 
ubzen:

Gracias Zzuegg,


3) 01.01.2010 a 01.03.2010 parece ser un punto dulce para este EA, casi sin pérdidas, el período podría ser un poco pequeño para la prueba y no es bueno elegido.
Así que se golpeó el sweetspot en el primer intento, yo tenía miedo de eso. Realmente no me importa si esto es el santo grial. Sólo lo estoy usando como un caso de estudio, no es mi sistema por lo tanto, puedo publicar los códigos.

si funciona bien ¿por qué no usar un sistema? Todavía mucho que hacer, pero para una estrategia cruda esta muestra potencial. la lógica de salida tiene que ser ampliado en gran medida desde mi punto de vista.

con respecto al 10% me gusta ver las subidas y bajadas claramente en testruns, nada para simulaciones realistas por supuesto.


añadir:

lo más interesante es que, incluso con una relación de riesgo de 2, este sistema ha ganado más del 50% de las operaciones, lo que es una gran ventaja.

 

@1005phillip: Advertencia anotada. Nunca me tomé la molestia de descargar los datos de las garrapatas. ¿Qué tan grande es ese problema?

Debido a que la máxima excursión adversa debe ser más importante para un comerciante vamos a empezar con eso. Usando los mismos resultados, he trazado lo que creo que es el (método LS) dentro de mi Excel hice línea de tendencia, Alguien me corrija si me equivoco. La herramienta utilizada para generar la hoja de cálculo fue la de Rosh que se encuentra aquí. A continuación, voy a utilizar la herramienta de 1005phillip encontrado aquí para evaluar en base a algunas constantes de tiempo diferentes.

Bueno, tiene una pendiente positiva. Entonces, ¿qué significa esto y cómo podemos mejorarlo? Si lo supiera, no estaría experimentando aquí. Sin embargo, fiel al artículo, es positivo, eso es un punto en nuestra hucha. Voy a dejar la lógica de la Stop_Level en su lugar. Cuando lo probemos con diferentes time-2-close estos números deberían cambiar mucho.

Abajo está la imagen del Plot y Slope.... También he adjuntado el .csv creado por el informe.

Archivos adjuntos:
 

ubzen, es una cuestión de preferencia personal en cuanto a lo que haces con los datos de MAE.

Yo no caracterizo MAE versus P/L... para mí eso no es una causa-efecto estadísticamente válida.

Yo caracterizo el MAE como que el MAE le está diciendo que su "estrategia de entrada" le hizo entrar en una posición demasiado pronto, por una cantidad igual al MAE. Por lo tanto, su "potencial de beneficios" para la operación se ha visto afectado por una cantidad igual a la MAE.

El MAE es para afinar su estrategia de entrada. El MFE es para afinar su estrategia de salida.

La diferencia entre el MFE y el OrderProfit es algo que yo llamo "exceso de MFE" o simplemente "EMFE" y esto es dinero que usted dejó sobre la mesa en virtud de su estrategia de salida manteniendo la posición abierta demasiado tiempo.

Y en tercer lugar, el tiempo es dinero. El capital invertido en apoyar la posición de margen de una operación es un capital que no puede utilizarse para apoyar otra operación. Por lo tanto, el "tiempo hasta el MAE" y el "tiempo hasta el EMFE" son parámetros que hay que analizar, ya que le indican el tiempo que no está utilizando su capital de forma inteligente/eficiente.

Y por último, es fundamental que investigue la cronología de la aparición de MAE y MFE. Si el MAE ocurre antes del MFE, entonces la operación fue buena pero necesita optimización para afinar las estrategias de entrada y salida para un mínimo MAE y un mínimo EMFE.

Pero si la MAE se produce después de la MFE, entonces la estrategia se ha roto de múltiples maneras. Tal vez la más significativa es que está abriendo posiciones opuestas a las que uno debería tomar. Si su estrategia es abrir una posición larga y el mercado procede a tallar una acción de precios que resulta en el MFE que ocurre antes de la MAE para su comercio, entonces eso significa que su comercio realmente debería haber sido una posición corta, no una posición larga (en cuyo caso el MFE para la posición larga se convierte en el MAE para el corto, y viceversa para el MFE).

Creo que he publicado esto antes, no lo recuerdo:

 
Gracias por esos gráficos, 1005phillip. Lo explica muy bien para mí.
 
Hola Phillip, estoy atascado y necesito tu ayuda. Usando tu herramienta, de alguna manera obtengo valores que no espero. Por ejemplo, cuando sumo las ganancias/perdidas en Pips Data, me devuelve un número negativo, pero la simulación fue positiva. Supongo que esto tiene algo que ver con la frecuencia, pero puede explicar. La mayoría de las veces, el resultado de la simulación es positivo, pero no se puede explicar. Gracias.... A continuación se adjuntan los archivos de la prueba.
Archivos adjuntos:
help.zip  20 kb
 
¡@1005phillip gracias por los gráficos! ¡He tenido estas estadísticas codificadas en mi EA por un tiempo .. esto definitivamente mejora mi interpretación de los números que escupe!
 

hola phillip. solo unas pequeñas preguntas de mi parte:

Después de usar su herramienta obtuve estos archivos de histograma. Hasta ahora he mirado de cerca el "Profitloss versus MAE & MFE" en pips.

Por lo que entendí estos valores muestran los pips que perdí durante la operación estaba abierta. Básicamente los mejores resultados serían cuando Profit==MFE y MAE==0. ¿Correcto?

Si usted mira la imagen de abajo podemos ver:

  • si el EA hace beneficios, está cerca del MFE (por supuesto, ya que utilizo takeprofits)
  • si el EA hace beneficios también MAE es en su mayoría cerca de 0 lo que significa que también la entrada es bastante buena. (al menos la mejor durante el tiempo de apertura de la orden)
  • si el EA tiene pérdidas, la mayoría de las veces coincide con el MAE (por supuesto, ya que se utiliza el stoploss):
  • Si en ese caso el MFE está cerca de 0 no hay posibilidad de obtener beneficios
  • Pero si el MFE es alto significa que perdí una salida.

¿Son válidas estas conclusiones?