Diario de trading — hoja, estadísticas y revisión

Guía completa de hoja del diario en unos 20 minutos (orientativo para quien conoce hojas; primera importación y verificación puede tardar más): 26 columnas técnicas coherentes con el artículo 15.9, fórmulas por fila y panel de nueve métricas en dos variantes (Excel polaco e inglés; ajustes cloud abajo), más CSV inicial generado en navegador. Descargue XLSX preparado o construya con instrucciones completas. Conocer fórmulas ayuda a entenderlas y corregirlas; con columnas comunes, CSV con separador, codificación y fechas correctos funciona con S1–S3 del complemento I y el script del prompt P5; auditorías P6–P7 necesitan dos columnas adicionales (abajo).

Hoja del diario con estadísticas automáticas: ejecución prevista y real, fórmulas de acierto, factor de beneficio y esperanza y panel de métricas
Lo esencial en 60 segundos
  • 26 columnas en cinco grupos: identificación, contexto, plan frente a ejecución, costes y resultados, proceso; fórmulas solo donde se derivan cifras (slippage, r_net, execution_drag)
  • Panel de nueve fórmulas: operaciones, acierto, factor de beneficio, esperanza, R total, drawdown máximo R, MAE/MFE medio y ejecución limpia; resultados desde r_net y proceso desde otras columnas; alcance MAE/MFE abajo
  • Dos variantes de fórmulas: Excel PL (ŚREDNIA, LICZ.JEŻELI, punto y coma) y EN (AVERAGE, COUNTIF, comas), con selector y copia por bloque
  • Las métricas describen la muestra desde la primera entrada: unas 50 operaciones son punto de revisión de ejemplo, no mínimo universal ni prueba de ventaja. Depende de dispersión, dependencia y plan de pruebas. Incumplimientos o errores exigen actuar de inmediato; cambiar estrategia exige hipótesis y validación aparte

Diario XLSX preparado

Descargar diario de trading — XLSX en español

Tres hojas: Statistics, Journal e Instructions, 999 filas preparadas y fórmulas de P/G netas, R, deslizamiento y drawdown. A–Z mantienen el formato; incluye AA–AC (autoevaluación de 15.9), AD (notas), AE–AF (curva y drawdown) y AG (ejecución limpia); exporte A:Z para scripts. Introduzca datos en amarillo, no sobrescriba columnas calculadas con exportación del bróker. Si swap o comisión son realmente cero, ponga 0; falta de datos sigue siendo falta.

Los ejemplos de la guía no alimentan estadísticas del archivo. Drawdown incluye inicio 0 R: primera pérdida −1 R da drawdown 1 R. Ordene por cierre y mantenga orden coherente en cierres idénticos. No ordene solo C: cada registro debe moverse junto. Después compruebe que AE/AF acumulan desde fila 2. Columna auxiliar coded_clean no trata código de error vacío como ejecución limpia.

La hoja promedia MAE y MFE de todas las mediciones, incluidos ceros; variantes para ganadoras/perdedoras abajo. Factor de beneficio en R, no divisa de cuenta. P/G previstas T solo para mismo tipo de salida: SL previsto con SL ejecutado y TP con TP; vacío sin equivalente.

La versión PL usa PLN en campos *_pln . La versión en español mantiene el mismo orden y nombres monetarios neutrales sin sufijo _pln ; especifique divisa en instrucciones. Al transferir CSV entre idiomas mapee encabezados y compruebe divisa. Cambiar etiqueta de divisa no convierte valores.

Hoja preparada o propia

  • Dos caminos al mismo diario: XLSX con fórmulas visibles y guía completa para recrearla. Sin macros ni conexión al bróker. CSV inicial sigue generado localmente. La versión está en Instructions (actualmente 1.2, del 21 de septiembre de 2026; el artículo tiene versión propia).
  • Conoce por dentro una hoja que construye: si una fórmula falla años después (otro par o exportación), reconocerá causa porque sabe qué calcula. Una plantilla «mágica» falla sin avisar y un diario que miente es peor que ninguno.
  • Columnas comunes en todo el curso: encabezados de mini-especificación CSV 15.9 (la hoja cubre unos 20 de los 29 campos lógicos numerados de 15.9; faltantes en Fuentes) y mismos nombres esperados por S1–S3 del complemento I y P5; auditorías P6–P7 necesitan estado de cumplimiento y nota de estado: añada status = «plan» para error_code 0, «breach» para 1–9 y omita código 10 (infraestructura) de P6 o márquelo «infrastructure» y explíquelo; derive nota de autoevaluación AA–AC. Un formato, mínima traducción entre herramientas.
  • La nube es cómoda, pero son datos de cuenta: tamaños, resultados y errores. Elija deliberadamente local o nube con los mismos criterios de higiene de datos de IA en el complemento H).
