Divulgación de riesgos: La CNMV informa que invertir en CFDs supone un riesgo elevado. Los CFDs son un producto financiero complejo, por lo que no es recomendable para inversores minoristas. Del 74% al 89% de inversores minoristas que operan con CFDs pierden dinero. Antes de operar con productos CFDs debe considerar primero si comprende el funcionamiento de los CFDs y tiene capital suficiente para asumir el alto riesgo de perder su capital.

¿Por qué no funcionan los probadores de estrategias en MT4 y MT5?

Autor: Francisco José Santos
Francisco José Santos
Todas las publicaciones del autor

Hoy continuaremos la discusión de un tema tan extenso como el trading algorítmico o algotrading y hablaremos sobre una herramienta tan necesaria como el probador de robots comerciales. En parte, muchas de las cuestiones planteadas en este artículo también se han abordado en los diferentes artículos de nuestro Blog de Forex, pero, en mi opinión, todavía no están cubiertas con suficiente detalle. Por lo tanto, hoy descubriremos qué es el backtesting y qué dificultades y complejidades surgen al evaluar a los asesores, y también definiremos las limitaciones de la plataforma de trading MetaTrader al probar y optimizar a los asesores y encontraremos formas de nivelar al máximo estas limitaciones. (Si quiere ser un trader exitoso no olvide conocer los 4 principios para una negociación exitosa)

¿Qué es el backtest?

Ya se ha escrito un artículo en nuestro blog sobre cómo probar un asesor en el terminal MT4, así como en el terminal MT5. Así que solo daré la definición de backtesting. El backtest es la aplicación de las reglas de un sistema de trading a un conjunto de datos históricos del mercado, eso es todo. Es decir, definimos un conjunto de reglas para entrar en el mercado, para salir, para acompañar la posición y calcular su volumen, y luego aplicamos estas reglas a los datos históricos, como si de acuerdo con estas reglas en ese momento se operara. Por lo tanto, podemos evaluar el efecto de este sistema que podría haberse logrado en el pasado. (Aprenda a leer el mercado con nuestro artículo Todo lo que necesita saber sobre las velas japonesas)

Quizás la función más importante del probador es la simulación. El autor de un algoritmo realiza pruebas retrospectivas, sobre la base de las cuales puede juzgar si el asesor de Forex debería mejorarse aún más o si el sistema de comercio que utiliza para la investigación no vale la pena.

El backtest también nos ayuda a evaluar si esta estrategia debe usarse para operaciones reales, en función de su efectividad en el pasado. De hecho, el backtest nos ayuda a eliminar a los malos asesores antes de que arriesguemos dinero real.

Además de la selección inicial de estrategias para seguir operando con ellas y filtrar estrategias inadecuadas, el probador también ayuda a verificar el rendimiento de los sistemas de trading que se están creando, identificar los errores que se han cometido y mejorar el funcionamiento del algoritmo.

Los principales errores a la hora de probar un asesor

Realizar la prueba de un Asesor Experto es muy fácil, pero, desafortunadamente, los resultados de la prueba no son el resultado de una negociación en real. Obtenemos los resultados de la simulación. No importa lo complejo que sea el modelo, todavía contendrá ciertas suposiciones y simplificaciones, lo que, por supuesto, conduce a resultados inexactos. Es por eso que hay muchas trampas asociadas con la aplicación de pruebas. A continuación, voy a dar los principales errores al utilizar la prueba. (Conozca Cómo las manos fuertes consiguen manipular el mercado Forex)

Prueba solo en In-Sample de una muestra.

Este es el error más común de los principiantes y el más brutal. En esencia, este es un ajuste del sistema a la curva que se produce cuando se utilizan los mismos datos para la optimización y las pruebas de estrategia. Tales pruebas siempre sobreestiman fuertemente los resultados del sistema, que se verán en el comercio real. Esto se debe a que el sistema no ha sido probado para otros datos, que obviamente diferirán notablemente de los utilizados en la prueba. (Si acaba de empezar a operar en el mercado Forex, lea nuestros Consejos para construir un plan de trading exitoso)

Cambio de ciclo en los mercados.

Los mercados no son estacionarios y cambian constantemente. Por lo tanto, es muy difícil encontrar los parámetros adecuados para que el sistema funcione durante un largo período de tiempo. Además, cuanto más largo sea este período, más universales serán los parámetros del sistema. Sin embargo, desafortunadamente, no existen parámetros ideales para un asesor, los cuales son utilizados por los robots y que que obtendrían una excelente rentabilidad en cualquier mercado. Esta es una de las razones por las que los asesores en el mercado real trabajan peor que en las pruebas. (Si es usted un scalper, lea nuestras 10 reglas básicas para obtener ganancias usando scalping)

Costos de la transacción

