Probando las características y los límites de MetaTrader 4

MetaQuotes | 12 enero, 2016

Introducción

Este artículo expone algunos detalles sobre las características y los límites del Probador de Estrategias de MetaTrader 4.

Características especiales de las pruebas de estrategias en datos históricos
  • Algunas funciones se procesan/ejecutan sin datos de salida

    Estas son: Sleep(), Alert(), SendMail(), PlaySound(), MessageBox(), WindowFind(), WindowHandle() y WindowIsVisible()

  • El trading está permitido solo para el símbolo que se desea probar, no para portfolios

    Si se intenta hacer trading con otro símbolo se devolverá un error

  • El tamaño del lote se toma de la configuración de la cuenta activa, incluyendo el tamaño inicial, el paso del incremento, las comisiones y los swaps

    Antes de comenzar con las pruebas, es necesario asegurarse que por lo menos hay una cuenta activada en la ventana "Explorador" del terminal.

  • Se modelan todos los swaps, requerimientos de margen, fechas de vencimiento y órdenes GTC

    Las pruebas se llevan a cabo simulando el servidor de trading con tanta precisión como sea posible. En las divisas cruzadas se pueden producir algunas inexactitudes al estimar los requerimientos del margen, debido a la falta de información precisa sobre los precios de conversión en cada momento.

  • La barra cero de otro marco temporal del mismo símbolo se modela de forma aproximada

    Open = Open correcto, Close = Close correcto, Low = min (Open,Close), High = max (Open,Close), Volume = Volume final (false)

  • Se asume el modo de ejecución instantáneo en todas las transacciones, siendo procesado sin slippage
  • Procesamiento de órdenes, Open/Close sin slippage
  • Prueba de stops después del StopOut
  • Los marcos temporales semanales, mensuales e irregulares no se prueban
  • Se puede cambiar la moneda del depósito, pero los precios de conversión se tienen que establecer, y se utilizan los actuales disponibles
  • No se producen retrasos en la ejecución de las operaciones de trading

    Se planea introducir un retraso de configuración en el procesamiento de transacciones

  • El historial de la cuenta está completamente disponible, y no depende de configuraciones
  • Si se utilizan activamente otros símbolos y períodos, es conveniente descargarlos con toda la profundidad posible
  • En el modelado "Cada tick", el probador inyecta los plazos necesarios del símbolo que se está probando, independientemente
  • La función MarketInfo genera el error ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE(4059). Sin embargo, se proporciona información correcta sobre los precios actuales del símbolo que se prueba, así como las dimensiones del nivel stop, el tamaño del punto y el tamaño del spread de todos los símbolos presentes en la ventana de cotizaciones.

Características especiales del proceso de optimización

  • La pestaña Diario no muestra ninguna salida (función Print()).

    Esto se hizo con el fin de acelerar las pruebas y ahorrar espacio en disco. Si se escriben los logs completos los archivos del diario necesitarán cientos de MBytes.

  • No se establece el dibujo de objetos

    Los objetos están deshabilitados para acelerar las pruebas.

  • Se utiliza la función "Omitir resultados no útiles"

    Se pueden pasar por alto los resultados muy malos para no alterar la tabla y el gráfico con los resultados de las pruebas. Esta función se puede activar en el menú contextual de la pestaña "Resultados de la optimización" -> "Omitir resultados no útiles".