Anatomía de fila: identificación, contexto, plan y ejecución, costes y resultados, proceso; R se calcula desde P/G netas y riesgo previsto 1. IdentificaciónID · horas · par dirección 2. Contextosetup · clase · sesión 3. Plan y ejecuciónentrada/SL/TP previstos/reales deslizamiento 4. Costes y resultadosswap · comisión PnL · r_net 5. Procesoerror_code estado · calidad r_net = P/G netas / riesgo previsto una columna alimenta todo el panel — por eso usa P/G NETAS

Estructura: 26 columnas en 5 grupos

Letras A–Z corresponden a fórmulas; si cambia orden, cambie referencias. Encabezados técnicos en inglés permiten CSV con P5 sin mapeo. Puede añadir autoevaluación mental_state, sleep_hours y decision_quality de 15.9 en AA–AC opcionales (ya incluidas); fórmulas no las necesitan.

Col.EncabezadoGrupo 1: identificaciónEjemplo
Atrade_idnúmero secuencial o ID de plataforma2026-041
Bopen_time_utcapertura en UTC; MT4/MT5 exportan hora del servidor (p. ej., GMT+2/+3, compruebe especificación); convierta zona (15.9); formato YYYY-MM-DD HH:MM2026-07-08 07:42
Cclose_time_utccierre UTC (como B); valor real de fecha/hora, no texto. Vacío = abierta, fuera de métricas; fecha inválida o cierre anterior a apertura no produce R2026-07-08 13:15
Dpairinstrumento: 6 caracteres sin separador ni sufijo (EURUSD, no EUR/USD ni EURUSD.m); fórmula del pip solo FX (0.0001, o 0.01 si termina JPY); en otros instrumentos tome pip de especificación y cambie multiplicadorEURUSD
Edirectionlong / short (minúsculas: fórmula de slippage compara texto)long
Col.EncabezadoGrupo 2: contextoEjemplo
Fsetupnombre del setup del playbook Easia-london-breakout
Gsetup_classA+ / A / B / C: clase al entrar según 15.9; no la asigne por resultado posteriorA+
Hsessionsesión de entrada (Asia / London / NY / overlap)London
Col.EncabezadoGrupo 3: plan y ejecuciónEjemplo
Iplanned_entryentrada prevista (registrada ANTES de colocar la orden)1.0850
Jactual_entryprecio de ejecución real de la plataforma1.0852
Kplanned_slstop-loss previsto1.0820
Lplanned_tptake-profit previsto1.0910
Mactual_exitprecio de cierre real1.0907
Nspread_pipsspread al entrar0.7
Oslippage_entry_pipsfórmula — deslizamiento de entrada en pips; positivo = peor ejecución2.0
Col.EncabezadoGrupo 4: costes y resultadosEjemplo
Pswapimporte del swap con su signo en la divisa de la cuenta (un coste es negativo)−3.20
Qcommissioncomisión como coste no negativo; 0 si no hay comisión. Convierta el coste negativo de la exportación del bróker en un valor positivo para que la fórmula no lo sume al beneficio7.00
Rbroker_gross_pnlP/G brutas de la plataforma: después del spread y la ejecución del precio, antes del swap y la comisión201.67
Sbroker_net_pnlfórmula (o introdúzcalas manualmente si el bróker comunica las P/G netas)191.47
Tplanned_gross_pnlP/G previstas para el mismo tipo de salida (importe): TP previsto si la salida fue por TP, SL previsto si fue por stop; deje el campo vacío en una salida manual o por tiempo. El archivo deja entonces W vacío, mientras que 15.9 calcula el lastre como la suma del deslizamiento de entrada, la comisión y el swap en R: (O × valor del pip + Q − P) / U, donde el swap P conserva su signo (negativo = coste); el cálculo se realiza manualmente, fuera de la fórmula220.00
Uplanned_riskriesgo previsto en la divisa de la cuenta (USD en los ejemplos; distancia de la entrada prevista → SL previsto en pips × valor del pip para el volumen previsto). Es el denominador R fijo de la operación; no se reajusta después para hacerlo coincidir con la pérdida. No garantiza una pérdida máxima: los gaps, el deslizamiento y los costes pueden aumentarla110.00
Vr_netfórmula — P/G netas en R; la columna que alimenta las métricas de rendimiento1.74
Wexecution_drag_Rfórmula — diferencia entre las P/G brutas previstas y las P/G netas reales en R; puede ser negativa si el resultado es mejor de lo previsto0.26
Col.EncabezadoGrupo 5: procesoEjemplo
Xmae_rmáxima excursión adversa del precio durante la vida de la posición, en R (definición: 15.9, sección 7)0.35
Ymfe_rmáxima excursión favorable del precio durante la vida de la posición, en R2.10
Zerror_code0 = ejecución limpia; 1–9 = códigos de errores de decisión; 10 = error de infraestructura (catálogo: 15.9)0