Muchos operadores de divisas, especialmente los principiantes, no tienen en cuenta los costos asociados con las posiciones de apertura y cierre. A menudo veo pruebas realizadas con un spread poco realista, por ejemplo, en lugar de usar 2-3 puntos para una prueba en el EURUSD, las personas toman un spread de 0.5-1 puntos. El resultado es una imagen de grial que no tiene absolutamente nada que ver con la realidad, porque el hecho de que su bróker de Fórex le haya indicado un spread para este par de 0,5 puntos para tener un buen marketing, no significa que lo sea cuando estemos en la realidad. Además, muchas personas se olvidan de cosas como la comisión por la transacción. No está en todos los tipos de cuentas y no en todos los brókers, pero, por regla general, donde hay un bajo spread, existe esa comisión y es bastante grande. Además, no se olvide de cosas como los swaps, también distorsionan los resultados de las pruebas y afectan el resultado final. Y, por supuesto, el deslizamiento es el flagelo de todos los gaiteros. Si reúne todos estos factores juntos, resulta que el trading es un negocio bastante costoso, y en el mercado real pagará por abrir una transacción 0.5 puntos de propagación + 0.7 puntos de comisión + 0.3 puntos de la transacción por el deslizamiento al abrir y cerrar la operación, y al final del todo, dan como resultado… unos costos reales de transacción que ascenderán a 1.8 puntos, mínimo. (Algo fundamental para operar con éxito en Forex es la elección de un buen bróker, si es la primera vez que va a elegir a un bróker y no sabe cómo hacerlo, le recomendamos que lea nuestro artículo ¿Cómo elegir a un bróker?)

Mirando hacia el futuro

Los datos futuros se pueden usar en las pruebas, pero, y con mayor frecuencia, nos vamos a encontrar con errores, ya sea debido a errores al escribir el algoritmo, o a errores con intención maliciosa. El año pasado, en el sitio web mql5.com, en la sección "mercado", estaba muy de moda vender asesores mirando hacia el futuro. Es mucho más conveniente comerciar y mostrar resultados comerciales fenomenales, si conoce el futuro, quién no quiere un asesore experto que funcione bien en el futuro. Pero tales resultados, desafortunadamente, no tienen nada que ver con el comercio real. (¿Quiere ser un trader profesional? Lea nuestro artículo Requisitos para ser un Trader Profesional)

Liquidez de la herramienta

Al realizar pruebas en el historial, puede tranquilamente hacer scalping con miles de lotes de manera segura y obtener buenos resultados. Sin embargo, en el comercio real, tales volúmenes afectarán inevitablemente al mercado, incluso la posición de 100 lotes por la tarde o por la noche puede mover el precio incluso en los pares de divisas más populares, esto está totalmente verificado. En el probador, este efecto no se tiene en cuenta. (Conozca cómo abrir su propia sociedad o agencia de valores Forex en España)

Datos históricos

Muchos brókers de Forex ofrecen utilizar su base de datos histórica. Como regla general, las cotizaciones no son de la mejor calidad. Puede encontrar grandes piezas de datos históricos que faltan, especialmente en timeframes pequeños. También puede encontrar muchas fuentes de cotizaciones gratuitas en Internet, pero, por regla general, de una calidad no bastante dudosa. La calidad de las cotizaciones afecta en gran medida los resultados de las pruebas retrospectivas, por lo que vale la pena tomar este problema tan seriamente como sea posible. (Descubra Todos los secretos del Trading de Alta Frecuencia (HFT))

Baja robustez

Algunos traders, especialmente los principiantes, permiten que los sistemas con poca robustez operen con dinero real. La robustez es la estabilidad del sistema a los cambios en los datos de entrada. Por ejemplo, después de probar su sistema desde el 3 de este mes hasta hoy, obtendrá un buen resultado, pero si ejecuta la prueba el 4, el sistema entrará en drawdown. Esto significa que el sistema tiene una baja robustez. Otro ejemplo es cuando cambió el período del indicador de Forex que afectó la entrada al mercado de 9 a 10 y el sistema comenzó a fallar. Un gran error sería permitir que tales sistemas realicen transacciones comerciales en el mercado real. (Sepa qué hacer cuando un bróker le estafa y le engaña con nuestro artículo ¿Puede realmente recuperar su dinero de un bróker fraudulento?)

Psicología

Como dije en el artículo anterior, la psicología en el trading algorítmico juega un papel mucho más pequeño que cuando se opera de manera manual. Varios vendedores de sistemas de trading están promoviendo la idea de que puede olvidarse de la psicología cuando opera con un robot. Sin embargo, un desprecio total por la psicología en Forex es otro error de los traders novatos. Sin embargo, hay una serie de sistemas de trading que pueden parecer bastante buenos en las pruebas y simplemente ser perdedores en el trading en real. Además, dado que muchos operadores manuales novatos cambian sus reglas de operaciones sobre la marcha, los operadores algorítmicos menos experimentados a menudo se ponen manos a la obra en los sistemas que ya se están ejecutando, tratando de "torcerlos" sobre la marcha. Todo esto, por supuesto, conduce a pérdidas monetarias. (Quiere saber ¿Cómo dejar de perder dinero en Forex? Lea este artículo)

Tipos de probadores según el principio de su funcionamiento

En este momento, hay muchos terminales diferentes en el mercado para hacer trading en los mercados financieros. Muchos terminales ofrecen la capacidad de escribir expertos para el trading automatizado, y la mayoría de estos terminales, como regla, tienen probadores y optimizadores incorporados. Todos ellos son muy diferentes en funcionalidad y capacidades, pero el principio de funcionamiento de los probadores se puede dividir en dos tipos: "cíclico" y "orientado a eventos". Cada uno de estos tipos tiene sus pros y sus contras, como todo en la vida. (Invierta y gane dinero en 2019 con nuestros Consejos para inversores en 2019. Qué debe incluir en su cartera)

Backtesters cíclicos

