Un diario responde a preguntas si conserva la evidencia necesaria. En un ejemplo ficticio, Marcos registra 171 operaciones y pierde 4.200 EUR. Clasificar información previamente conservada permite localizar un segmento con −2.700, el 64,3 % de la pérdida total. No demuestra que excluirlo produzca después 8.100 EUR de beneficio. La plantilla siguiente es una propuesta editorial.

Define registros antes de añadir columnas

Un diario breve puede bastar para una pregunta y carecer de datos para otra. Separa eventos originales, plan conocido al decidir y resúmenes calculados. Una ejecución importada sigue siendo dato de origen. Define una fila resumen por idea y enlaza ejecuciones parciales mediante un identificador en una hoja de operaciones; dos salidas no son necesariamente dos señales independientes.

Añade al registro o diccionario cuenta, moneda, estado demo o real, zona y versión de estrategia. No sumes PLN y USD sin conversión definida. Conserva la hora original del broker y, si analizas horarios españoles, la conversión identificada a Europe/Madrid. Un campo desconocido debe quedar ausente, sin reconstruir contexto tras ver el desenlace.

Diez campos de operación

  1. Fecha y hora de entrada. Formato ISO YYYY-MM-DD y HH: MM con zona identificada, para ordenar y segmentar.
  2. Instrumento. Símbolo del proveedor y producto; XAU/USD cotiza oro en USD, sin ser dos monedas.
  3. Dirección. Compra o venta para determinar signo del resultado.
  4. Precio de entrada. Ejecución real, separada del precio planificado si estudias deslizamiento.
  5. Stop. Nivel y tipo planificados; el precio de salida real se conserva aparte porque un stop ordinario no lo garantiza.
  6. Objetivo. Precio previsto o regla alternativa documentada; no toda estrategia necesita take profit fijo.
  7. Cantidad. Lotes y unidades contractuales por lote, sin confiar solo en una etiqueta convencional.
  8. Precio de salida. Ejecución efectiva por stop, objetivo o cierre manual.
  9. Fecha y hora de salida. Con la entrada permite calcular duración.
  10. Resultado monetario. Beneficio o pérdida neta con costes aplicables y divisa definida.

En un instrumento lineal, resultado bruto en moneda cotizada = signo de dirección × (salida − entrada) × unidades. Convierte según contrato e incluye comisión y financiación. El spread ya está en precios ejecutados de compra y venta: no lo restes otra vez. La etiqueta ECN no establece un coste universal en EUR por lote.

Cinco campos de riesgo con denominadores claros

11. Riesgo inicial planificado: importe dividido por saldo o equity de referencia identificado. Para porcentaje como número, multiplica una vez por cien; si la celda muestra formato porcentual sobre el cociente, no vuelvas a multiplicar. Pips exigen contrato, volumen y conversión.

12. Múltiplo R: resultado neto dividido por riesgo monetario inicial positivo y conocido. 150 EUR/50 EUR = 3R; −50/50 = −1R. Mover el stop no reescribe ese denominador. Si falta el riesgo, R queda ausente. Ochocientos sobre cuatrocientos son 2R y mil doscientos sobre mil, 1,2R: esto no decide qué estrategia es mejor ni qué riesgo real soportó.

13. Devolución desde máximo favorable: un máximo de +4R y salida de +1R devuelven 3R. No es necesariamente drawdown máximo entre pico y valle, que requiere trayectoria. 14. Exposición: define una base comparable. 15. Correlación: registra método y ventana; +0,90 no convierte posiciones distintas en idénticas ni duplica exactamente riesgo.

Cinco campos de contexto de entrada

16. Tipo de configuración: lista definida y estable, con tamaño y límites de cada muestra. Ocho a diez etiquetas o cien operaciones no garantizan una estimación fiable. 17. Temporalidad: periodo de la señal. 18. Confluencias: condiciones específicas, sin presumir independencia entre media, RSI y patrón derivados de los mismos precios.

19. Contexto de eventos programados: evento y zona horaria. 20. Estado autoevaluado: puede usarse escala de uno a diez con criterios constantes registrados antes del resultado. Una asociación con pérdidas no identifica automáticamente causa; menos de cuatro no implica esperanza negativa universal. Tampoco sesenta o cien casos prueban una temporalidad superior ni un aumento fijo de aciertos.

Cinco campos de revisión y claves de origen

21. Cumplimiento del plan: escala uno a diez documentada, distinguiendo cambios autorizados de desviaciones. 22. Número de desviaciones: categorías predefinidas y evidencia, como aumento no autorizado de tamaño. Llamar error a una acción no demuestra por sí solo su efecto estadístico en beneficios.

