Saltar al contenido
· auditoría

Guía · MetaTrader 5

Cómo sacar tus datos de MT5

Tu código no sale de tu ordenador en ningún momento. No nos lo mandas, no lo vemos y no lo ejecutamos nosotros. Lo que recibimos es un fichero con números.

Si ya te manejas con MT5, aquí está todo en cuatro líneas
  1. Nivel 1: clic derecho en la pestaña de resultados del Probador → guardar el informe.
  2. Nivel 2: los .opt de Tester\cache, si alguna vez optimizaste.
  3. Nivel 3: copia Botospy.mqh en MQL5\Include, añade #include <Botospy.mqh> arriba de tu .mq5 y recompila.
  4. Lanza una optimización completa (lenta), nunca la genética, con 2-3 parámetros y entre 30 y 150 combinaciones en total.
  5. Al terminar, mándanos MQL5\Files\botospy_matrix.csv.

Y antes de nada: si tu bot escribe algún fichero mientras opera, haz una copia. En una optimización se ejecuta cientos de veces y lo va pisando.

Antes de empezar: una copia de seguridad

Piensa un momento si tu bot escribe algún fichero mientras opera: un registro de operaciones, un CSV, un informe. Si es así, haz una copia antes de seguir.

El motivo no es obvio: en una optimización tu bot no se ejecuta una vez, se ejecuta cientos. Si siempre escribe en el mismo sitio, cada ejecución pisa a la anterior, y acabas con el fichero de la última combinación probada — que no es la configuración que tú usas.

Nos pasó con nuestro propio bot. Perdimos el fichero de referencia y hubo que regenerarlo. Por eso está aquí arriba y no en una nota al final.

Nivel 1 — El informe que ya tienes

Si solo quieres saber qué podemos medirte, con esto basta para empezar. No hay que tocar nada del bot.

Abre el Probador de Estrategias

Menú Ver → Probador de estrategias, o el atajoCtrl+R. Se abre un panel en la parte de abajo: ahí vive todo lo que viene después, también en los niveles siguientes.

De paso fíjate en Símbolos, unas líneas más arriba de ese mismo menú. Lo necesitarás al final, para el histórico de precios.

El menú Ver con la opción del Probador de estrategias resaltada

Manda el informe que ya tengas guardado

Si ya has guardado alguna vez el informe de un backtest, ese fichero nos vale: lleva el resumen y la lista de operaciones, que es todo lo que necesita el nivel 1.

¿No lo tienes guardado y no encuentras cómo?Escríbenos y lo vemos contigo. La ruta exacta cambia entre versiones de MT5, y preferimos no ponerte aquí unos clics que quizá no coincidan con tu pantalla — si acabas dando vueltas por menús que no existen, la guía te está estorbando en vez de ayudarte.

Y si te resulta más cómodo, sáltate este nivel: con la matriz de optimización del nivel 3 tenemos bastante más, y esa sí está documentada aquí paso a paso.

Nivel 2 — El fichero que tu MT5 ya generó solo

Si alguna vez has optimizado tu bot, MT5 guardó el resultado de todas las pasadas sin que tú hicieras nada. Ese fichero es valioso para nosotros y no te cuesta ningún trabajo: solo hay que ir a buscarlo.

Con él calculamos cuántas veces buscaste de verdad y corregimos tu Sharpe por esa búsqueda. Es la diferencia entre creerte un buen resultado y saber cuánto de él es mérito.

Ve a la carpeta de datos

Menú Archivo → Abrir carpeta de datos, igual que antes. Pero esta vez, en lugar de entrar en MQL5, entra en la carpeta Tester y dentro en cache.

El menú Archivo de MT5 con la opción «Abrir carpeta de datos»

Coge los ficheros .opt

Ahí dentro hay ficheros con extensión .opt. Cada uno corresponde a una optimización que lanzaste en su día.

Mándanos el que corresponda al bot y al periodo que estás auditando. Si no sabes cuál es, mándanos los que haya y ya los identificamos nosotros: llevan dentro el nombre del experto.

¿No hay ninguno? Entonces nunca has optimizado ese bot en este ordenador, y este nivel no aplica. Pasa directamente al nivel 3, que además da más información.

Nivel 3 — La matriz de optimización

Esto es lo que desbloquea la prueba de sobreoptimización, que es la que de verdad distingue una estrategia de una casualidad bien elegida. Unos diez minutos de preparación; luego corre sola.