Fórmulas de fila — columnas calculadas

Variante de fórmulas:

Configuración: la variante PL usa nombres de funciones en polaco y punto y coma; EN usa nombres en inglés y comas. El separador depende de la configuración regional; en Google Sheets el idioma de las funciones se configura por separado. Al importar, configure B/C como fecha y hora y después compruebe =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): el resultado correcto es PRAWDA/TRUE. Cambiar únicamente la apariencia de la celda no basta.

Introduzca las fórmulas en la fila 2 y rellene hacia abajo (o cópielas en un intervalo). Los intervalos llegan hasta la fila 1000; para un diario más largo, amplíe las fórmulas de fila, la validación y todos los intervalos del panel, incluidos los controles de integridad.

O2 · slippage_entry_pips positivo = ejecución peor de lo previsto; los pares JPY usan un multiplicador de 100
=JEŻELI(ORAZ(CZY.LICZBA(I2);CZY.LICZBA(J2);DŁ(D2)=6;LUB(E2="long";E2="short"));JEŻELI(E2="long";J2-I2;I2-J2)*JEŻELI(PRAWY(D2;3)="JPY";100;10000);"")
=IF(AND(ISNUMBER(I2),ISNUMBER(J2),LEN(D2)=6,OR(E2="long",E2="short")),IF(E2="long",J2-I2,I2-J2)*IF(RIGHT(D2,3)="JPY",100,10000),"")
S2 · broker_net_pnl si el bróker comunica las P/G netas, introdúzcalas manualmente y omita la fórmula
=JEŻELI(ORAZ(ILE.LICZB(P2:R2)=3;Q2>=0);R2+P2-Q2;"")
=IF(AND(COUNT(P2:R2)=3,Q2>=0),R2+P2-Q2,"")
V2 · r_net P/G netas en R: vacío hasta que haya fecha de cierre (C), P/G netas (S) y riesgo (U); una operación abierta no se incluye en las métricas
=JEŻELI(ORAZ(CZY.LICZBA(C2);CZY.LICZBA(S2);CZY.LICZBA(U2));JEŻELI(ORAZ(C2>=1;C2<2958466;U2>0;LUB(B2="";ORAZ(CZY.LICZBA(B2);B2>=1;B2<=C2)));S2/U2;"");"")
=IF(AND(ISNUMBER(C2),ISNUMBER(S2),ISNUMBER(U2)),IF(AND(C2>=1,C2<2958466,U2>0,OR(B2="",AND(ISNUMBER(B2),B2>=1,B2<=C2))),S2/U2,""),"")
W2 · execution_drag_R comparación con el resultado previsto para el mismo tipo de salida (T); deje T y W vacíos si la salida es manual o por tiempo (15.9: en ese caso, lastre = (O × valor del pip + Q − P) / U, calculado manualmente)
=JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(T2));(T2-S2)/U2;"")
=IF(AND(ISNUMBER(V2),ISNUMBER(T2)),(T2-S2)/U2,"")

Panel: 9 métricas y cómo interpretarlas

Pegue las métricas en otra hoja (como en el archivo: anteponga el nombre de la hoja a cada intervalo, p. ej., 'Journal'!V2:V1000) o encima de la tabla; en ese caso los encabezados se desplazan de la fila 1 y debe ajustar las referencias. Al copiar un bloque obtiene varias fórmulas en líneas distintas; coloque cada una en su celda correspondiente. AE2, AF2 y AG2 corresponden a la hoja Journal, no a Statistics.

Un diario vacío da N = 0, R total = 0 y drawdown máximo = 0; WR, PF, esperanza y medias sin mediciones permanecen vacíos. PF también queda vacío cuando no hay pérdidas, pues el cociente no tiene entonces un valor finito. Los resultados en R requieren P/G netas en S, U positivo y una fecha/hora numérica en C dentro del intervalo de fechas de Excel. Si B está cumplimentada, debe ser una fecha reconocida no posterior a C. Excel almacena las fechas como números; el formato de celda no convierte un texto en fecha ni comprueba que la hora se haya introducido realmente en UTC.

La versión 1.2 del archivo usa validación de tipo Detener para fechas, dirección, clase, coste de comisión, riesgo, MAE/MFE y código. Pegar datos puede eludir la validación: por eso V rechaza fechas de texto y riesgo no positivo, S rechaza costes de comisión negativos y AG solo acepta códigos enteros 0–10. Los controles de las filas 16–19 de Statistics muestran cierres introducidos sin R, operaciones con R pero sin código válido y mediciones MAE y MFE inválidas. Una fórmula de fecha que devuelve texto vacío se considera un cierre ausente, no una operación cerrada inválida. Cualquier recuento superior a cero debe aclararse antes de evaluar la muestra completa.