Este tipo de probador es el más fácil de implementar y su funcionamiento es transparente. Tal probador simplemente itera cada barra o vela una por una. Cuando se recibe un nuevo precio, realizan algunos cálculos sobre los precios, calculan los indicadores y permiten realizar y modificar órdenes. Luego, la siguiente iteración ocurre hasta que la prueba se detiene. Al mismo tiempo, el probador almacena algunos datos estadísticos sobre el trabajo del asesor (ganancias, número de transacciones, drawdown, etc.) y, una vez finalizado, emite un informe sobre las pruebas realizadas por el asesor. Como usted entiende, este diseño es muy simple: solo necesita descargar datos históricos y ordenar los precios línea por línea, haciendo cálculos en todo momento. Seguramente ese concepto te parecerá familiar. Así es, MetaTrader funciona de acuerdo con este esquema. Bueno, es decir, esto no es del todo cierto, ya que hay algunos eventos predefinidos en el lenguaje Mql. Así que esta plataforma de trading, como muchas otras, es un representante de un tipo bastante mixto. (Si no quiere perder más dinero en el trading en Forex, utilice la estrategia Inside Trend System - El sistema de trading perfecto para aquellos que ya están cansados de perder dinero)

Como es probable que ya hayas adivinado, estos back-testers son muy fáciles de implementar en casi cualquier lenguaje de programación. Al mismo tiempo, funcionan muy rápido: puede probar y optimizar rápidamente muchas combinaciones de parámetros del asesor.

Desafortunadamente, el principal inconveniente de tal probador es la falta de realismo de las pruebas retrospectivas recibidas. Muy a menudo, estos probadores o evaluadores no tienen en cuenta el spread, la comisión y las órdenes siempre se ejecutan a precios de mercado sin deslizamiento e instantáneamente. Por lo tanto, los profesionales utilizan dichos comprobadores solo para la evaluación inicial de la efectividad del algoritmo para decidir si seguir trabajando en el asesor. (Para comprender la acción que tiene el volumen en el precio lea nuestra Guía completa para el análisis de la dispersión del volumen (VSA) en Forex)

Probadores orientados a eventos

Para comprender más claramente el principio de funcionamiento de un probador de este tipo, le sugiero que se imagine un juego de ordenador. El jugador interactúa constantemente en el espacio del juego, este espacio en sí no es estático: algo sucede constantemente, las criaturas enojadas atacan al jugador, y los personajes amistosos en ese momento se desmoronan unos a otros con hachas de cráneo debido a una pelea casera, típicas que se dan por esos lugares. Por lo tanto, debido a la abundancia de lo que está sucediendo, su computadora no se aleja de usted, las personas inteligentes han pensado poner todos los cálculos de lo que está sucediendo en un cierto bucle infinito, llamado evento o juego, dentro del cual se construye una línea de evento. Estos eventos que ocurren constantemente dentro del bucle se procesan a su vez a la velocidad correspondiente a la potencia de su computadora. Con respecto al probador, tales eventos pueden incluir la aparición de nuevas señales de trading, la disposición para enviar un mensaje al bróker, la llegada de un nuevo tick y la recepción de información del bróker. Cuando ocurre un evento específico, es procesado por el módulo de prueba apropiado y, posiblemente, se generan nuevos eventos, que nuevamente caen en la cola de eventos. (Sepa Cómo utilizar la estrategia de Forex "Gambito" para operar con éxito)

De los aspectos positivos de este tipo de probador, es posible señalar el modelo de prueba lo más cercano posible a la realidad y, como resultado, pruebas muy precisas que toman en cuenta muchos factores que surgen en el comercio real. Tal arquitectura de un probador dispone del uso de carteras de sistemas y herramientas, y tales probadores, por regla general, contienen las posibilidades de probar y optimizar un gran número de sistemas en varias herramientas. (Sepa Cómo operar con éxito mediante el análisis de la dispersión del volumen (VSA) en Forex)

Entre las deficiencias de este diseño, podemos destacar la complejidad del código y, en consecuencia, un gran campo para errores. La escritura de estos sistemas requerirá conocimientos de programación orientada a objetos y una buena experiencia en el desarrollo de sistemas. Otra desventaja significativa asociada con la interacción de diferentes módulos del comprobador es la velocidad lenta del trabajo. Las pruebas, y aún más la optimización, pueden llevar bastante tiempo. (Si opera con asesores expertos y su trading es automatizado, consiga un VPS gratuito durante un año sin condición alguna leyendo nuestro artículo Servidor VPS gratuito ¿Mito o Realidad?)

Terminales MetaTrader

En las páginas de nuestro blog, puede encontrar una descripción general del terminal MetaTrader4 e incluso de MetaTrader5. Pero en estos artículos, desafortunadamente, no está escrito sobre lo más importante: ¿es posible usar estos terminales para probar y optimizar a sus asesores y cuánto puede confiar en los resultados? Vamos a tratar de entender este problema.

Como ya he dicho, los traders profesionales de algoritmos no utilizan el terminal MetaTrader principalmente por tres razones: falta de flexibilidad en el lenguaje para escribir asesores, baja precisión de las pruebas y velocidad de pruebas insatisfactoria. MetaQuotes ha creado un excelente terminal: simple y cómoda. Esta es una excelente plataforma de trading para explorar el mundo del comercio algorítmico. Recientemente se han agregado muchas ideas a la plataforma, especialmente en la quinta versión del terminal, pero, desafortunadamente, su implementación nos ha fallado. Por ejemplo, ¿cómo pueden las personas apreciar el probador mejorado si no es posible importar sus presupuestos? ¿O por qué las personas deberían reescribir el código de sus asesores e indicadores de forma independiente cuando era posible escribir un programa simple que haría todo esto automáticamente? Pero lo primero es lo primero. (Gane dinero con uno de los patrones más efectivos del mercado Estrategia de trading en Forex basada en el patrón Fakey)

