Pruebas de estrategias de trading




Pruebas de Estrategias de Trading La idea de comercio automatizado es atractivo por el hecho de que el robot de comercio puede trabajar sin parar durante 24 horas al día, siete días a la semana. El robot no se cansa, dudosa o miedo, es totalmente libre de problemas psicológicos. Es suficiente para formalizar con claridad las reglas de comercio e implementarlas en los algoritmos, y el robot está listo para trabajar sin descanso. Pero primero, usted debe asegurarse de que se cumplan las siguientes dos condiciones importantes: El Asesor de Expertos realiza operaciones comerciales de acuerdo con las reglas del sistema de comercio; La estrategia de negociación, implementado en el EA, demuestra un beneficio en la historia. Limitaciones de función en el probador de Estrategia Existen limitaciones de operación de algunas funciones de Estrategia probador de la terminal del cliente. La impresión () y PrintFormat () Funciones Las funciones de alerta (), MessageBox (), PlaySound (), SendFTP, SendMail (), SendNotification (), WebRequest () Tick ​​Modos Generación Un experto asesor es un programa, escrito en MQL5, que se ejecuta cada vez que en respuesta a algún evento externo. La EA tiene una función correspondiente (controlador de eventos) para cada evento predefinido. El evento NewTick (cambio de precio) es el evento principal de la EA y, por lo tanto, tenemos que generar una secuencia de garrapata para probar la EA. Hay 3 modos de generación de garrapatas implementado en el probador Estrategia de terminal del cliente MetaTrader 5: Cada garrapata 1 minuto (precios OHLC con barras minuto) OHLC Sólo los precios Abiertas La base y el más detallado es el modo Cada garrapata, los otros dos modos son las simplificaciones de la básica, y se describirá en comparación con el modo Cada garrapata. Considere los tres modos para entender las diferencias entre ellos. Cada Tick Los datos históricos de cotizaciones de los instrumentos financieros se transfiere desde el servidor de comercio para el terminal del cliente MetaTrader 5 en forma de barras empacados minuto. La información detallada sobre la incidencia de las solicitudes y la construcción de los plazos requeridos se puede obtener desde el capítulo Organizador de acceso a datos de MQL5 referencia. El elemento mínimo de la historia de los precios es la barra de minutos, desde donde se puede obtener información sobre los cuatro valores del precio: Abrir - el precio al que se abrió la barra de minutos; Alta - el máximo que se logró durante este bar minutos; Bajo - el mínimo que se logró durante este bar minutos; Cerrar - el precio de cierre de la barra. La nueva barra de minutos no se abre en el momento en que comience la nueva minutos (número de segundos se hace igual a 0), pero cuando se produce una garrapata - un cambio de precio por lo menos un punto. La figura muestra la primera barra de minutos de la nueva semana de operaciones, que tiene el tiempo de apertura de 01/10/2011 00:00. La diferencia de precios entre el viernes y el lunes, lo que vemos en el gráfico, es común, ya que las tasas de cambio fluctúa incluso los fines de semana en respuesta a las noticias entrantes. Para este bar, sólo sabemos que la barra de minutos se abrió el 10 de enero de 2011 a las 00 horas 00 minutos, pero no sabemos nada de los segundos. Podría haber sido abierta en 00:00:12 o 00:00:36 (12 o 36 segundos después del inicio de un nuevo día) o en cualquier otro momento dentro de ese minuto. Pero sí sabemos que el precio abierto de EURUSD estaba en 1,28940 en el momento de apertura de la nueva barra de minutos. Tampoco sabemos (una precisión de un segundo) cuando recibimos la garrapata que corresponde al precio de cierre de la barra considerado minutos. Nos conocemos desde una sola cosa - el último precio de cierre de la barra minutos. Para este momento, el precio era de 1,28958. El momento de la aparición de alta y precios bajos también se desconoce, pero sabemos que los precios máximos y mínimos estaban en los niveles de 1,28958 y 1,28940, respectivamente. Para probar la estrategia de negociación, necesitamos una secuencia de las garrapatas, en el que se simulará la labor del Asesor de Expertos. Así, por cada bar minutos, sabemos que los 4 puntos de control. donde el precio ha sido definitivamente. Si una barra tiene sólo 4 garrapatas, entonces esto es suficiente información para realizar una prueba, pero por lo general el volumen de la señal es mayor que 4. Por lo tanto, existe la necesidad de generar puntos de control adicionales para las garrapatas, que se produjeron entre el Open, alto, bajo, y cerrar los precios. El principio de la iniciativa Cada señal señales modo de generación se describe en el el algoritmo de la garrapatas ?? Generación en el probador de Estrategia del 5 Terminal MetaTrader una figura de la que se presenta a continuación. Cuando se prueba en el modo de garrapata Cada, la función OnTick () de la EA se llamará en cada punto de control. Cada punto de control es una garrapata de una secuencia generada. La EA recibirá el tiempo y el precio de la garrapata simulado, así como sería cuando se trabaja en línea. Importante: la cada tick modo de prueba es el más preciso, pero al mismo tiempo, el que más tiempo. Para una prueba inicial de la mayoría de las estrategias de negociación, por lo general es suficiente utilizar una de las otras dos modos de prueba. 1 Minuto OHLC El modo Cada garrapata es el más exacto de los tres modos, pero al mismo tiempo, es el más lento. El funcionamiento del controlador OnTick () se produce en cada tick, mientras que el volumen de garrapata puede ser bastante grande. Para que una estrategia, en la que la secuencia de la señal de movimiento de precios a lo largo de la barra, no importa, hay un modo de simulación más rápido y más duro - 1 minuto OHLC. En el modo de 1 minuto OHLC, la secuencia de la garrapata se construye sólo por los precios de las barras OHLC minuto. el número de los puntos de control generadas se reduce significativamente - por lo tanto, también lo es el tiempo de prueba. El lanzamiento de la función OnTick () se lleva a cabo en todos los puntos de control, que se construyen por los precios de barras OHLC minuto. La negativa para generar garrapatas intermedios adicionales entre el Abierto, Alto, Bajo, y cerrar los precios, conduce a una apariencia de determinismo rígido en el desarrollo de los precios, desde el momento en que el precio abierto se determina. Esto hace que sea posible crear un Testing Grail, que muestra un gráfico agradable al alza del saldo de prueba. Un ejemplo de tal Grial se presenta en el Código Base - Grr-al. La figura muestra una gráfica muy atractiva de esta prueba EA. ¿Cómo se obtiene? Sabemos 4 precios de una barra de minutos, y también sabemos que la primera es el precio abierto, y el último es el precio Cerrar. Tenemos los precios altos y bajos entre ellos, y la secuencia de su aparición es desconocida, pero se sabe, que el alto precio es mayor o igual al precio abierto (y el bajo precio es menor o igual al Abierto precio). Es suficiente para determinar el momento de recibir el precio Abrir y, a continuación, analizar el siguiente pulso con el fin de determinar qué precio que tenemos en este momento - o de la alta o la baja. Si el precio está por debajo del precio de apertura, entonces tenemos un precio bajo y compramos en esta garrapata, el siguiente tick corresponderá al alto precio, por lo que vamos a cerrar la compra y abrir para la venta. La próxima garrapata es la última, este es el precio Cerrar y cerramos la venta en él. Si después de que el precio, recibimos una garrapata con un mayor precio que el precio de apertura, a continuación, la secuencia de las ofertas se invierte. Procesar una barra de minutos en este modo de trucos, y esperar a la siguiente. Al probar tales EA sobre la historia, todo va bien, pero una vez que lanzamos en línea, la verdad empieza a quedar revelado - la línea de equilibrio se mantiene estable, pero las cabezas hacia abajo. Para exponer este truco, simplemente necesitamos para ejecutar la EA en el modo Cada garrapata. Nota: Si los resultados de las pruebas de la EA en los modos de prueba rugosas (1 minuto OHLC y Precios Abiertas solamente) parecen demasiado bueno, asegúrese de probarlo en el modo Cada garrapata. Precios abierto sólo En este modo las garrapatas se generan a partir de los precios OHLC del plazo elegido para la prueba. La función OnTick () del Asesor de Expertos se ejecuta sólo en el comienzo de la barra en el precio abierto. Debido a esta característica, dejar de niveles y pendientes puede disparar a un precio que difiere de la especificada (especialmente cuando se prueba en plazos superiores). En cambio, tenemos una oportunidad para correr rápidamente una prueba de evaluación de la Expert Advisor. W1 y MN1 períodos son las excepciones en el precio Abrir Sólo garrapatas modo de generación: para estos plazos garrapatas se generan para los precios OHLC de cada día, los precios no OHLC de la semana o del mes. Supongamos que probamos un Asesor de Expertos sobre EURUSD H1 en los precios abiertos sólo de modo. En este caso el número total de garrapatas (puntos de control) no será más de 4 * número de barras de una hora dentro del intervalo ensayado. Pero el manejador OnTick () sólo se llama en la apertura de la barra de una hora. Los controles necesarios para una prueba correcta se producen en el resto de las garrapatas (que se ocultan de la EA). El cálculo de los requisitos de margen; La activación de Stop Loss y Take Profit niveles; La activación de órdenes pendientes; La eliminación de los pedidos pendientes expirado. Si no hay posiciones abiertas u órdenes pendientes, que no necesitamos para llevar a cabo estos controles de las garrapatas ocultos, y el aumento de la velocidad puede ser muy importante. Este modo sólo precios Abiertas es muy adecuado para las estrategias de experimentación, que el proceso sólo se refiere a la apertura de la barra y no utilizan órdenes pendientes, así como las órdenes Stoploss y TakeProfit. Para la clase de tales estrategias, se conserva la exactitud necesaria de la prueba. Usemos el Asesor Experto media móvil del paquete estándar como un ejemplo de un EA, que puede ser probado en cualquier modo. La lógica de esta EA está construido de tal manera que todas las decisiones se toman en la apertura de la barra, y ofertas se llevan a cabo de inmediato, sin el uso de órdenes pendientes. Ejecutar una prueba de la EA en EURUSD H1 en un intervalo del 09.01.2010 al 12.31.2010, y comparar los gráficos. La figura muestra el gráfico de equilibrio del informe de prueba para todos los tres modos. Como se puede ver, los gráficos en diferentes modos de prueba son exactamente los mismos para la Mudanza EA Promedio del paquete estándar. Hay algunas limitaciones en el modo Sólo Precios abiertas: No se puede utilizar el modo de ejecución Random Delay. En el Asesor de Expertos probado, no se puede acceder a los datos del periodo de tiempo inferior a la utilizada para las pruebas / optimización. Por ejemplo, si ejecuta la prueba / optimización en el período H1, puede acceder a los datos de H2, H3, H4, etc, pero no M30, M20, M10, etc. Además, los plazos de tiempo mayores que se accede debe ser múltiplo de la prueba periodo de tiempo. Por ejemplo, si ejecuta la prueba en M20, no se puede acceder a los datos de la M30, pero es posible acceder a la H1. Estas limitaciones están relacionadas con la imposibilidad de obtener datos de plazos menores o no múltiples de las barras generados durante las pruebas / optimización. Limitaciones al acceso a los datos de otros plazos también se aplican a otros símbolos cuyos datos son utilizados por el Asesor de Expertos. En este caso la limitación para cada símbolo depende de la primera plazo visitada durante las pruebas / optimización. Supongamos que, durante las pruebas en EURUSD H1, un Asesor Experto accede a los datos de GBPUSD M20. En este caso el Asesor de Expertos será capaz de avanzar en los datos de uso de EURUSD H1, H2, etc., así como GBPUSD M20, H1, H2, etc. Nota: El único modo de precios Abiertas tiene el mejor tiempo de prueba, pero no es adecuado para todas las estrategias de negociación. Seleccione el modo de prueba deseado basado en las características del sistema de comercio. Para concluir la sección sobre los modos de generación de la señal, vamos a considerar una comparación visual de los diferentes modos de generación de la señal para EURUSD, por dos barras de M15 en un intervalo de 01/11/2011 21:00:00 - 11/01/2011 21:30:00. Las garrapatas se guardan en distintos archivos utilizando el EA WriteTicksFromTester. mq5 y el final de estos archivos de nombres se especifican en filenameEveryTick, filenameOHLC entrada y parámetros filenameOpenPrice. Para obtener tres archivos con tres secuencias de garrapatas (por cada uno de los siguientes modos Cada garrapata, a 1 minuto OHLC y sólo precios Abiertas), la EA se puso en marcha en tres ocasiones en los modos correspondientes, en carreras individuales. Entonces, los datos de estos tres archivos se muestran en el gráfico utilizando el indicador TicksFromTester. mq5. El código indicador se adjunta al presente artículo. Por defecto, todas las operaciones de archivo en el lenguaje MQL5 se realizan dentro de la caja de arena de archivos, y durante la prueba de la EA sólo tiene acceso a su propia caja de arena de archivos. Para que el indicador y el EA para trabajar con archivos de una carpeta durante la prueba, se utilizó la bandera FILE_COMMON. Un ejemplo de código de la EA: file = FileOpen (nombre de archivo, FILE_WRITE | FILE_CSV | FILE_COMMON,;); // --- Identificador de archivo de verificación si (archivo == INVALID_HANDLE)