Las métricas de rendimiento usan V. Las medias de MAE/MFE de todas las mediciones introducidas usan una muestra distinta: incluyen números no negativos, incluido cero, aunque V siga vacío. Un número negativo, un texto (incluido «0.5» almacenado como texto), un espacio o un valor booleano en una columna de mediciones bloquea su media hasta que se corrija, en lugar de distorsionar el resultado silenciosamente. El recuento de celdas inválidas está en Statistics B18 para MAE y B19 para MFE; un error de una columna no bloquea una media válida de la otra. No compare automáticamente sus tamaños de muestra con el número de operaciones cerradas. Introduzca mediciones no negativas para el mismo periodo definido de la vida de una posición; deje vacías las mediciones ausentes. Las variantes de ganadoras/perdedoras siguientes seleccionan un subconjunto según V.

Métricas 1–5 número de operaciones · porcentaje de acierto · factor de beneficio · esperanza · R total
Número de operaciones:  =ILE.LICZB(V2:V1000)
Porcentaje de acierto:           =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000))
Factor de beneficio:      =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0"))
Esperanza (R):     =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000))
R total:             =SUMA(V2:V1000)
Número de operaciones:  =COUNT(V2:V1000)
Porcentaje de acierto:           =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000))
Factor de beneficio:      =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0"))
Esperanza (R):     =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000))
R total:             =SUM(V2:V1000)
Métrica 6 · drawdown máximo en R columnas auxiliares AE (curva de resultados) y AF (drawdown actual); rellene ambas hacia abajo
AE2 (curva):       =JEŻELI(CZY.LICZBA(V2);SUMA($V$2:V2);"")
AF2 (drawdown):   =JEŻELI(CZY.LICZBA(AE2);MAX(0;$AE$2:AE2)-AE2;"")
Drawdown máximo (R): =MAX(AF2:AF1000)
AE2 (curva):       =IF(ISNUMBER(V2),SUM($V$2:V2),"")
AF2 (drawdown):   =IF(ISNUMBER(AE2),MAX(0,$AE$2:AE2)-AE2,"")
Drawdown máximo (R): =MAX(AF2:AF1000)
Métricas 7–9 · MAE/MFE y ejecución limpia (+ lastre medio) audite stops, salidas y proceso
MAE medio (todas):  =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI(ILE.LICZB(X2:X1000)=0;"";ŚREDNIA(X2:X1000)))   (como en el archivo, B11)
MFE medio (todas):  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI(ILE.LICZB(Y2:Y1000)=0;"";ŚREDNIA(Y2:Y1000)))   (como en el archivo, B12)
MAE medio de ganadoras:    =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;">0";X2:X1000);""))
MFE medio de perdedoras:  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;"<0";Y2:Y1000);""))
AG2 (coded_clean):    =JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(Z2));JEŻELI(ORAZ(Z2>=0;Z2<=10;Z2=LICZBA.CAŁK(Z2));JEŻELI(Z2=0;1;0);"");"")
Ejecución limpia:     =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000))
Lastre medio de ejecución:   =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000))   (opcional, no incluido en el archivo)
MAE medio (todas):  =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IF(COUNT(X2:X1000)=0,"",AVERAGE(X2:X1000)))   (como en el archivo, B11)
MFE medio (todas):  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IF(COUNT(Y2:Y1000)=0,"",AVERAGE(Y2:Y1000)))   (como en el archivo, B12)
MAE medio de ganadoras:    =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),""))
MFE medio de perdedoras:  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,"<0",Y2:Y1000),""))
AG2 (coded_clean):    =IF(AND(ISNUMBER(V2),ISNUMBER(Z2)),IF(AND(Z2>=0,Z2<=10,Z2=INT(Z2)),IF(Z2=0,1,0),""),"")
Ejecución limpia:     =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000))
Lastre medio de ejecución:   =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000))   (opcional, no incluido en el archivo)
Controles de integridad — como en Statistics B16:B19 un recuento superior a cero indica que hay registros que revisar
Cierre sin R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000)
R sin código:       =ILE.LICZB(V2:V1000)-ILE.LICZB(AG2:AG1000)
MAE inválido:       =WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")
MFE inválido:       =WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")
Cierre sin R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000)
R sin código:       =COUNT(V2:V1000)-COUNT(AG2:AG1000)
MAE inválido:       =ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")
MFE inválido:       =ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")
Dos unidades de R — ejemplo de comprobación. Una operación con riesgo U = USD 50 y P/G netas de −USD 50 tiene un resultado de −1R; otra con U = USD 200 y P/G netas de +USD 200 tiene +1R. El total de r_net es 0R, pero la cuenta ha ganado USD 150. Si durante ese periodo el 1R base del plan era USD 100, el resultado medido respecto a su límite es +1.5 R base. PF también difiere: 1 en R de operación, 4 en USD. Son medidas distintas, no una contradicción. Seleccione el periodo con la zona horaria y los límites semanales indicados en el plan; las marcas de tiempo originales del diario permanecen en UTC. La suma de resultados de posiciones cerradas no sustituye la vigilancia del patrimonio actual ni de las pérdidas de posiciones abiertas. Si cambia el R base, siga la regla documentada del plan en vez de dividir todo el periodo por un importe arbitrario de su final.
MétricaCómo interpretar los resultados y sus limitaciones
Porcentaje de aciertoPor sí solo no dice nada sobre una ventaja; vea el gráfico siguiente. Queda vacío cuando no hay operaciones cerradas; 0% significa una muestra sin ganadoras. Úselo para comparar los resultados con los supuestos del playbook, no para juzgar «¿se me da bien esto?»
Factor de beneficioPor debajo de 1.0 = resultado negativo en R para la muestra analizada; solo tiene sentido junto al número de operaciones y el drawdown. Que no haya pérdidas en la muestra supone dividir entre cero, no una «ventaja infinita»
Esperanza (R)La cifra más importante del diario: resultado neto medio por operación. Un valor positivo después de costes describe esta muestra, pero no demuestra por sí mismo una ventaja. Evalúe la dispersión, la dependencia entre resultados, la estabilidad de las condiciones y los resultados de validación conforme al protocolo de pruebas (N). La cifra de 50 es un punto de revisión de ejemplo, y decidir aumentar la escala exige además cumplir el plan de riesgo
Drawdown máximo (R)Una medida de todo el historial: AF calcula el drawdown desde el máximo más alto de la curva, por lo que no es la pérdida de la semana. El límite semanal del plan (complemento E) se expresa en R base del plan o como porcentaje del capital. No lo compare directamente con el total de r_net si las operaciones tenían distintos valores de U. Con un R base constante en la divisa de la cuenta, el resultado del periodo en la unidad del plan es la suma de las P/G netas de S durante ese periodo dividida por el importe del R base. Para un límite porcentual, use la base de capital especificada en el plan. AF describe la trayectoria del R de operación acumulado, no el drawdown del saldo o del patrimonio de la cuenta. Un drawdown inusual exige comprobar los datos, las condiciones y los supuestos de las pruebas
Media de MAE de las ganadorasBajo (p. ej., < 0.4R) = hipótesis de que el stop es más amplio de lo necesario; debe probarse en una muestra nueva, no estrecharlo de inmediato (15.9). Próximo a 1R = las ganadoras sufrieron un movimiento adverso cercano a todo el riesgo; revise las entradas y la colocación del stop antes de concluir que es un problema de ejecución
MFE medio de las perdedorasAlto = las operaciones avanzaron a su favor y después se dieron la vuelta; audite las reglas de salida y de toma parcial de beneficios
Lastre de ejecución (medio)Una fórmula opcional (arriba), calculada solo con operaciones cuyo T está cumplimentado. Un valor persistentemente alto indica una brecha entre las P/G brutas previstas y las P/G netas reales de salidas comparables: incluye costes y diferencias entre precios de ejecución. Las salidas manuales/anticipadas sin equivalente no entran en esta media. No la combine con la estimación simplificada de costes para esas salidas
Ejecución limpiaPorcentaje de operaciones cerradas con error_code = 0 (la columna AG solo cuenta operaciones con R válido y un código entero de 0 a 10; un código ausente no cuenta como ejecución limpia). Alrededor del 90% puede ser un umbral de trabajo en un plan concreto, no un estándar de calidad. Compruebe el número de operaciones evaluadas y de códigos ausentes: un 100% a partir de un único código 0 y muchos códigos vacíos no describe el diario entero. Un incumplimiento crítico exige actuar con independencia del porcentaje. Las métricas de operaciones que incumplen las reglas no son una prueba limpia de esas reglas
Comparación de dos sistemas: un mayor porcentaje de acierto del 60 por ciento produce esperanza negativa con una mala relación beneficio/pérdida, mientras que un acierto del 40 por ciento con ganadoras de 2R produce esperanza positiva Porcentaje de acierto A: 60% B: 40% ganancia media 0.5R · pérdida media 1R ganancia media 2R · pérdida media 1R Esperanza por operación A: −0.10R B: +0.20R por eso el panel comienza por la esperanza, y el porcentaje de acierto se interpreta siempre junto a la distribución de R