Entonces, se me ocurrió un sistema comercial simple, cuyo algoritmo anoté como mql4 advisor, mql5 advisor y como probador con un optimizador con la misma estrategia incorporada en el lenguaje R. Hice esto para pasar las pruebas, la optimización y comparar la velocidad.

La prueba del asesor en el timeframe de 1 hora durante los últimos quince años en la cuarta versión de la terminal tomó 20 minutos, en la quinta versión, aproximadamente 5 minutos, en el probador R, unos 13 segundos. La optimización de cincuenta mil combinaciones de parámetros del mismo asesor en las mismas condiciones en la cuarta versión tomó 10 días, en el quinto solo tres días, y con R tan solo 16 minutos. No podría hacer la misma prueba en 15 pares al mismo tiempo en MT4, simplemente no es posible. La quinta versión lo logró en 2 horas 27 minutos, R en 6 minutos. El lenguaje R está lejos de ser el más rápido si escribí un tester (o prueba) en C#, por ejemplo, estoy seguro de que los resultados serían mejores una de cada 10. (Gane dinero en el mercado Forex de la manera más simple y sencilla con nuestro artículo Aprenda a operar en el mercado Forex a través del análisis de la oferta y la demanda)

Analicemos MetaTrader 4

¿Qué causó la lentitud del probador? Una cosa puedo decir con seguridad: el terminal usa solo un núcleo de procesador para la operación. Es decir, incluso si hay cuatro o más de ellos en su ordenador, este hecho no le ayudará. Puede resolver parcialmente el problema ejecutando otro terminal y probando u optimizando el asesor en paralelo en otra herramienta. Esto acelerará un poco el proceso, pero no resolverá el problema por completo: una prueba individual seguirá siendo dolorosamente larga. (Sepa cuando pasar de una cuenta demo a una cuenta real con nuestro artículo ¿Cómo y cuándo saber si está preparado para pasar de una cuenta demo a una cuenta real?)

Otro problema grave de la cuarta versión de este buen terminal es la imposibilidad de utilizar datos de tick. Cuando operamos en tiempo real, los precios llegan a la terminal en diferentes momentos a medida que cambian. La llegada del precio no está vinculada a un período específico, por ejemplo, una vez por minuto o una hora. Los datos históricos se almacenan en la base de datos de cotizaciones de terminales en forma de precios OHLC de diferentes marcos de tiempo o timeframes, por ejemplo, H1, D1, M15. Durante la prueba, la llegada de nuevos ticks se modela en función del período de tiempo M1. Todos sabemos que los volúmenes transferidos por el bróker, de hecho, no son en absoluto esos volúmenes muy reales. Esto es simplemente el número de tics reales que ocurrieron durante un cierto período de tiempo. Es decir, el probador conoce los precios de apertura y cierre de la vela M1, el precio máximo y mínimo por un período de 1 minuto y el número de ticks que se transmitieron durante ese minuto. Cuáles fueron los precios para estos tics, cuando el precio correspondiente al tic vino específicamente, todo esto es desconocido. El probador sobre la base de algunos algoritmos se presenta a sí mismo, ya que el precio fue dentro de la vela. Es decir, aquí está, el modelo muy simplificado del que hemos hablado anteriormente. Y, sin embargo, los traders han pasado por alto este problema. Hay varios programas especiales que le permiten usar datos reales de ticks para pruebas y optimización. Este es el programa gratuito TickstoryLite o el programa de pago Tick Data Suite. Puede leer sobre las características de cada uno de estos programas en artículos venideros, pero recomendaría no ser codicioso y comprar el segundo. Tick ​​Data Suite no solo le permite probar asesores sobre datos de ticks, este programa agrega al terminal un par de funciones geniales que son simplemente necesarias: un spread flotante (es decir, de hecho, dos flujos de ticks, como es en la realidad - Ask y Bid por separado) y excelente, insustituible, para los asesores de scalping, una prueba de emulación con deslizamiento. (Sepa responder a la pregunta ¿Los tiburones e inversores institucionales invertirán masivamente en Bitcoin en 2019?)

Ahora tengo que decir algunas palabras sobre la calidad del modelado, que en el terminal estándar no supera el 90%, y con la ayuda de los programas anteriores se convierte en el 99%. Muchos de ustedes se enfrentan constantemente en la red con la afirmación de que el 90% de las pruebas son basura no ordenada y usted necesita hacer solo el 99% de las pruebas, que son completamente exactas. Bueno, por supuesto, esto no es del todo cierto (en general, para ser franco, cualquier prueba realizada en la plataforma MT4 o MT5, lo mismo no es basura, pero queda bastante lejos de la realidad). Entonces, ¿cuál es la calidad de la simulación? Y esto es solo una cifra calculada utilizando una fórmula simple inventada por MetaQuotes: (¿Alguna vez ha pensado en vivir del trading? Descubra ¿Qué hará el bróker si empiezo a ganar dinero del trading de manera estable?)

