Backtest Reality Check
- Utilidades
- Versión: 1.0
- Activaciones: 10
Backtest Reality Check
Una utilidad para MetaTrader 5 que lee el informe del probador de estrategias, mide lo que ese informe contiene y después mide, con la misma función, lo que el Asesor Experto que lo generó hizo realmente en la cuenta, para poner ambos resultados uno al lado del otro. Mientras en real no se hayan cerrado al menos 30 operaciones, la distancia entre ambas columnas se ve en el panel, pero la utilidad no la llama diferencia: no se oculta nada y aun así el panel indica que los datos todavía no alcanzan para tanto. No opera: no abre, no modifica ni cierra ninguna posición y tampoco envía ninguna orden.
¿Qué significa una marca?
Algunas comprobaciones tienen un límite, y la marca que aparece junto a ellas significa solo que ese valor está por encima del límite escrito a su derecha: aquí no se afirma nada sobre si un Asesor Experto está bien o mal hecho, y tampoco se puede decir a qué se debe un número así, porque un ajuste excesivo a los datos históricos, un cambio de mercado, otro bróker o el simple azar dejan huellas parecidas.
El informe frente a la cuenta
La pestaña Live vs Report reúne las cifras del informe y las de la cuenta en columnas contiguas.
Manual (0) Link Unlink
Report: GridBot_EURUSD_M15.htm
Report Live Diff
Trades 28 140 -
Win rate 67.86% 41.43% -26.4 pt
Profit factor 3.50 1.64 -1.86
Expected payoff 32.14 7.16 -24.99 0.22x
Avg win 66.32 44.14 -22.18
Avg loss -40.00 -19.00 +21.00
Max drawdown 0.40% 0.38% -0.0 pt
Avg holding time 5.9 h 4.9 h -0.9 h
Trades per week 5.64 5.52 -0.12 0.98x
Avg lot 0.10 0.10 -0.00
Win rate differs from the report by -26.4 pt over 140 trades
La utilidad reconstruye primero las operaciones de la cuenta con la misma estructura con la que leyó el informe y solo entonces las pasa por la función de medición, que es una sola y vale para las dos columnas. No son dos cálculos escritos por separado, de modo que las dos columnas solo pueden divergir si se modifica la función que comparten. La fila Trades es la única que deja vacía la casilla de la derecha, porque un backtest que abarca meses y una cuenta real de unas pocas semanas no tienen por qué acumular el mismo número de operaciones y restar ambas cifras no diría nada. Cuando se comparan dos porcentajes, la distancia se da en puntos porcentuales, ya que un porcentaje de otro porcentaje significaría otra cosa. No hay nada que configurar para que aparezcan los Asesores Expertos: el número mágico registrado en el historial de la cuenta se detecta automáticamente y cada Asesor Experto ocupa su propia fila. El panel agrupa bajo Manual (0) las operaciones que llegan sin número mágico, porque, vistas desde fuera, una orden lanzada a mano y la de un Asesor Experto sin número mágico son indistinguibles.
¿Y cuando todavía no hay operaciones suficientes?
Not enough live trades yet (18 of 30)
Win rate 50.00% vs 67.86% - with 18 trades, a gap this size can occur by chance
Mientras la cuenta no llegue a 30 operaciones cerradas, las cifras se muestran en gris - las columnas Report y Live además de Diff - y el panel muestra esa frase en vez de tratar ese desfase como un resultado. La utilidad tampoco esconde esa distancia, porque esconderla sería otra forma de faltar a la verdad: se muestra, pero no se presenta como una diferencia. La fila Win rate se trata aparte, no por si está por encima de un límite, sino por si la distancia cabe dentro de lo que el azar puede producir por sí solo. La utilidad toma el porcentaje del lado del informe y el número de operaciones cerradas en real, calcula el error estándar y traza alrededor de la cifra del informe una banda de 1,96 errores estándar a cada lado. Los dos paneles reproducidos aquí toman como referencia el mismo informe, así que lo único que mueve el ancho de esa banda es el número de operaciones hechas en la cuenta. Cuando hay menos operaciones, la banda resulta más ancha que la distancia y el panel indica que un hueco así puede darse por azar; cuando hay más, la banda se estrecha, el panel deja de mostrar esa frase y se limita a enunciar la distancia. Reconocer que todavía no se puede afirmar nada es parte de lo que hace esta utilidad: una herramienta que siempre tiene una respuesta preparada no está midiendo nada.
¿Dónde va el informe?
Cuando se guarda el informe del probador de estrategias, el terminal abre un diálogo que ofrece HTML y XML sin ninguno preseleccionado: hay que elegir HTML, porque es el único formato que esta versión lee. Lo que el terminal guarda como XML no es un archivo de texto, sino una hoja de cálculo comprimida. En lugar de descartarlo sin avisar, la utilidad indica en el panel el nombre de ese archivo y pide que se vuelva a guardar como HTML. La utilidad crea la carpeta MQL5\Files\BacktestRealityCheck\reports al iniciarse, y cuando está vacía el panel muestra la ruta absoluta donde hay que dejar los informes.
¿Qué se lee y qué no sale del equipo?
Las cifras se toman del detalle de operaciones del informe y no de las etiquetas de las cabeceras, así que un informe guardado en un terminal configurado en cualquier idioma da los mismos números: se puede comprobar a mano exportando el mismo backtest dos veces con el terminal en dos idiomas distintos y leyendo los dos archivos. El archivo se lee en el propio equipo y nada se envía a ningún sitio, en ningún momento.
Lo que no hace
- No interviene en la cuenta: no ejecuta ninguna acción sobre las posiciones ni arranca ni detiene ningún Asesor Experto.
- Está pensada para cuentas de cobertura: en una cuenta de compensación las posiciones se consolidan en una sola y las cifras de cada Asesor Experto pueden quedar mezcladas.
La versión demo gratuita
Sample data - not a real report
La demo funciona dentro del probador de estrategias e incluye sus propios datos, de modo que el panel aparece con contenido desde el primer segundo en vez de abrirse vacío. El aviso Sample data - not a real report permanece en el panel de principio a fin, no solo al arrancar, y la misma frase queda escrita en el diario del terminal; en un gráfico real ese aviso no aparece nunca.
Parámetros y requisitos
InpReportFolder InpUseCommonFolder InpRescanSeconds InpMinTradesForStats
InpFlagTopTradeShare InpFlagEquityR2 InpFlagMinTrades InpIncludeSwapCommission
InpHistoryDays InpPanelX InpPanelY InpFontSize InpShowTesterSelfDemo
Los parámetros son trece —esos y ninguno más— y todos vienen con un valor predeterminado que sirve tal cual. Hacen falta MetaTrader 5, un gráfico libre donde colocar la utilidad y una cuenta de cobertura. Una comprobación automática realizada antes de publicar la utilidad confirma que en el código no hay ni una sola llamada a funciones de trading, ni una sola biblioteca DLL importada ni una sola petición a la red. Las cifras del panel se calculan sobre operaciones ya cerradas: las del informe y las que constan en el historial de la cuenta, y no anticipan nada de lo que pueda ocurrir después ni prometen resultado alguno; operar conlleva riesgo de pérdida y conviene probar cualquier herramienta en una cuenta demo antes de llevarla a una cuenta real.