CSV inicial e importación

El botón crea el archivo CSV íntegramente en su navegador, sin enviar datos ni realizar una petición de red aparte: 26 encabezados más dos filas de ejemplo —una ganadora y una perdedora— para que las fórmulas tengan datos con los que mostrar su funcionamiento. La variante PL usa punto y coma y coma decimal (seleccione el separador explícitamente al importar; el comportamiento del doble clic depende de los ajustes del sistema), mientras que EN usa comas y punto decimal. Tras importar, sustituya las columnas calculadas (O, S, V, W) de las filas de ejemplo por las fórmulas de la sección anterior y elimine los ejemplos antes de su primer registro (o consérvelos en otro archivo). Una exportación CSV puede guardar la precisión que muestra el programa; en XLSX 1.2, las columnas V y W usan seis decimales. El CSV inicial también usa seis decimales, calculados a partir de los importes de cada fila. Con ese redondeo, el error de un valor R individual no supera 0.0000005 R; PF puede ser más sensible si la suma de pérdidas es muy pequeña. Un resultado cuyo valor absoluto sea inferior a 0.0000005 R puede redondearse a cero, cambiando su clasificación como ganancia/pérdida y el porcentaje de acierto; para esos datos, aumente la precisión antes de exportar. Si el análisis exige mayor precisión, auméntela antes de la exportación, no únicamente después en el script.