Calidad de simulación = ((0,25х(StartGen-StartBar)+0,5х(StartGenM1- StartGen)+0,9х(HistoryTotal- StartGenM1))/( HistoryTotal- StartBar))х100%, donde:

HistoryTotal - el número de barras en el historial;

StartBar - el número de barras desde la que comenzó la simulación;

StartGen - el número de barras desde la que se iniciaron las pruebas según los datos históricos del período de tiempo más cercano;

StartGenM1 - el número de barras a partir de la cual comenzó la simulación basada en minutos.

Como puede ver, la calidad de la simulación simplemente nos muestra qué marcos de tiempo se usaron en la prueba. Si al probar el asesor en el período M15, solo se usaron los datos de M1, entonces la calidad de modelado será del 90%. Si solo se utilizó el período M15, la calidad, a juzgar por la fórmula, será cero o, como escribe MT4, n/a. Y cuando probaron en tics, se les ocurrió escribir un 99%, de modo que quedó claro que todo está funcionando bien y que las pruebas realmente están funcionando. ¿Significa esto que las pruebas con la calidad de n/a proporcionan datos completamente inexactos y con una calidad del 99%, muy precisa? NO, solo significa que en el primer caso el modelo se usó a precios de cierre, y en el segundo caso se utilizaron en ticks. Al mismo tiempo, la primera prueba puede ser mucho más precisa que la segunda, y esto debe entenderse: la calidad de la simulación y la calidad de las cotizaciones en sí mismas son cosas completamente diferentes. (Conozca los algoritmo y otras reglas diferentes para establecer los stop losses en Todo lo que necesita saber sobre el Stop Loss)

Lo que es importante comprender es que la calidad de los resultados de las pruebas también dependerá de la estrategia utilizada. Por ejemplo, si la estrategia funciona en D1 a precios de cierre sin stops, take profits y trailing stop e ingreso solo a mercado, sin la ayuda de órdenes pendientes, entonces puede obtener un backtest bastante preciso utilizando el modelo de "puntos de control". Para las pruebas de estrategias que usan stops y take, se necesita al menos un 90% de calidad para obtener un resultado, al menos un poco más cerca de la realidad. Al mismo tiempo, cuanto menor sea el timeframe durante el cual trabaja el asesor, mayor será el impacto en los resultados. Con un valor fijo del spread, las pruebas de dichos asesores estarán muy lejos de la realidad, en la medida en que, al realizar las pruebas, el asesor experto agotará el depósito en la cuenta real. Como puede ver, la calidad real de la prueba depende de muchos factores, como la calidad de las cotizaciones, las características del sistema en sí, así como la capacidad del sistema para eludir o nivelar las limitaciones del probador MT4. Este hecho demuestra una vez más mi idea de que para comerciar de manera rentable con la ayuda de un asesor, debe saber bien y comprender cómo funciona exactamente, cuál es su algoritmo, para reducir a cero todas las restricciones del terminal. (Utilice correctamente el Keltner Channel para su estrategia de trading, Estrategia de trading en Forex: El indicador Keltner Channel)

Otro problema serio con el uso de datos de ticks es la dependencia del bróker. Los resultados de las pruebas que usan datos de tick de un bróker diferirán de los resultados que usan datos de otro, ya que las diferencias entre los datos, incluso los precios de cierre de diferentes brókers, pueden alcanzar el 10-15% del tamaño de la vela, como ya vimos no hace mucho en un artículo. A largo plazo, una diferencia de este tipo puede llevar a planes de rentabilidad muy diferentes del mismo asesor que trabaja en las cuentas de diferentes brókers. (Vea como los market makers ven el mercado y cómo lo utilizan a su favor leyendo nuestro artículo Método de trading PVSRA - Mira a las gráficas como las mira los market makers)

Ahora hablemos de otra restricción de la terminal, esta vez ya resuelta. Inicialmente, en el terminal MT4 era imposible cambiar el spread para la prueba. Como resultado, las pruebas se obtuvieron cada vez diferentes. Además, si, después de haber realizado una prueba en un día laborable, el trader obtuvo un buen resultado en el trabajo de su asesor, luego de haber realizado la prueba nuevamente en fin de semana o por la noche, era muy posible descubrir que el asesor estaba acabando con el depósito. Hubo muchos malentendidos, ¿cómo pudo pasar esto? Después de todo, ¡estaba funcionando bien! E incluso conociendo este estado de cosas, no fue lo suficientemente conveniente: para hacer la prueba de scalper nocturno, el trader, en consecuencia, tenía que mirar la luna por la ventana… En general, podría ser divertido. Afortunadamente, esta fealdad se corrigió posteriormente, dando a los traders la oportunidad de establecer el spread para la prueba por sí mismos. (Responda a la pregunta ¿Cómo es el trading de Forex en un lugar offshore? Singapur: Leyes y los brókers más populares)

Nuevo terminal MetaTrader 5

Lo primero es que el lenguaje mql5 tiene capacidades bastante grandes. Esto es, sin duda, una gran ventaja. El inconveniente es que los expertos escritos en el lenguaje mql4 en el terminal MT5 no funcionarán. En consecuencia, los traders, que no están familiarizados con la programación, pero están ansiosos por operar con la ayuda de asesores que operan con éxito la versión anterior de la plataforma, y que desean pasarse a la nueva terminal, se ven obligados a solicitar una traducción de lenguaje mql4 a mql5 por dinero. ¿Adivina dónde es más probable que la gente busque tales programadores? Así es, en la sección "Freelance" en la página web de la misma compañía de MetaQuotes, que recibe una comisión de cada pedido, cada asesor e indicador vendido, y muchos más, por qué. Esto es un negocio, nada personal. (Sepa Para hacer más dinero qué es mejor ¿operar en cfds u operar acciones?)