23. Observación: una frase vinculada a regla, por ejemplo «entré antes del cierre H1 exigido» o «salí en +0,8R frente a +2R planificado; investigar». Una desviación rentable sigue siendo desviación; una pérdida ejecutada correctamente no es automáticamente error. 24. Enlace a capturas: entrada y salida, con permisos de acceso revisados. 25. Etiqueta mensual: categoría estable para buscar periodos, sin modificar retrospectivamente su definición para mejorar resultados.

Ejemplo ficticio de importación, todo en PLN y en este orden: A/17 +10, A/18 −4, B/17 +7 y reimportación idéntica A/17 +10. El ID es local a cada cuenta. Nuestra auditoría conserva la primera copia por clave completa (cuenta, ID), tras confirmar identidad del duplicado: A/17, A/18 y B/17 suman +13 PLN. Usar solo ID y conservar el primero deja +6, perdiendo la operación válida B/17.

Un ID local necesita cuentaCuatro registros ficticios ordenados, todos en PLN. Nuestra auditoría conserva la primera copia por clave completa después de confirmar repetición idéntica.EJEMPLO DE CÁLCULOA/17, primera copia+10 PLNA/18−4 PLNB/17+7 PLNA/17, reimportación idéntica+10 PLNClave completa10 − 4 + 7 = 13 PLNSolo ID y primera copia10 − 4 = 6 PLN
Un ID local necesita cuenta. Cuatro registros ficticios ordenados, todos en PLN. Nuestra auditoría conserva la primera copia por clave completa después de confirmar repetición idéntica.

B/17 es distinto de A/17. Una clave incompleta pierde siete PLN de una operación válida; una discrepancia bajo clave completa exige investigar.

A/17, primera copia
+10 PLN – Conservar.
A/18
−4 PLN – Conservar.
B/17
+7 PLN – Conservar: otra cuenta.
A/17, reimportación idéntica
+10 PLN – Omitir solo la copia confirmada.
Clave completa
10 − 4 + 7 = 13 PLN – Tres operaciones.
Solo ID y primera copia
10 − 4 = 6 PLN – Pierde B/17; esta regla no describe garantías de Power Query.

La regla de primera copia pertenece a esta auditoría controlada. Power Query compara columnas seleccionadas y advierte que eliminar duplicados no garantiza retener la primera instancia. Si una clave completa tiene importes incompatibles, investiga el conflicto en lugar de descartarlo como repetición idéntica. Comprueba el alcance de identificadores del exportador real.

Elige herramienta con una muestra conocida

Una hoja permite controlar campos y fórmulas; verifica licencia, funciones y trabajo de importación. Excel no es universalmente gratuito y herramientas de pago pueden permitir personalización. Compara acceso a exportaciones, integraciones, análisis y facturación con datos reconciliados, sin esperar un número mágico de operaciones.

TraderSync publica niveles recurrentes; Edgewonk describe suscripción anual facturada cada doce meses. No es acceso perpetuo por un pago único de 169 USD. Comprueba condiciones finales, moneda, impuestos y renovación antes de elegir. Mil operaciones al año no obligan a cambiar de herramienta ni fijan el límite de una hoja.

Macro VBA: qué calcula y qué no

La rutina conserva nombres técnicos Trades y Dashboard: crea hojas con esos nombres. Lee resultado monetario de J y R de L, desde fila dos hasta el último dato de cualquiera de ambas. Agrega filas emparejadas válidas, incluidos ceros; rechaza errores, nulos, pares incompletos y valores no numéricos. Reconocer un número no valida su moneda o sentido económico.

Usa una sola moneda y filas previamente reconciliadas. Escribe en B2 número de operaciones, B3 proporción ganadora, B4 media R, B5 profit factor y B6 resultado neto. Sin filas, aciertos y media quedan no disponibles; sin pérdidas, profit factor no está disponible. No calcula riesgo inicial, deduplica, comprueba fechas o divisas, actualiza tablas dinámicas ni manda correo.

