Documentación

Aplicaciones

Última actualización el 29. 4. 2019 por Mark Fric

Backtesting fiable en Tradestation / MultiCharts

Fiabilidad del backtesting en general

En primer lugar, tenemos que darnos cuenta de que backtesting significa probar la estrategia en datos históricos. El flujo exacto de ticks nunca se repetirá en el futuro, por lo que incluso si está utilizando datos reales de ticks no significa que su estrategia se comportará igual en el futuro como se comportó en el pasado.

En segundo lugar, debemos darnos cuenta de que el backtest no puede ser 100% exacto. En el mejor de los casos, el backtesting ofrece una aproximación de cómo se ejecutarían las operaciones en tiempo real. Hay cosas como spreads ampliados, recotizaciones, deslizamientos, retrasos, desconexiones de red, fallos de VPS, etc. que afectan a las operaciones en tiempo real.


La propiedad más importante de nuestra estrategia debería ser su solidez. 

Tenemos que asegurarnos de que no hemos ajustado la curva de nuestra estrategia a los datos existentes para que funcione bien en nuestras pruebas retrospectivas; que siga siendo rentable a pesar de los cambios en los datos, en los parámetros, cuando se pierden algunas operaciones, etc.

StrategyQuant ofrece muchas herramientas (Cross checks) para probar la robustez de la estrategia. Usted puede probar t en diferentes mercados, con la variación de los parámetros, o con la variación de los cambios aleatorios en los datos históricos utilizando pruebas de Monte Carlo.

 

Backtesting fiable entre SQ y TS / MC

Backtesting fiable en este sentido significa que la estrategia tendrá los mismos o muy similares resultados de backtest en StrategyQuant y Tradestation / MultiCharts.

Si su estrategia tiene resultados totalmente diferentes en SQ y en TS/MC, entonces hay algo mal en su configuración y tiene que resolverlo antes de seguir adelante.

El motor de Backtesting en SQ fue hecho para coincidir con los motores de trading de TS/MC, por lo que si usted ve las diferencias es muy probable que sea en diferentes datos o configuración entre ambos programas.

A continuación enumeramos algunos puntos a los que debe prestar atención.

1. Asegúrese de que ha importado todos los indicadores personalizados

Este es uno de los pasos posteriores a la instalación: https://strategyquant.com/doc/strategyquant/installation/#steps-after-installation
SQ utiliza algunos indicadores personalizados y tienes que importarlos a Tradestation / MultiCharts para que funcione.

 

2. Utilice los ajustes y datos correctos

Las diferencias en las pruebas retrospectivas se deben principalmente a problemas en este ámbito.

Hay dos maneras de utilizar los datos de su TS / MC en SQ:

Opción 1 - Importar los datos exactos del gráfico

Esta es la forma más fiable - exportar los datos directamente desde su gráfico en TS / MC e importarlos en SQ.

En Multicharts - utilice Archivo -> Exportar Datos
En Tradestation, abra la ventana de datos y utilice la función Guardar.

De esta forma puedes estar seguro de que lo estás probando en los mismos datos con tus sesiones reales y otra configuración.

Así, por ejemplo, cuando pruebe su estrategia en TS/MC, por ejemplo, en un gráfico de 15 minutos con alguna sesión, exporte estos datos exactos del gráfico de 15 minutos con la sesión aplicada desde la plataforma de negociación e impórtelos a SQ.

Importante - si utiliza este modo TIENE QUE establecer Sesión = Sin sesión en las opciones de comercio. ¡Es porque los datos ya incluyen la sesión, de lo contrario SQ intentará aplicar la sesión de nuevo y el resultado serán datos incorrectos!


Opción 2 - Importa datos de minutos y deja que SQ calcule plazos superiores

Es más conveniente importar datos de minutos desde TS, y dejar que SQ calcule plazos más altos para cualquier backtest que haga.

