En este artículo vamos a ver una opción muy interesante de metatrader como son las optimizaciones, las cuales nos permiten conseguir la mejor combinación de parámetros para nuestro robot.
Si no viste el artículo anterior y no sabes cómo realizar un backtest en mt4, te animo que lo leas antes de seguir para que puedas entender el funcionamiento de las optimizaciones.
Cuando realizamos un backtest lo que estamos haciendo es comprobando el funcionamiento del robot en el pasado para una sola combinación de parámetros, cuando optimizamos podemos hacer esto mismo pero para muchas combinaciones de parámetros a la vez, lo que nos permite ahorrar mucho tiempo en nuestro trabajo por sacar la mejor combinación de parámetros posibles.
¿Cómo hacer una optimización?
Al igual que para realizar un backtest para realizar una optimización iremos al menú superior Ver->Probador de estrategias o con la combinación de teclas Ctrl+R.
Seleccionamos el EA con el que vamos a trabajar, el símbolo, el tipo de modelo de datos, las fechas de inicio y fin de la prueba, time frame y spread, y además de todo esto activamos el check de optimización, como se muestra en la imagen.
El siguiente paso es ir a Propiedades del Experto y Parámetros de entrada:
Como podemos ver tenemos 4 columnas, la primera de ellas Valor se tendrá en cuenta para los parámetros que no vamos a optimizar, y Start, Paso y Stop para los parámetros a optimizar.
Lo primero es seleccionar el/los parámetro/s que vamos a optimizar, marcando la casilla que sale a la izquierda del nombre del parámetro, como se muestra en la imagen. En nuestro caso vamos a coger solamente el primero “Take Profit”. Queremos probar cómo se comporta el EA con un take profit de 50, 55, 60, 65… así hasta 100 quedando:
De esta forma haremos de golpe 11 backtest donde los valores de Lots, TrailingStop, MACDOpenLevel, MACDCloseLevel y MATrendPeriod se cogerán de la columna valor, y el resto como hemos indicado anteriormente.
- TakeProfit=50.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=55.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=60.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=65.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=70.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=75.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=80.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=85.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=90.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=95.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
- TakeProfit=100.0, Lots=0.1, TrailingStop=30.0, MACDOpenLevel=3.0, MACDCloseLeve=2.0, MATrendPeriod=26.
Nota: Por supuesto, podemos seleccionar tantos parámetros como tenga el EA y tantas combinaciones como se nos ocurra. Decir, que cuantas más combinaciones más tardará en hacer la optimización, sin darnos cuenta podemos irnos a millones de combinaciones y por tanto el tiempo de procesamiento se puede ir a años incluso, sobre todo si usamos el modelo de datos de cada tick.
Una vez hecho todo esto, simplemente le damos a aceptar, e iniciar.
Como podemos ver en la imagen se han hecho 11 de 11 test en 1 segundos. Ha sido tan rápida porque solamente eran 11 combinaciones, para 10 días de histórico y para un EA muy básico.
Si nos fijamos en la parte inferior, tenemos una pestaña de “Resultados de optimización” que nos muestra el resultado para cada una de las combinaciones.
Aquí vemos el resultado de cada combinación, donde vemos que la que mejor se ha comportado en nuestro caso es en la que el take profit es igual 100.
Con esto suficiente para hacer tus primeras optimizaciones, en el próximo artículo explicaremos algún concepto más muy importante para cuando queremos hacer optimizaciones con miles/millones de combinaciones y no morir en el intento.
Espero te haya ayudado, si tienes cualquier pregunta no dudes en dejarnos un mensaje en los comentarios, estaremos encantados de ayudarte.
Si ya tienes una estrategia que operas en manual y quieres automatizarla ponte en contacto con nosotros para que te hagamos un presupuesto sin compromiso.