Pon nuestro fichero en su sitio

Te enviamos un fichero llamado Botospy.mqh. La carpeta de MT5 está escondida en un sitio raro de Windows, así que no la busques a mano: el propio MT5 te la abre.

  1. Menú Archivo → Abrir carpeta de datos
  2. Entra en la carpeta MQL5
  3. Dentro, entra en Include
  4. Pega ahí Botospy.mqh
1El menú Archivo de MT5 con la opción «Abrir carpeta de datos»
2La carpeta de datos abierta, con una flecha señalando MQL5
3Dentro de MQL5: flechas señalando las carpetas Files e Include

Añade una línea a tu bot

Abre MetaEditor (viene con MT5: menúHerramientas, o la tecla F4) y carga el .mq5 de tu bot.

Arriba del todo verás un bloque de líneas que empiezan por#include. Añade la nuestra al final de ese bloque:

#include <Botospy.mqh>

Guarda y compila. Si compila sin errores, listo.

La cabecera de un .mq5 en MetaEditor, con la línea #include añadida entre las demás

Prepara la optimización

En el Probador, pestaña Configuración. De toda esa pantalla solo tienes que tocar cuatro campos; el resto puedes dejarlo como esté.

  1. Tu bot. En Experto eliges el archivo de tu robot, el mismo con el que trabajas siempre.
  2. Todo tu periodo. En Intervalo, las fechas completas que usaste al desarrollarlo — no un trozo. Si acortas el periodo estás decidiendo tú qué parte de tu historial se audita, y eso es justo lo que no queremos.
  3. Ticks reales. En Modelado, la opción de máximo detalle. Los modos rápidos se inventan cómo se movió el precio dentro de cada vela, y ese invento siempre favorece al resultado: se saltan stops que en la realidad sí habrían saltado. Es la diferencia entre una prueba y una ilusión.
  4. Tu capital real. En Depósito inicial, el dinero con el que piensas operar de verdad. No es un detalle: la pérdida máxima en porcentaje se calcula sobre esa cifra, así que un depósito inventado te devuelve un riesgo inventado.

Lo único que no puedes elegir a tu gusto: entre las fichas de modo verás «Optimización genética» junto a «Optimización completa». La genética suena mejor porque es mucho más rápida. No la elijas. Es rápida precisamente porque se salta combinaciones: va descartando caminos que no le convencen. Y nosotros necesitamos verlastodas, también las malas — son justo las que dicen si tu bot aguanta. Elige «Optimización completa», aunque tarde más.

Con esto la prueba ya está configurada. El botónEmpezar está abajo a la derecha del panel — pero no lo pulses todavía: antes hay que elegir qué parámetros probar, que es el paso siguiente.

1La pestaña Configuración del Probador: experto, símbolo, fechas y modelado
2Las fichas de modo: «Optimización completa» frente a «Optimización genética»

Elige qué parámetros probar

Pestaña Parámetros de entrada. A la izquierda de cada fila hay una casilla; marcarla significa «prueba varios valores de este», y activa tres columnas: el valor más bajo, de cuánto en cuánto sube, y el más alto. La última columna te dice cuántos valores saldrán.

Marca dos o tres parámetros, no más. Lo que importa es el total de combinaciones: multiplica los «pasos» de todos los que hayas marcado.

Total de combinaciones¿Sirve?
Menos de 20Se queda corto
Entre 30 y 150Perfecto
Más de 300No aporta más y tardas muchísimo

¿Los nombres no se parecen a nada de lo que te hemos dicho? Es normal y tiene solución. Sigue leyendo justo debajo.

La pestaña de parámetros de entrada con dos casillas marcadas y las columnas Empezar, Paso, Detener y Pasos

Si los nombres no coinciden, no te estás equivocando

Estas dos imágenes son la misma pantalla, solo movida con la rueda del ratón. Arriba los parámetros aparecen comoInpVerbose o InpTB_TP1_Mult. Abajo, como «Max VolExp simultáneos» o «% caída desde pico».

Los parámetros mostrados con su nombre técnico en inglésLa misma lista, más abajo, mostrando los nombres en español

No es un fallo tuyo ni nuestro: cuando el autor del bot escribe un comentario junto a un parámetro, MT5 muestra el comentario y esconde el nombre real. Y como cada bot lo escribe en su idioma —muchos vienen en ruso o en inglés—, lo que ves en tu pantalla puede no parecerse a nada.

