Acceder
Blog de XTB

Pruebas de los programas MQL

Pruebas de los programas MQL

Pruebas de estrategia


Lo verdaderamente importante

¿Qué es lo más importante al hacer una prueba de estrategia? ¿Por qué es importante hacer pruebas de estrategia? Las respuestas son sencillas. Llevar a cabo pruebas de estrategia ofrece la posibilidad de comprobar que las condiciones asumidas y programadas en la estrategia son correctas, que el código de la estrategia hace exactamente lo que el usuario desea que haga y que no hay errores potencialmente peligrosos

Nuestra plataforma XTB-Trader ofrece tres niveles distintos de probar los Expert Advisors:
- Backtesting – pruebas de estrategia basadas en precios históricos. Son descritas más abajo.
- Demo account testing – pruebas con precios en tiempo real con el dinero virtual de la cuenta demo.
- Real account testing – pruebas en tiempo real con capital del inversor con cuenta en X Trade Brokes.

El primer paso debe ser realizar un Backtesting porque puede ser realizado en tan sólo unos minutos. El segundo debe ser aplicar la estrategia en la cuenta demo, algo que llevará más tiempo. A veces puede destinarse una semana de trabajo a las pruebas en una cuenta demo (como orientación). Si todo funciona acorde con lo esperado, es el momento de aplicarlo en una cuenta real, donde el Expert Advisor será probado en “el campo de batalla”. Después, solo tenemos que asegurarnos de que el Expert Advisor que usamos es fiable y puede ser utilizado como un Sistema Automático de Trading rentable.

Backtest testing

La fase de Backtesting es especialmente importante. Hacer pruebas de estrategia con datos históricos nos proporciona información valiosísima sobre el comportamiento de nuestra estrategia bajo condiciones antiguas del mercado. Este debe ser siempre el primer paso a dar con un Expert Advisor, ya que en pocos segundos se puede comprobar su eficacia. Las implicaciones son obvias. Una estrategia rentable puede ser fácilmente identificada y una perdedora (o hasta una con errores de base) puede ser descartada o reprogramada de nuevo. En la mayoría de los casos hacer un backtesting ayuda a corregir desde pequeños errores hasta otros de gran importancia. Desde nuestra plataforma XTB Trader se pueden hacer pruebas de estrategia al pulsar Ctrl+R. Mostrándonos la siguiente ventana.


Dicha ventana tiene varias propiedades:
1) Expert advisor – para elegir el correspondiente Expert Advisor que queremos testear.
2) Symbol – instrument donde queremos aplicar el Expert Advisor seleccionado.
3) Model – tipo de modelo de recogida de datos históricos utilizado para el Expert Advisor.
Aspecto importante a tener en cuenta por su impacto en los resultados. Los tres métodos serán explicados posteriormente.
4) Use data – permite utilizar los datos históricos del periodo seleccionado para el examen del Expert.
5) Visual mode – permite analizar en el propio gráfico el comportamiento y las operaciones lanzadas por el Expert Advisor a lo largo del periodo estudiado.
6) Period – timeframe o periodicidad elegida para el gráfico donde se aplica el Expert Advisor.
7) Expert properties – desde esta ventana varios parámetros pueden ser modificados.
8) Symbol properties – esta ventana muestra las propiedades actuales del instrumento seleccionado.
9) Start – con el botón de Inicio se empieza la prueba de estrategia.

Pruebas en cuenta Demo

Esta etapa consiste simplemente en probar el Expert Advisor en la cuenta demo con dinero virtual. El Expert Advisor debe dejarse activado por un tiempo. No existen diferencias de funcionamiento entre las pruebas en cuenta demo y cuenta real. La única diferencia es que no se opera con dinero real. Si algo marcha mal, simplemente habrá que volver al Expert Advisor y comprobar la pestaña Diario en la ventana del Terminal.


Cualquier error causado por el Expert Advisor será notificado en este apartado.

Pruebas en cuenta real