Una gran ventaja del terminal en comparación con la versión anterior es el uso de múltiples núcleos. Esto se hace con la ayuda de un administrador de agentes de prueba. En este caso, puede utilizar cualquier número de núcleos. También puede crear una red completa de sus computadoras para utilizar su capacidad total para probar y optimizar a los expertos en la máquina "principal", o incluso usar una red en la nube en la que otros operadores ofrezcan sus capacidades a un precio razonable. Una idea emocionante, de hecho, fue el aumento de rendimiento al usar esta red, que resultó ser casi el triple. Al mismo tiempo, todo depende de la velocidad de la conexión a Internet y otros factores. También intenté crear mi propia red, pero las computadoras se desconectaban constantemente y esto era más molesto que útil. (Aprenda y sea rentable con nuestro artículo Todo lo que necesita saber Martingala en Forex)

Y una observación más con respecto a MT5. Las pruebas en la quinta plataforma son muy similares a las pruebas de la cuarta, pero siempre resultan ser bastante mejores que en MT4. Lo más probable es que el asunto esté en las cotizaciones, que son ligeramente diferentes.

Problemas comÚnes

El antiguo mql4 era un lenguaje muy simple en la era posible entenderla a la perfección en una semana o un poquito más. En el último año, se agregaron muchos cambios a mql4, lo que lo acercó lo más posible a la versión 5, en particular, el soporte para muchos elementos de la programación orientada a objetos, como clases, encapsulación, sucesiones, polimorfismo, sobrecarga y clases abstractas. Y, sin embargo, mql4 y mql5 tienen capacidades inferiores a las de un lenguaje de programación independiente. (Conozca los algoritmo y otras reglas diferentes para establecer los stop losses en Todo lo que necesita saber sobre el Stop Loss)

¿Qué sucede en el comprobador en sí mismo durante las pruebas y la optimización, qué obstaculiza tanto todo el proceso? No lo sé. Nadie lo sabe, excepto los programadores que escribieron el terminal, porque el código está cerrado y es imposible ver cómo se calcula todo allí. Al mismo tiempo, en el caso de un probador de autoescritura, sé exactamente qué está sucediendo, qué viene y cómo se calcula. Y lo más importante, qué tan fiable es mi backtest. (¿Alguna vez ha pensado en vivir del trading? Descubra ¿Qué hará el bróker si empiezo a ganar dinero del trading de manera estable?)

Otra desventaja que surge del anterior es el algoritmo de optimización cerrado. Hay muchas maneras diferentes de optimizar los parámetros del asesor. Y si hay muchos parámetros diferentes que desea optimizar, entonces, puede crear un parámetro personalizado que se mostrará en la tabla "resultados de optimización" agregando varias líneas de código al experto. Pero para optimizarlo no funcionará. (Sepa con detalle ¿Qué hará el bróker si empiezo a ganar dinero del trading de manera estable?)

El inconveniente más triste de los terminales MT4 y MT5 es que no se pueden realizar pruebas en varios instrumentos para obtener un informe resumido sobre la cartera de asesores comerciales. Por lo tanto, debe utilizar un software de terceros, como el Report Manager o SQ EA Analyzer. A pesar de que el primer programa es gratuito, recomiendo comprar la segunda opción debido a las características mucho más amplias y necesarias. (Sepa Cómo no pertenecer al 95% de los traders perdedores)

Ambos terminales usan solo un flujo de cotizaciones, solo Bid. En este caso, las cotizaciones Ask se calculan en función del margen especificado (Bid + Spread). Y resulta que el gráfico de precios de Ask coincide completamente con el gráfico de precios Bid, que en realidad, por supuesto, está lejos de serlo. El spread está cambiando constantemente, y si observa el gráfico de tic en la plataforma de trading, verá que los gráficos de bid y ask no siempre se ven uno a uno. Esta es otra simplificación. ¿A qué conduce esto? Bueno, por ejemplo, para los asesores que negocian en un timeframe de H1 y superior, un par de puntos de error en unos 15 años dará una inexactitud del beneficio total en un valor comprendido entre el 3-10%, medianamente tolerable. Pero para los scalpers, esta imprecisión puede dar como resultado un error de hasta el 50%. Tal situación también es peligrosa para los asesores que operan con órdenes pendientes. El spread fijo lleva al hecho de que los resultados de las pruebas de dichos asesores están muy lejos de la realidad, porque, por ejemplo, se puede pasar por alto una transacción perdida en una prueba, y en la vida real estará presente, ya que el spread exactamente en ese momento fue de 3 puntos, y no 2, según lo establecido para la prueba. O viceversa, muchos trades rentables en el probador no podrían ocurrir en la realidad. (Price Action: Cómo operar un rebote en un nivel importante)

