Backtesting automático con Prorealtime
Hola a todos!! Vamos a ver como crear un sistema tendencial ganador rápidamente y de la manera más sencilla. Se aceptan críticas y todo tipo de ideas. Voy a ir creando el "robot" a medida que vaya escribiendo el hilo, así que lo siento si los resultados no son muy espectaculares o son malos directamente pero es para que se vea como se va haciendo desde cero. Voy a añadir una imagen a cada paso para que quede todo más claro ;) Primero de todo escogemos un par tendencial y líquido, el GBPUSD mismo y le damos a crear backtest.
Acto seguido rellenamos la parte de la derecha con los datos de nuestro broker, yo lo tengo así:
El siguiente paso es definir cuando comprar y cuando vender. Va a ser un sistema tipiquísimo de cruce de medias. Lo de siempre, cuando la corta cruza la larga compramos y al revés vendemos. Añadimos las medias en el gráfico (He escogido las exponenciales de 20 y 50 pero pueden ser cualquier otras) y definimos los parámetros. Simplemente hay que hacer click en el propio gráfico para escogerlas en el backtest. Y quedaría algo como esto: Compra:
Venta:
Una vez tenemos todo configurado
le damos a validar y nos saldrá un código como este:
Ahora que ya tenemos el código base hacemos la primera prueba para ver como va sin hacer nada más. Es un sistema muy sencillo y que no tiene más secreto, este es el resultado:
Pérdidas pequeñas, drawdown alto, 99% de tiempo dentro del mercado.... Un sistema muy primitivo vamos Ahora es cuando empieza lo bueno y hay que empezar a mejorar el código y darle cuerpo. Empezamos quitando las órdenes de salida de mercado (tanto de largos como de cortos) para añadir un stop de pérdidas y un Take Profit ambos basados en la volatilidad (voy a utilizar el ATR). También eliminamos el 1 (de un contrato) por la variable posición y así le añadimos un Money Management del 1,5% por posición referenciado al stop.
Eliminamos lo que está en rojo y añadimos lo que pongo ahora en verde:
Ahora vamos a ver como funciona y ver si ha mejorado algo, aunque poco algo seguro que mejora ;) Al ser tendencial pongo de primer ejemplo un Stop x10 ATR y un TP x20 ATR. Validamos cambios y:
Prácticamente igual, rentabilidad y DD casi igual y menor tiempo de exposición al mercado, el resto de datos ni fu ni fa. Seguimos que aun no podemos tirar la toalla. Ahora empezamos con la optimización. Sustituimos los valores de las medias, el stop y el Take Profit por variables a, b, c y d
y definimos los valores a calcular
Valido y veo que me da error porque son muchas variables a tener en cuenta por lo que debo reducir el número de posibilidades. Error:
Reducimos posibilidades
y validamos
Tarda un rato en calcular, así que luego sigo ;) Ya va por un 20% Ahora un 37%