Archivo inicial del diario generado localmente con la variante seleccionada en el selector de fórmulas
Exportación a los complementos H e I, paso a paso: copie los encabezados y las filas utilizadas de A:Z de la hoja Journal a un archivo nuevo mediante «Pegar valores». Configure B/C como yyyy-mm-dd hh:mm (una interfaz en polaco puede mostrar rrrr-mm-dd gg:mm) y V/W con al menos seis decimales, sin separador de miles. Guarde como CSV UTF-8. Antes de combinar archivos, compruebe que los valores trade_id sean únicos: el script S1 no elimina duplicados. Agrupe las ejecuciones parciales de una posición según la unidad de operación elegida (incluidos los costes), conservando su U original; no cuente la misma operación como varias ejecuciones y también como un único resumen. Abra una copia en un editor de texto: compruebe que haya 26 campos por registro, el separador, las fechas UTC y los números. CSV contiene valores, no fórmulas ni las demás hojas; conserve el XLSX original. Para S1, configure PL: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 con BOM puede leerse como utf-8-sig.

Comprobación de los dos ejemplos: unas P/G netas de USD 191.47 con riesgo de USD 110 dan 1.740636 R; unas P/G netas de −USD 113.10 con riesgo de USD 105 dan −1.077143 R. A partir de esos valores de seis decimales, el script debería producir N = 2, WR = 50%, total 0.663493 R, esperanza 0.3317465 R, PF de aproximadamente 1.615974852 y DD máximo de 1.077143 R. S2 imprime cifras redondeadas: WR 0.5; PF 1.62; esperanza 0.332 R; total 0.66 R; DD máximo 1.08 R. Las fórmulas completas del XLSX calculan con cocientes sin redondear, por lo que las últimas cifras pueden diferir. S1 detiene el análisis ante una operación cerrada inválida; P5 indica al script que excluya ese registro y lo notifique. Compare las métricas solo después de conciliar la muestra. P5 es una instrucción para generar un script, no un archivo listo con un resultado garantizado.

Constrúyalo paso a paso

  1. Cree una hoja de cálculo vacía en Excel o LibreOffice Calc; también sirve una hoja en la nube, pero son datos de cuenta, así que elija deliberadamente.
  2. Importe el CSV inicial (o copie los encabezados de las tablas de estructura). Compruebe que los números se hayan importado como números: si «1.0850» aparece como texto, la variante del separador no coincide con los ajustes del sistema.
  3. Pegue las fórmulas de fila en O2, S2, V2 y W2, y rellene hacia abajo dejando una reserva de filas.
  4. Pegue el panel (métricas 1–9) encima de la tabla o en otra hoja; rellene las columnas auxiliares AE, AF y AG hacia abajo igual que las fórmulas de fila, hasta la última fila preparada.
  5. Establezca una rutina: haga un registro tras cada operación cerrada (la lista EOD del complemento J lo incluye), consulte las métricas en la revisión semanal y tome decisiones sobre el playbook cada trimestre (complemento E).
Panel del diario de trading en una hoja de cálculo: celdas con porcentaje de acierto, factor de beneficio, esperanza y drawdown máximo en R sobre la tabla de registros, con la curva de resultados de una columna auxiliar al lado
Panel del diario de trading en una hoja de cálculo: celdas con porcentaje de acierto, factor de beneficio, esperanza y drawdown máximo en R sobre la tabla de registros, con la curva de resultados de una columna auxiliar al lado

Preguntas frecuentes

¿Excel, LibreOffice o una hoja en la nube?