Otro inconveniente no muy serio, pero que aún afecta a la precisión de la prueba, es el cálculo del costo de un punto para los cruces, que se calcula mediante la siguiente fórmula: Precio del punto=volumen de la posición*tamaño en puntos*cotización actual de la moneda base en relación con el USD/tasa actual del par de divisas (tasa cruzada). El probador toma hoy las cotizaciones de la moneda base y la tasa del par y este valor se usa a lo largo de toda la prueba. Pero después de todo, hace 20 o incluso 5 años, ambos precios eran diferentes y, en consecuencia, el costo del punto también era diferente. Este no es un inconveniente tan terrible: si el bot hace perder la cuenta, la cuenta será perdida con cualquier valor de puntos. En este caso, es solo que los resultados finales de la prueba son inexactos. (Conozca Cómo operar el oro (XAU/USD) con éxito y de manera rentable)

Aproximadamente ocurre lo mismo si su cuenta no se abre en USD, pero, por ejemplo, sí lo hace en EUR. Supongamos que está probando un asesor en un par de usdchf y un probador para calcular el costo de un punto tomará la tasa actual del eurusd y eurchf. Naturalmente, tal prueba también tendrá un error, ya que estas cotizaciones también cambian con el tiempo.

Justo arriba, mencioné el programa EA Analyzer. Proporciona una serie de diferentes pruebas de estrés diseñadas para ayudarlo a evaluar mejor las consecuencias de usar a sus asesores en una cuenta real. Por ejemplo, una simulación de Monte Carlo le permitirá, con cierto grado de probabilidad, evaluar el peor escenario del trabajo del asesor y, si se siente cómodo con usted, ponerse a trabajar ya. En las plataformas profesionales, esta prueba de estrés está integrada, al igual que muchas otras, por ejemplo, las pruebas de robustez de la configuración del asesor, la dependencia del bróker o la dependencia del spread. En el último artículo dije que los robots no predicen el futuro, solo podemos, con base en las pruebas, obtener cierta probabilidad de que el asesor nos brinde ganancias. Las pruebas de estrés son herramientas muy importantes para el trabajo, ya que cuanto más minuciosamente verifica el robot, mayor es la probabilidad de que funcione tan bien como funcionó en los datos históricos. (Sepa ¿Cómo operan los principales bancos mundiales en el mercado Forex?)

Otro factor que afecta a la precisión de la prueba es el valor del swap. En el probador MT4 y MT5, el valor actual del swap se toma para toda la prueba, aunque en el trading en real en sí mismo siempre se está cambiando. Y casi varias veces al año. Es divertido, pero con diferentes brókers, el valor de los swaps para la misma herramienta puede ser completamente diferente. Por ejemplo, en el bróker RoboMarkets en este momento, en la cotización para el par usdchf para cortos es de -2.5 puntos y para compras de -1.4 puntos. Al mismo tiempo, para Forex4you, estas cifras son -5.5 y +2.4 puntos. En caso de que la prueba la realice un scalper nocturno, el swap puede jugar un papel decisivo tanto en la rentabilidad del backtest como en el comercio mismo. Al mismo tiempo, no podrá evaluar de manera realista el impacto del valor del swap en la operación (no puede establecer este valor o incluso cambiar este valor durante el proceso de prueba), se toma directamente de los datos del bróker, cuya cuenta está actualmente activa en el terminal. (Respondemos a la pregunta ¿Cuáles son los mejores brókers de Forex para ganar dinero con el social trading?)

Como puede ver, una gran cantidad de pequeñas cosas resueltas literalmente por un par de líneas de código (bueno, lo mismo no es por un par, pero sí por poco), pero aún sigue sin solucionarse del todo. Y todos juntos, estas pequeñas cosas dificultan el trabajo con el terminal, y en el caso del MT5, lo hacen imposible. El hecho es que los usuarios finales de la terminal no somos ni usted ni yo, es decir, los verdaderos clientes de MetaQuotes son los brókers que utilizan su plataforma, que en principio van de manera paralela a las necesidades de los traders normales y corrientes. (Revelamos el secreto que esconden los bonos de los brókers de Forex: Cómo identificar un bono real)

Y finalmente, discutamos el uso del tiempo en la plataforma MT4. En el lenguaje mql, hay muchas funciones que utilizan el tiempo en relación con los precios de una vela en particular, por ejemplo, Open[1] o High[7]. En la mayoría de los casos, al escribir algoritmos de trading, de alguna manera usamos estos datos. Al mismo tiempo, estos datos no están vinculados a un tiempo específico del bróker, sino que están vinculados a nuevos ticks. Supongamos que usamos el período H1. Cuando llega una nueva hora, si no hay marcas en este momento, aparece una nueva vela como un guión hasta que comienzan a llegar nuevas señales. Al mismo tiempo, la hora ya ha cambiado, pero hasta ahora no hay nuevos tics, el mismo Close[1] se convierte en Close[2]. Es decir, en realidad, resulta que si el asesor utiliza la hora en forma de Hour() y recibe precios de las velas usando Close[1], Open[1], High[1] y Low[1], recibirá una señal a la hora deseada, pero los precios de OHLC en este momento no se actualizarán aún, ya que las nuevas marcas aún no han llegado, es decir, los precios para la barra 1 serán en realidad los precios para la segunda barra. Por lo tanto, en este caso, es necesario que el algoritmo espere a que aparezcan los primeros tics de la nueva vela. Tenga en cuenta que esto se aplica solo a los asesores que utilizan un tiempo de entrada específico y cálculos de precios. Si no se utilizan las velas de entrada, tal error no ocurrirá. (Estrategia de trading: Las ondas de Wolfe para operar con éxito en el mercado Forex)