Importante - en este caso asegúrese de que utiliza la sesión correcta en SQ, tiene que ser exactamente igual que en Tradestation / Multicharts. Las barras en TS / MC se calculan en base a esta sesión y si la tienes mal, ¡las barras se calcularán mal!

Si experimenta diferencias en la prueba retrospectiva, vuelva a la opción anterior y pruébela con los datos exportados del gráfico.

Hay un nuevo artículo en el que se describe la forma correcta de exportar los datos de Tradestation.

 

3. Asegúrese de utilizar el motor correcto y el tipo de barra correcto en los datos importados

La elección del motor es obvia - vuelva a comprobar que realmente utiliza el motor Tradestation o MultiCharts en SQ, ya que ofrece una selección de motores.

Cuando importe datos de un fichero, asegúrese de utilizar "La hora es la hora de fin de barra"Tipo de datos de la barra. Este es el tipo de datos utilizado por MetaTrader, e influye en cómo se calculan los plazos superiores.

 

4. Utilizar correctamente las opciones de negociación Exit basadas en el tiempo

Esto se aplica si tiene activada alguna de las opciones de negociación en función del tiempo, por ejemplo Salida al final del díao Salida el viernes.

Al utilizar cualquiera de estas dos opciones, debe establecer la hora de salida a las 00:00 (SQ cerrará las operaciones al final de la sesión del día) o, si especifica la hora exacta, debe asegurarse de que es la hora de una barra existente ANTES de la última barra del día.

Una mala configuración en este sentido podría hacer que SQ cerrara las operaciones al final del día en un horario diferente al de la plataforma TS / MC.

Si experimenta diferencias en las estrategias compare las horas de cierre de las operaciones cerradas al final del día entre SQ y TS/MC si se comportan igual.

 

5. Reinicie SQ y borre los archivos temporales cuando tenga problemas

SQ almacena en caché los datos de backtest tanto en memoria como en archivos en disco, y a veces puede ocurrir que los datos en caché sean versiones anteriores (erróneas) y no se actualicen al importar nuevos o modificar algo.

Si experimenta diferencias en el backtest intente primero salir de SQ, borre todos los archivos de la carpeta /internal/testfiles e inicie SQ de nuevo.

 

6. La compatibilidad con subfichas está aún en fase de desarrollo

Nos centramos en estrategias de un solo gráfico en la implementación del motor de pruebas Tradestation / MultiCharts.
Las estrategias que utilizan múltiples gráficos (Data2, Data3 etc. en EasyLanguage) aún no han sido probadas en StrategyQuant para match - podrían funcionar o no.
Nos centraremos en ello en las próximas construcciones.

 

7. La mayor precisión de las pruebas aún está en fase de desarrollo

En este momento, es posible utilizar el motor de pruebas de Tradestation / MultiCharts con la precisión de pruebas 'Selected Timeframe'. Esto es suficiente para todos los tipos de órdenes - mercado, stop, límite. Tradestation / MultiCharts funcionan de forma fiable con este tipo de precisión de prueba, y se puede utilizar en el comercio en vivo.

Estamos trabajando para añadir también mejores modos de precisión, que se añadirán en una de las futuras versiones.

 

8. Hay pocos indicadores que no hayan sido ampliamente probados en TS/MC

Unos pocos indicadores no han sido probados en todas sus configuraciones posibles, y podrían causar diferencias en la negociación. Estos son:
- Pivotes
- Fibo

 

¿Le ha resultado útil este artículo? El artículo era útil El artículo no era útil

Suscríbase a
Notificar a
1 Comentario
Más antiguo
Más reciente Más votados
Feedbacks de Inline
Ver todos los comentarios
Jordan
2. 12. 2023 1:57 am

Espero con impaciencia un motor de pruebas Multicharts de mayor precisión. Llevo varios años esperándolo. Es realmente importante para mejorar la credibilidad de los resultados de las pruebas.