Las fórmulas usan funciones básicas disponibles en Excel, LibreOffice Calc y Google Sheets. Sin embargo, la elección de nombres de funciones y separadores depende de los ajustes del programa y del archivo: la variante PL muestra nombres en polaco y punto y coma, mientras que EN muestra nombres en inglés y comas. Una hoja en la nube puede necesitar nombres en inglés con punto y coma. No afirmamos haber probado todas las versiones de estos programas. La diferencia real está en otra parte: el diario contiene tamaños de posición, resultados y un catálogo de sus errores; en la nube, esos datos están sujetos a las políticas del proveedor y se almacenan fuera de su propio disco. La regla de esta sección es mantener los datos de cuenta en local por defecto; use la nube deliberadamente y exporte una copia de seguridad. Es la misma decisión que la sección de higiene de datos del complemento H le pide tomar antes de pegar un diario en un chat.

¿Cuántas operaciones hacen falta para que las métricas tengan sentido?

Las métricas describen la muestra desde la primera operación; unas cincuenta son un punto de trabajo de ejemplo para la primera revisión del sistema, no un umbral de significación. Antes de eso, la esperanza y el porcentaje de acierto cambian notablemente después de cada racha y dicen más sobre esa racha reciente que sobre el sistema; también importan la dispersión y la dependencia entre resultados (por eso aparece la misma cantidad en el playbook del complemento E como umbral de clase A+). Esto no significa que antes el diario sea inútil: las métricas de proceso funcionan desde el primer registro —porcentaje de ejecución limpia e integridad de los registros— y determinan si las cifras del sistema llegarán a ser fiables. El orden es siempre el mismo: primero el proceso, después la muestra y finalmente la evaluación del sistema. Actualización respecto a la versión actual de E: las aproximadamente cincuenta operaciones citadas son un momento ilustrativo para revisar, no un umbral A+ del playbook actual. La clasificación depende de condiciones necesarias y criterios de calidad definidos de antemano; el tamaño de la muestra por sí solo no asigna una clase.

¿Para qué tener una columna error_code si el resultado ya es visible?

Porque el resultado y la calidad de la decisión son dimensiones distintas: hay operaciones rentables que incumplen el plan (el caso más peligroso: se refuerza un incumplimiento recompensado) y ejecuciones ejemplares que terminan en pérdida. Error_code 0–10 permite calcular la esperanza POR SEPARADO para la ejecución limpia: si el sistema gana dinero al filtrar los incumplimientos, eso sugiere que el problema está en la ejecución y no en las reglas; una diferencia entre subgrupos aún no demuestra la causa, solo indica dónde buscar. Mantenga separado el código 10 (error de infraestructura) de los errores de decisión; los procedimientos para estos casos están en el complemento K, mientras que el catálogo de códigos 1–9 está en 15.9.

Mi Excel no acepta las fórmulas: ¿qué debo comprobar?

Casi siempre se debe a una de tres cosas. Primero, la variante: el idioma de las funciones y el separador de argumentos son ajustes independientes. El selector ofrece dos combinaciones habituales (PL: nombres en polaco + punto y coma; EN: nombres en inglés + comas), pero compruebe la configuración regional. En Google Sheets, compruebe además la opción de usar nombres de funciones en inglés. Segundo, el separador decimal: un sistema con coma decimal leerá «1.0850» como texto; de ahí las dos variantes de CSV. Tercero, las comillas: copiar a través de aplicaciones de mensajería puede sustituir las comillas rectas por tipográficas; copie con el botón de esta página, sin intermediarios. Si algo sigue sin calcularse, el prompt P3 del complemento H puede revisar fórmulas con la misma facilidad que código.