Las pruebas en cuenta real necesitan ser examinadas con mayor dedicación si cabe que los Backtesting o las pruebas en cuenta demo. La razón es obvia – nuestro propio dinero está en juego. Por supuesto, después de haber hecho un backtesting y pruebas en cuenta demo estaremos casi el cien por cien seguros de que el Expert Advisor funcionará correctamente. Sin embargo, el inversor responsable debe vigilar que su propio Expert Advisor no haga operaciones diferentes en su cuenta real a las que supone que debería hacer. El proceso a seguir es simple: Activar el Expert Advisor y vigilar que todas las acciones que realice sean las correctas. Si algo marcha mal habrá que repetir este proceso en la cuenta demo.

Prueba de los Scripts

¿Cómo se puede comprobar que un script funciona bien? La clave estaría en constatar que el script se inicia, funciona y finaliza su trabajo en menos de un minuto, después podríamos concluir que funciona correctamente. Por supuesto, la primera prueba del script debe ser realizada en una cuenta demo, premisa especialmente relevante para scripts que sirven para ejecutar órdenes.

X-Trade Brokers Dom Maklerski, S.A., Sucursal en España (“X-Trade”) ha elaborado este informe exclusivamente a efectos informativos. Toda la información en éste contenida está basada en informaciones de carácter público y ha sido obtenida de fuentes que se consideran fiables. Sin embargo X-Trade no garantiza la corrección ni la precisión de la información incluida en el informe. Las opiniones incluidas en éste son exclusivamente... Leer toda la Declaración a los inversores
Este post ha sido patrocinado* por XTB

Conoce sus principales características:

  • Más de 6.300 instrumentos financieros en xStation 5
  • Acciones y ETFs al contado desde 0€ en comisiones
  • Planes de inversión y cuenta de saldo remunerada a partir del 2%
*El patrocinio no influye en la veracidad y objetividad del contenido.
Ver más
  1. en respuesta a Sistemas inversores
    -
    #3
    29/08/10 19:20

    Hola Sistemas inversores,

    este "aparente problema" ya lo tengo resuelto gracias a la ayuda de un compañero del foro exclusivo de XTB... puedes mirar los post y asi de paso pillar los fuentes por si quisieras tu mismo echarle un vistazo por si te fuera de utilidad y/o tambien para que opinen de la estrategia que quiero probar con dicho experto.

    https://www.rankia.com/foros/x-trade/temas/538893-backtesting-no-rescata-datos-diferentes-periodicidades#respuesta_539732

    Gracias por la atencion y por la aclaracion la cual he podido comprobar que era error mio y el Backtesting SI QUE PUEDE rescatar datos de periodicidades diferente ;)

    Saludos a todos

  2. en respuesta a Alemoran
    -
    #2
    23/08/10 13:29

    Hola Alemoran:

    Al hacer backtesting de un sistema dispones de volumen, precios Bid/Ask y todos los datos de los indicadores en cualquier timeframe, independientemente del timeframe con el que realices el backtest. La única limitación que tienes es la del intrumento, es decir, no puedes tomar esos datos de otro instrumento.

    ¿Estas usando simulación tick a tick, apertura o puntos de control? Es posible que con puntos de control te de problemas...

    Si te parece haz una prueba sencilla imprimiendo los datos de una media móvil en dos periodos distintos y postea aquí las imágenes para que podamos verlo y encontrar el fallo.

    Saludos.

  3. #1
    12/08/10 13:50

    Hola a todos,

    Hay un pequeño problema que me inquieta a la hora de probar un EA con el Backtesting y es el que comento a continuación:

    Si mi EA se basara en obtener ciertos datos en diferentes periodicidades (por ejemplo, entrar al mercado si el RSI en 5min, 15min, 30min, 1h y 4h esta en sobrecompra/sobreventa).... me seria IMPOSIBLE poder testear adecuadamente dicho EA puesto que el Backtesting SOLAMENTE me rescata datos de la periodicidad en la que estoy probando el EA. ( SIN EMBARGO... SI CORRO EL EXPERTO EN LA CUENTA DEMO... SI QUE ME RESCATA BIEN DICHOS VALORES DE DIFERENTES PERIODICIDADES)

    Esto supone una limitacion extremadamente grande a la hora de probar un experto con el BackTesting en el que se usen datos de diferentes periodicidades.

    Por favor, ¿a alquien mas le pasa esto?¿es un bug de la plataforma cuando usamos el Backtesting?

    Saludos