Sub CalculateMetrics()
    Dim ws As Worksheet, lastRow As Long, i As Long
    Dim totalTrades As Long, countWins As Long
    Dim sumWins As Double, sumLosses As Double, sumR As Double
    Dim result As Double, rValue As Double
    Dim resultCell As Variant, rCell As Variant
    Dim resultText As String, rText As String
    Set ws = ThisWorkbook.Sheets("Trades")
    lastRow = Application.Max(ws.Cells(ws.Rows.Count, "J").End(xlUp).Row, _
        ws.Cells(ws.Rows.Count, "L").End(xlUp).Row)
    For i = 2 To lastRow
        resultCell = ws.Cells(i, 10).Value2
        rCell = ws.Cells(i, 12).Value2
        If IsError(resultCell) Then
            Err.Raise vbObjectError + 3, , "Valor de error en J, fila " & i
        End If
        If IsError(rCell) Then
            Err.Raise vbObjectError + 4, , "Valor de error en L, fila " & i
        End If
        If IsNull(resultCell) Then
            Err.Raise vbObjectError + 5, , "Resultado nulo en J, fila " & i
        End If
        If IsNull(rCell) Then
            Err.Raise vbObjectError + 6, , "R nulo en L, fila " & i
        End If
        resultText = Trim$(CStr(resultCell))
        rText = Trim$(CStr(rCell))
        If Len(resultText) > 0 Or Len(rText) > 0 Then
            If Len(resultText) = 0 Or Len(rText) = 0 Then
                Err.Raise vbObjectError + 1, , "Falta resultado o R en fila " & i
            End If
            If Not IsNumeric(resultCell) Then
                Err.Raise vbObjectError + 2, , "Resultado no numérico en J, fila " & i
            End If
            If Not IsNumeric(rCell) Then
                Err.Raise vbObjectError + 2, , "R no numérico en L, fila " & i
            End If
            result = CDbl(resultCell)
            rValue = CDbl(rCell)
            totalTrades = totalTrades + 1
            sumR = sumR + rValue
            If result > 0 Then
                sumWins = sumWins + result
                countWins = countWins + 1
            ElseIf result < 0 Then
                sumLosses = sumLosses + Abs(result)
            End If
        End If
    Next i
    With ThisWorkbook.Sheets("Dashboard")
        .Range("B2").Value = totalTrades
        If totalTrades > 0 Then
            .Range("B3").Value = countWins / totalTrades
            .Range("B4").Value = sumR / totalTrades
        Else
            .Range("B3:B4").Value = CVErr(xlErrNA)
        End If
        If sumLosses > 0 Then
            .Range("B5").Value = sumWins / sumLosses
        Else
            .Range("B5").Value = CVErr(xlErrNA)
        End If
        .Range("B6").Value = sumWins - sumLosses
    End With
    MsgBox "Métricas calculadas para " & totalTrades & " operaciones.", vbInformation
End Sub

Antes de asignarla a un botón, contrasta entradas y salidas de una copia conocida. Caso añadido en EUR: resultados +150, −50 y cero, riesgos iniciales cincuenta cada uno y R de +3, −1 y cero. Cuenta tres, aciertos 1/3 = 33,33 %, media 2/3 ≈ 0,667R, profit factor 150/50 = 3 y neto cien EUR. Excluir el cero elevaría aciertos al 50 % y media a 1R, sin cambiar neto ni profit factor. No cambies denominador silenciosamente.

Una historia hipotética no demuestra causalidad

Marcos empieza con 12.000 EUR y pierde 4.200, un 35 %, en 171 operaciones. Supón que registros conservados permiten clasificar un segmento de cuarenta y ocho que pierde 2.700. Con riesgo inicial de cien por operación, riesgo planificado agregado 4.800 y media −2.700/4.800 = −0,5625R. Con riesgos desiguales, dividir totales produce media ponderada por riesgo, no media aritmética de R.

Otro año ficticio asigna 142 operaciones, beneficio 8.100 EUR, media 0,42R y profit factor 1,94. Noventa y una ganadoras redondean al 64 %, frente a ochenta de 171, aproximadamente 47 %, con otros agregados asignados −0,18R y 0,71. No reconstruyen pagos ni cantidades y no son observaciones auditadas. Excluir un segmento modifica la política; comparar años no aísla su efecto causal.

Otro modelo original en PLN lo aclara: +100 con riesgo cien da +1R; −1.000 con riesgo mil da −1R. Media R cero y resultado monetario −900. Dividir −900 por riesgo agregado 1.100 da aproximadamente −0,818: media ponderada por riesgo, sin ser rendimiento de cuenta. La guía de estadísticas amplía estas métricas.

Segmentar puede encontrar hipótesis y también ruido histórico al buscar muchas categorías. Conserva definición, resultado inicial y datos ausentes. Comprueba cualquier regla modificada en observaciones posteriores que no hayan motivado el cambio. Ningún número de columnas garantiza competencia o rentabilidad.

Tres acciones para reconciliar el diario

  1. Define una fila por idea y conserva operaciones originales con cuenta, ID, moneda, contrato y zona. Documenta cada campo y marca contexto ausente; no atribuyas a entradas pasadas una razón que solo apareció después de conocer el resultado.
  2. Reconcilia veinte operaciones de origen como comprobación pequeña, incluyendo ejecución parcial, cero y costes. Revisa claves completas y conflictos antes de deduplicar; contrasta manualmente resultado, riesgo inicial, media R y profit factor con denominadores definidos y sin restar spread dos veces.
  3. Prueba la macro en una copia con casos conocidos y revisa por separado su incapacidad para validar monedas, fechas y agrupación. Programa una revisión sostenible y conserva hipótesis para observaciones posteriores, sin transformar un segmento retrospectivo en explicación causal o promesa de beneficio.