Escenario ilustrativo: un sistema «rentable», hasta que el diario contabilizó los costes. El diario se mantenía cuidadosamente, pero la columna de P/G se copiaba de la plataforma en BRUTO, sin comisión ni swaps. Tras un trimestre, la esperanza era +0.12R, lo que llevó a aumentar la frecuencia: más operaciones = más beneficio. Tras añadir las columnas de costes y recalcular r_net a partir de P/G netas, el resultado fue −0.04R: el sistema no ganaba dinero, solo lo movía, y aumentar la frecuencia profundizaba la pérdida exactamente en el coste de cada operación adicional. De ahí el orden estricto de columnas del grupo 4: costes por separado, P/G netas por separado y r_net calculado exclusivamente con P/G netas.
Escenario modelo: MAE revela un stop demasiado ajustado para el mercado. Un trader cuyo porcentaje de acierto era claramente inferior al que sugería el backtest sospechaba que el bróker cazaba stops. Un diario con las columnas mae_r y mfe_r reveló una verdad menos emocionante: en las operaciones perdedoras, MAE terminaba habitualmente justo más allá de 1.0R, mientras que MFE de esas mismas entradas había alcanzado antes 1.5R+; las posiciones avanzaban en la dirección correcta, se daban la vuelta y solo entonces tocaban el stop. MAE/MFE miden únicamente la vida de la posición, por lo que la acción del precio después del stop exigía una medición aparte durante una ventana definida; esa medición mostró un retorno a la dirección prevista. Esto llevó a la hipótesis de que el SL estaba dentro de las oscilaciones normales del precio y las reglas de salida no capturaban parte del movimiento. ATR describe la escala de la volatilidad, pero por sí solo no establece la colocación óptima del stop. En este escenario modelo, desplazar el stop más allá de la estructura del mercado y reducir el volumen para mantener el mismo importe de riesgo se probó en una muestra separada; solo el resultado de esa muestra justificó seguir evaluando el cambio. Sin las columnas MAE/MFE, esa hipótesis nunca aparece: solo queda una teoría conspirativa sobre el bróker.
  • 15.9 Diario y métricas — catálogo completo de campos (incluidos los códigos de error 0–10), definiciones de MAE/MFE y métricas avanzadas (SQN, Sortino)
  • 15.10 Auditoría de estrategia — qué puede inferirse de las métricas y con qué muestra
  • Complemento I — kit de código — script S1–S3 preparado y probado: lee la exportación CSV de esta hoja (A–Z), calcula métricas y dibuja la curva de resultados
  • Complemento H, prompts P5–P7 — un script para calcular métricas a partir de la exportación CSV de esta hoja, más auditorías de patrones (P6–P7: añada el estado de cumplimiento del plan y una nota de estado; P7 espera métricas semanales: copie las filas cerradas durante esa semana a otra hoja y calcule allí las mismas fórmulas; un filtro automático por sí solo no cambia los resultados de COUNT/SUM/AVERAGE)
  • Complemento E — plantilla del plan — un playbook calibrado trimestralmente con las cifras de este diario
  • Complemento J — listas de comprobación — la rutina EOD/EOW que mantiene el diario en uso
Aviso: esta página es educativa y no constituye asesoramiento de inversión. Las fórmulas y la estructura sirven para medir sus propios resultados, no para predecirlos; las filas y valores de ejemplo ilustran el formato de los datos, no resultados esperados. Las métricas calculadas con una muestra pequeña o resultados brutos llevan a malas decisiones; por eso r_net se calcula con P/G netas, y evaluar el sistema exige un plan de pruebas y atender a la incertidumbre y la dependencia entre resultados: superar simplemente 50 operaciones no confirma nada.

Fuentes

  1. Van K. Tharp, Trade Your Way to Financial Freedom, 2.ª ed., McGraw-Hill 2007: conceptos de múltiplos R y esperanza como métricas centrales del sistema, en los que se basan la columna r_net y el panel.
  2. Internas: 15.9 Diario y métricas (estructura de campos, códigos de error, MAE/MFE) y 15.10 Auditoría de estrategia (inferencia disciplinada a partir de una muestra): 26 columnas A–Z más 3 campos de autoevaluación dan 29 columnas en el archivo, pero la hoja cubre alrededor de 20 de los 29 campos lógicos numerados de 15.9; los campos ausentes son regime, actual_tp, slippage_exit_pips y cuatro que la propia sección 15.9 pide añadir («la hoja es anterior a esta sección»): lots, pip_value_at_open, strategy_version, evidence_link — si usa el script de 15.9, añádalos como columnas opcionales desde AH para evitar sobrescribir las columnas existentes AA–AG; para scripts que esperan A:Z, siga exportando únicamente ese intervalo.
  3. Documentación: Microsoft — separador de argumentos y CSV, Microsoft — importación y exportación de CSV, Google Sheets — configuración regional e idioma de las funciones. Consultado el 21 de septiembre de 2026; son reglas de configuración, no una afirmación de que se hayan probado todas las aplicaciones.
  4. NIST — incertidumbre de la media: dependencia del tamaño muestral y la dispersión; no justifica un umbral universal de 50 operaciones. Consultado el 21 de septiembre de 2026.

Jarosław Wasiński

Redactor jefe, ForexMechanics.com • Analista macro y FX

Analista independiente y profesional con mas de 20 anos de experiencia en los mercados financieros. Activo en Forex desde 2004, con enfoque en analisis fundamental, estructura del mercado OTC y gestion disciplinada del riesgo de capital.

  • Creador y redactor jefe de MyBank.pl, ofreciendo educacion financiera fiable desde 2004.
  • Autor de cientos de comentarios de mercado en profundidad, analisis estructurales y materiales educativos para traders e inversores.
  • Defensor de la transparencia del mercado, promoviendo una educacion basada en datos concretos e informes institucionales (BIS, ESMA, CFTC).

Todo el contenido tiene caracter exclusivamente educativo e informativo – no constituye asesoramiento de inversion ni recomendacion alguna. Recuerde: el trading con apalancamiento (Forex/CFD) conlleva un alto riesgo de perdida rapida de capital.