¿Así qué elegir? ¿Una plataforma dependiente o independiente?

Para aquellos operadores interesados ​​en desarrollar sistemas de comercio de scalping que operen en períodos de hasta M5, MetaTrader definitivamente no es adecuado. Incluso utilizando el 99% de la calidad de la simulación, los resultados seguirán siendo muy diferentes de los reales (aunque se puede lograr una similitud menor). De hecho, en el terminal MT4 es bastante fácil hacer un grial, pero en realidad es muy probable que no funcione. Cualquier aspecto del mercado ignorado durante la prueba puede llevar a resultados de prueba cardinalmente opuestos. (Es hora de pasar a MetaTrader 5: Las características principales de MT5)

No quiero decir que no es realista crear una estrategia de scalping que sea rentable a largo plazo en MT4. Es más difícil hacer esto que, digamos, una estrategia de largo plazo rentable. Por lo tanto, si está poco familiarizado con el comercio algorítmico, recomiendo comenzar a crear asesores para trabajar en períodos no inferiores a H1, y solo tratar de crear una cartera de scalpers rentables.

Es importante comprender que las plataformas de trading como MetaTrader, MetaStock, TradeStation, NinjaTrader, y otras no son plataformas profesionales. Cada una de estas plataformas contiene sus propias limitaciones, y el código fuente cerrado lleva al hecho de que no todas estas limitaciones son fáciles de detectar. En general, la primera idea que se le ocurre a un trader que desea utilizar asesores para el trading es utilizar una plataforma de trading, una de las anteriores, por ejemplo. Ya proporciona todo: pruebas, optimización y trading. Todo es cómodo y simple, en un solo paquete. Pero tal decisión hace que el trader dependa de la plataforma elegida y sus desarrolladores, de qué funcionalidad desean agregar los autores y qué no, así como de los errores e imprecisiones que han cometido en el desarrollo, muchos de los cuales no se pueden resolver. Al mismo tiempo, las plataformas comerciales le dan al trader alguna funcionalidad básica. Pero si desea realizar transacciones o negociaciones de alta frecuencia, por ejemplo, dichas plataformas ya no funcionarán para usted. (Gane dinero en Forex utilizando el indicador Momentum en su operativa, así de simple y así de claro)

Una solución independiente es la que usted desarrolla personalmente. Todas las funciones que necesita, la precisión de las pruebas, el número de opciones de optimización, las diversas pruebas de esfuerzo, la velocidad de ejecución y otras ventajas dependen de usted personalmente. Puede elegir por sí mismo qué API de proveedor de liquidez elegir, a la vez que es independiente del bróker y sus manipulaciones con el flujo de precios. Esta solución tiene posibilidades ilimitadas y está limitada solo por su imaginación y conocimiento. Es una solución independiente que eligen los traders profesionales algorítmicos. (Conozca más a fondo el Indicador Harmonic Panel - El indicador de Forex que encuentra patrones armónicos)

Después de todo, cuando se conecta directamente con un proveedor de liquidez, se libera de inmediato de la vinculación a una plataforma lenta, ineficiente e imperfecta, de los brókers que manipulan los precios y la ejecución de sus órdenes, de restringir varios tipos de estrategias que son simplemente imposibles de implementar utilizando plataformas comerciales habituales. Sin embargo, este enfoque no es para todos, ya que, para escribir una buena plataforma para el trabajo, necesita tener una gran cantidad de conocimientos, una experiencia de programación seria y un montón de tiempo. Como regla general, para el desarrollo de plataformas de este tipo, se contrata a todo un equipo de programadores, que ejecutan sus planes en un tiempo bastante corto. Todo esto requiere mucho tiempo y conocimiento, o mucho dinero. (¿Es rentable un sistema de trading basado en medias móviles? ¡Lo comprobamos!)

Conclusión

Bueno, mientras que no tenga, al menos, diez millones de dólares en su cuenta (a partir de este umbral, no encontrará a ningún solo trader que usa una plataforma convencional de trading para operar), no hay nada de malo en usar una plataforma preparada, como MetaTrader 4. Solo es importante recordar siempre sus limitaciones, tenerlas en cuenta en su trabajo y estar atentos, criticando los resultados obtenidos en el probador. Opere de tal manera como su terminal le permita y trate de crear asesores con "inmunidad" a sus deficiencias, utilice programas de terceros para minimizar los defectos de la plataforma o terminal comercial, como TickDataSuite y SQ EA Analyzer, y luego, incluso utilizando un producto imperfecto como MT4, obtendrá no pocas ganancias del mercado. (Conozca la Aplicación del Open Interest o Interes Abierto en el trading en Forex. Usos y estrategias)

Para finalizar, os dejamos un vídeo donde aprenderá a realizar Backtesting de una manera muy sencilla en tu plataforma de operaciones Meta Trader 4.

¿Le gustó este artículo?
5 (1)


     
 
Divulgación de riesgos: La CNMV informa que invertir en CFDs supone un riesgo elevado. Los CFDs son un producto financiero complejo, por lo que no es recomendable para inversores minoristas. Del 74% al 89% de inversores minoristas que operan con CFDs pierden dinero. Antes de operar con productos CFDs debe considerar primero si comprende el funcionamiento de los CFDs y tiene capital suficiente para asumir el alto riesgo de perder su capital.
Si le gusta nuestro trabajo, haga clic en "Me gusta" en Facebook