Por eso nunca te diremos «marca InpEntryZ»: ese texto puede no existir en ninguna parte de tu pantalla. Te diremos dónde está.

El truco de los treinta segundos

Y si aun así necesitas los nombres de verdad, hay una forma de sacarlos todos de golpe:

  1. Sitúate sobre la columna Variable.
  2. Pulsa Ctrl+C. Ojo: no hay opción «Copiar» en el menú del botón derecho, tiene que ser el atajo.
  3. Abre el Bloc de notas y pega con Ctrl+V.
El Bloc de notas con todos los parámetros pegados, mostrando los nombres reales en inglés

Salen todos los nombres reales, y de propina el rango completo de cada uno:

nombre = valor || empezar || paso || fin || ¿marcado?

Así que de un vistazo ves también qué parámetros están marcados para optimizar: son los que acaban en Y. Es la forma más rápida de comprobar que has marcado lo que querías antes de lanzar una optimización de varias horas.

Lánzala y mira los primeros diez minutos

Pulsa Empezar. No hace falta que la vigiles entera, pero quédate los primeros diez minutos.

El fallo que más aparece es un error de espacio en disco, y siempre al arrancar: MT5 prepara los datos de precios en todos los núcleos a la vez y ocupa bastante de golpe. Si lo ves, párala, haz sitio y vuelve a lanzarla. Si pasan diez minutos y va bien, ya puedes dejarla sola.

La optimización en marcha, con la barra de progreso y los agentes trabajando

Mándanos el fichero

Al terminar, vuelve a Archivo → Abrir carpeta de datos, entra en MQL5 y esta vez en Files. Ahí estará:

botospy_matrix.csv

Ese es el que necesitamos. Del resto nos encargamos nosotros.

La carpeta MQL5 → Files con botospy_matrix.csv dentro

Aparte: el histórico de precios de tu instrumento

Esto no es un nivel más ni depende de los anteriores: se puede mandar junto a cualquiera de ellos, y es un fichero que tu MT5 ya tiene.

Con él comprobamos algo que ninguna otra prueba puede: si los precios a los que tu bot dice haber entrado existieron de verdad en ese momento. Cogemos cada operación y miramos qué llegó a cotizarse esa hora. Si un precio queda fuera de lo que el mercado registró, esa operación no pudo ejecutarse como se declara.

Es el único hallazgo que no admite discusión, porque no es nuestro análisis contra tu plataforma: es tu informe contra los precios que registró el mercado.

Exporta las barras de tu instrumento

Menú Ver → Símbolos (o Ctrl+U), busca el instrumento con el que opera tu bot y entra en la pestañaBarras.

  1. Elige el mismo marco temporal que usa tu bot (H1, M15…). No cojas M1 «por si acaso»: son millones de filas y no aportan nada si tu bot opera en otra escala.
  2. Pon las mismas fechas que cubre tu backtest.
  3. Pulsa Solicitar. Hasta que no lo pulses la tabla aparece vacía — no es que hayas hecho algo mal.
  4. Con la tabla ya cargada, usa el botón de exportar para guardarla en un fichero.

Sale un fichero de texto de varios megas. Es normal.

El diálogo de Símbolos, pestaña Barras, con XAUUSD en H1 y 36.930 barras cargadas

Comprueba que es del mismo bróker

Ábrelo con el Bloc de notas para confirmar que tiene buena pinta: una cabecera con <DATE>, <TIME>,<OPEN>, <HIGH>,<LOW> y <CLOSE>, y debajo una fila por cada hora.

Importante: tiene que ser del bróker con el que hiciste el backtest. Los precios difieren entre brókeres, y si no coinciden lo detectamos y te lo decimos en vez de darte un resultado equivocado.

Lo mismo con la hora: si tu histórico viene de otro servidor con otro huso, lo detectamos y lo corregimos solos. No tienes que hacer nada.

Las primeras filas del fichero exportado, con las columnas DATE, TIME, OPEN, HIGH, LOW y CLOSE

Qué le estás mandando exactamente

Es normal querer saberlo antes de enviar nada. El fichero llevauna fila por cada combinación que probaste: el resultado mes a mes de esa combinación y los valores numéricos de los parámetros que usó.

No lleva tu código, ni tu lógica de entrada, ni nada que permita reconstruir cómo decide tu bot. Son números de resultado.

Mandar el ficheroOtras plataformas