Diário de trading — planilha, estatísticas e revisão de desempenho

Um guia completo para construir uma planilha de diário em cerca de 20 minutos (tempo indicativo para quem conhece o básico de planilhas; a primeira importação e as verificações podem demorar mais): 26 colunas com nomes técnicos coerentes com o artigo 15.9, fórmulas por linha e painel de nove métricas em duas variantes (Excel polonês e inglês; configurações de planilhas na nuvem são abordadas abaixo), além de um CSV inicial gerado no navegador. Você pode baixar o XLSX pronto ou construir a planilha com as instruções completas abaixo. Aprender as fórmulas ajuda a entender e corrigir os cálculos; graças aos nomes de coluna compartilhados, uma exportação CSV deste diário, com delimitador, codificação e formato de data corretos, funciona com o script S1–S3 pronto do suplemento I e com o script do prompt P5; as auditorias P6–P7 exigem duas colunas adicionais (abaixo).

Planilha de diário de trading com estatísticas automáticas — colunas de execução planejada e real, fórmulas de taxa de acerto, fator de lucro e expectativa, e painel de métricas na tela
O essencial em 60 segundos
  • 26 colunas em cinco grupos: identificação, contexto, plano versus execução, custos e resultados, processo — com fórmulas apenas onde os números são derivados de outros campos (slippage, r_net, execution_drag)
  • Um painel de nove fórmulas: número de operações, taxa de acerto, fator de lucro, expectativa, R total, drawdown máximo em R, médias de MAE/MFE, taxa de execução sem erros — métricas de desempenho calculadas por r_net e de processo em colunas separadas; o alcance de MAE/MFE é explicado abaixo
  • Duas variantes de fórmulas: Excel PL (ŚREDNIA, LICZ.JEŻELI, ponto e vírgula) e Excel EN (AVERAGE, COUNTIF, vírgulas) — alternador e botões de cópia em cada bloco
  • As métricas descrevem a amostra desde o primeiro registro: cerca de 50 operações é um ponto de revisão de exemplo usado no curso, não um mínimo universal ou prova de vantagem. As conclusões dependem de dispersão, dependência entre resultados e plano de testes. Violações de limites ou erros de dados exigem resposta imediata; mudar regras da estratégia exige hipótese e validação separadas

Diário XLSX pronto

Baixar o diário de trading — XLSX em português

O arquivo tem três abas: Statistics, Journal e Instructions, 999 linhas preparadas e fórmulas de resultado líquido, R, slippage e drawdown. As colunas A–Z preservam o formato descrito abaixo; o arquivo também inclui AA–AC (autoavaliação de 15.9), AD (notas), AE–AF (curva de patrimônio e drawdown) e AG (execução sem erros) — as exportações CSV para os scripts abrangem A:Z. As células amarelas recebem dados; não sobrescreva colunas calculadas com uma exportação do broker. Se swap ou comissão for realmente zero, informe 0 — dados ausentes continuam ausentes.

Os exemplos deste guia não entram nas estatísticas do arquivo. O drawdown inclui o ponto inicial de 0 R: uma perda inicial de −1 R produz drawdown de 1 R. Ordene as operações cronologicamente pelo fechamento; mantenha uma ordem coerente quando os horários forem idênticos. Não ordene só a coluna C — os campos de cada registro devem permanecer juntos. Após reordenar linhas, confira se AE/AF ainda acumulam a partir da linha 2. A coluna auxiliar adicional coded_clean não trata um código de erro vazio como execução sem erros.

A planilha mostra médias de MAE e MFE de todas as medições informadas (incluindo zeros), enquanto variantes adicionais para analisar ganhadoras e perdedoras estão abaixo. O arquivo calcula fator de lucro em R, não na moeda da conta. Preencha o resultado planejado na coluna T apenas para o mesmo tipo de saída: compare SL planejado com SL executado e TP com TP. Deixe vazio para saída sem equivalente.

A versão PL usa PLN nos campos *_pln . A versão em português tem a mesma ordem de colunas e nomes monetários neutros sem o sufixo _pln ; você especifica a moeda da conta nas instruções. Ao transferir arquivos CSV entre idiomas, mapeie os cabeçalhos e confira a moeda. Mudar apenas o rótulo da moeda não converte nenhum valor.

Planilha pronta ou construção própria

  • Dois caminhos para o mesmo diário: o XLSX pronto contém fórmulas visíveis, e o guia completo permite recriar a planilha. O arquivo não tem macros nem conexão com o broker. O CSV inicial continua sendo gerado localmente no navegador. Você encontra a versão do arquivo na aba Instructions (atualmente 1.2, de 21 de setembro de 2026; o artigo tem numeração própria).
  • Você conhece a fundo uma planilha construída por você: quando uma fórmula dá erro anos depois (novo par, outro formato de exportação), fica mais fácil identificar a causa porque você sabe o que ela calcula. Um modelo “mágico” quebra silenciosamente — e um diário que mente é pior do que não ter diário.
  • Os nomes das colunas são compartilhados em todo o curso: os cabeçalhos vêm da miniespecificação CSV de 15.9 (a planilha cobre cerca de 20 dos 29 campos lógicos numerados de 15.9 — os ausentes são listados em Fontes), e os mesmos nomes são esperados pelo script S1–S3 pronto do suplemento I e pelo script do prompt P5; as auditorias P6–P7 da oficina de IA também precisam de estado de conformidade com o plano e nota de estado pessoal — adicione: status = “plan” para error_code 0, “breach” para códigos 1–9, e omita as linhas com código 10 (infraestrutura) da exportação P6 ou rotule seu status como “infrastructure” e explique isso no prompt; derive a nota de estado pessoal dos campos de autoavaliação (AA–AC). Um formato, tradução mínima dos dados entre ferramentas.
  • A nuvem é conveniente, mas estes são dados da conta: tamanhos de posição, resultados, erros de processo. Faça uma escolha deliberada entre nuvem e armazenamento local — use os mesmos critérios aplicados ao colar dados em modelos de IA (a seção de higiene dos dados no suplemento H).
Anatomia de uma linha do diário: identificação, contexto, plano versus execução, custos e resultados, processo — o resultado em R é calculado pelo resultado líquido dividido pelo risco planejado 1. IdentificaçãoID · horários · par direção 2. Contextosetup · classe · sessão 3. Plano versus execuçãoentrada/SL/TP planejados/reais slippage 4. Custos e resultadosswap · comissão PnL · r_net 5. Processoerror_code estado · qualidade r_net = resultado líquido / risco planejado uma coluna alimenta todo o painel — por isso usa o resultado LÍQUIDO

Estrutura: 26 colunas em 5 grupos

As letras das colunas (A–Z) correspondem ao layout usado pelas fórmulas abaixo — se mudar a ordem, atualize as referências. Mantenha os cabeçalhos técnicos em inglês: isso permite que a exportação CSV funcione com o script P5 sem mapeamento. Você pode adicionar três campos de autoavaliação (mental_state, sleep_hours, decision_quality de 15.9) como colunas opcionais AA–AC (já incluídas no arquivo) — as fórmulas não os exigem.

Col.CabeçalhoGrupo 1: identificaçãoExemplo
Atrade_idnúmero sequencial ou ID da plataforma2026-041
Bopen_time_utcdata e hora de abertura em UTC — exportações MT4/MT5 usam o horário do servidor do broker (ex.: GMT+2/+3 — confira suas especificações); converta a partir do fuso do servidor (15.9); formato YYYY-MM-DD HH:MM2026-07-08 07:42
Cclose_time_utcdata e hora de fechamento em UTC (como em B); um valor real de data/hora na planilha, não texto. Vazio = operação aberta, excluída das métricas; uma data inválida ou fechamento anterior à abertura informada não produz R2026-07-08 13:15
Dpairinstrumento — 6 caracteres sem separador nem sufixo do broker (EURUSD, não EUR/USD ou EURUSD.m); a fórmula de pip vale apenas para pares FX (um pip é 0.0001, ou 0.01 para pares JPY — identificados pelo final); para outros instrumentos, informe o tamanho do pip pelas especificações e mude o multiplicadorEURUSD
Edirectionlong / short (minúsculas — a fórmula de slippage compara texto)long
Col.CabeçalhoGrupo 2: contextoExemplo
Fsetupnome do setup do playbook (suplemento E)asia-london-breakout
Gsetup_classA+ / A / B / C — classe do playbook na entrada; a lista do arquivo segue 15.9. Não atribua classe com base no resultado posteriorA+
Hsessionsessão de entrada (Ásia / Londres / NY / sobreposição)Londres
Col.CabeçalhoGrupo 3: plano versus execuçãoExemplo
Iplanned_entryentrada planejada (registrada ANTES de enviar a ordem)1.0850
Jactual_entryexecução real da plataforma1.0852
Kplanned_slstop-loss planejado1.0820
Lplanned_tptake-profit planejado1.0910
Mactual_exitpreço real de fechamento1.0907
Nspread_pipsspread na entrada0.7
Oslippage_entry_pipsfórmula — slippage de entrada em pips, positivo = execução pior2.0
Col.CabeçalhoGrupo 4: custos e resultadosExemplo
Pswapvalor de swap com sinal na moeda da conta (um custo é negativo)−3.20
Qcommissioncomissão como custo não negativo; 0 se não houver comissão. Converta um custo negativo da exportação do broker para valor positivo para a fórmula não somá-lo ao lucro7.00
Rbroker_gross_pnlresultado bruto da plataforma: após spread e execução de preço, antes de swap e comissão201.67
Sbroker_net_pnlfórmula (ou informe manualmente se o broker fornecer resultado líquido)191.47
Tplanned_gross_pnlresultado planejado para o mesmo tipo de saída (valor): TP planejado para saída no TP, SL planejado para saída no stop; deixe vazio para saída manual ou por tempo — o arquivo então deixa W vazio, enquanto 15.9 calcula o impacto como a soma de slippage de entrada, comissão e swap em R: (O × valor do pip + Q − P) / U, em que o swap P preserva o sinal (negativo = custo) — calculado manualmente, fora da fórmula220.00
Uplanned_riskrisco planejado na moeda da conta (USD nos exemplos; distância da entrada planejada → SL planejado em pips × valor do pip para o volume planejado). Este é o denominador R fixo da operação, sem ajuste posterior para coincidir com a perda. Não é uma perda máxima garantida: gaps, slippage e custos podem ampliá-la110.00
Vr_netfórmula — resultado líquido em R; a coluna que alimenta as métricas de desempenho1.74
Wexecution_drag_Rfórmula — diferença entre resultado bruto planejado e resultado líquido real em R; pode ser negativa quando o resultado é melhor que o planejado0.26
Col.CabeçalhoGrupo 5: processoExemplo
Xmae_rmáxima excursão desfavorável do preço durante a vida da posição, em R (definição: 15.9, seção 7)0.35
Ymfe_rmáxima excursão favorável do preço durante a vida da posição, em R2.10
Zerror_code0 = execução sem erros; 1–9 = códigos de erros de decisão; 10 = erro de infraestrutura (catálogo: 15.9)0

Fórmulas por linha — colunas calculadas

Variante de fórmulas:

Configurações: a variante PL usa nomes de funções em polonês e ponto e vírgula; EN usa nomes em inglês e vírgulas. O delimitador depende das configurações regionais; no Google Sheets, o idioma das funções é definido separadamente. Ao importar, defina B/C como data e hora e depois confira =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): o resultado correto é PRAWDA/TRUE. Mudar apenas a aparência da célula não basta.

Insira as fórmulas na linha 2 e preencha para baixo (ou copie para um intervalo). Os intervalos vão até a linha 1000 — para um diário maior, amplie as fórmulas por linha, a validação e todos os intervalos do painel, incluindo as verificações de preenchimento.

O2 · slippage_entry_pips positivo = execução pior que a planejada; pares JPY usam 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 se o broker informar resultado líquido, insira-o manualmente e omita a 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 resultado líquido em R — vazio até haver data de fechamento (C), resultado líquido (S) e risco (U); uma operação aberta não entra nas 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 comparação com o resultado planejado para o mesmo tipo de saída (T) — deixe T e W vazios para saída manual ou por tempo (15.9: nesse caso, impacto = (O × valor do 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,"")

Painel: 9 métricas e como interpretá-las

Cole as métricas em uma aba separada (como no arquivo: acrescente o nome da aba antes de cada intervalo, ex. 'Journal'!V2:V1000) ou acima da tabela — nesse caso, os cabeçalhos saem da linha 1 e você precisa ajustar as referências. Copiar um bloco fornece várias fórmulas em linhas separadas; coloque cada uma na célula apropriada. AE2, AF2 e AG2 pertencem à aba Journal, não à Statistics.

Um diário vazio dá N = 0, R total = 0 e drawdown máximo = 0; WR, PF, expectativa e médias sem medições ficam vazios. PF também fica vazio quando não há perdas, pois a razão não tem valor finito nesse caso. Resultados em R exigem resultado líquido em S, U positivo e data/hora numérica em C dentro do intervalo de datas do Excel. Se B estiver preenchido, deve ser uma data reconhecida não posterior a C. O Excel armazena datas como números; a formatação da célula não converte texto em data nem verifica se o horário foi realmente inserido em UTC.

A versão 1.2 do arquivo usa validação do tipo Stop para datas, direção, classe, custo de comissão, risco, MAE/MFE e código. Colar dados pode contornar a validação — por isso V rejeita datas em texto e risco não positivo, S rejeita custos de comissão negativos, e AG aceita somente códigos inteiros 0–10. As verificações nas linhas 16–19 de Statistics mostram fechamentos informados sem R, operações com R mas sem código válido e medições inválidas de MAE e MFE. Uma fórmula de data que retorna texto vazio é tratada como fechamento ausente, não como operação fechada inválida. Qualquer contagem acima de zero precisa ser explicada antes de avaliar a amostra completa.

As métricas de desempenho usam V. As médias de MAE/MFE de todas as medições informadas usam uma amostra separada: incluem números não negativos, inclusive zero, mesmo quando V ainda está vazio. Um número negativo, texto (incluindo “0.5” armazenado como texto), espaço ou valor booleano em uma coluna de medição bloqueia sua média até a resolução, em vez de distorcer silenciosamente o resultado. A contagem de células inválidas fica em Statistics B18 para MAE e B19 para MFE; um erro em uma coluna não bloqueia uma média válida na outra. Não compare automaticamente os tamanhos dessas amostras com o número de operações fechadas. Informe medições não negativas para o mesmo período definido da vida da posição; deixe as ausentes vazias. As variantes de ganhadoras/perdedoras abaixo selecionam um subconjunto por V.

Métricas 1–5 número de operações · taxa de acerto · fator de lucro · expectativa · R total
Número de operações:  =ILE.LICZB(V2:V1000)
Taxa de acerto:           =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000))
Fator de lucro:      =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0"))
Expectativa (R):     =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000))
R total:             =SUMA(V2:V1000)
Número de operações:  =COUNT(V2:V1000)
Taxa de acerto:           =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000))
Fator de lucro:      =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0"))
Expectativa (R):     =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000))
R total:             =SUM(V2:V1000)
Métrica 6 · drawdown máximo em R colunas auxiliares AE (curva de patrimônio) e AF (drawdown atual) — preencha ambas para baixo
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 e execução sem erros (+ impacto médio) audite stops, saídas e processo
MAE médio (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 no arquivo, B11)
MFE médio (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 no arquivo, B12)
MAE médio das ganhadoras:    =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 médio das 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);"");"")
Execução sem erros:     =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000))
Impacto médio da execução:   =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000))   (opcional, não está no arquivo)
MAE médio (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 no arquivo, B11)
MFE médio (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 no arquivo, B12)
MAE médio das ganhadoras:    =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),""))
MFE médio das 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),""),"")
Execução sem erros:     =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000))
Impacto médio da execução:   =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000))   (opcional, não está no arquivo)
Verificações de preenchimento — como em Statistics B16:B19 uma contagem acima de zero significa que os registros precisam de conferência
Fechamento sem R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000)
R sem 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")
Fechamento sem R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000)
R sem 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")
Duas unidades de R — exemplo de conferência. Uma operação com risco U = USD 50 e resultado líquido de −USD 50 tem resultado de −1R; outra com U = USD 200 e resultado líquido de +USD 200 tem +1R. O total de r_net é 0R, mas a conta ganhou USD 150. Se o 1R base do plano era USD 100 naquele período, o resultado medido contra esse limite é +1.5 R base. PF também difere: 1 em R por operação, 4 em USD. São medidas diferentes, não uma contradição. Selecione o período pelo fuso e pelos limites semanais especificados no plano; os horários de origem do diário permanecem em UTC. A soma dos resultados das posições fechadas não substitui o monitoramento do patrimônio atual ou das perdas das posições abertas. Se o R base mudar, siga a regra documentada do plano em vez de dividir o período inteiro por um valor arbitrário do final.
MétricaComo ler os resultados e suas limitações
Taxa de acertoSozinha, não diz nada sobre uma vantagem — veja o gráfico abaixo. Fica vazia quando não há operações fechadas; 0% significa amostra sem ganhadoras. Use-a para comparar resultados com as premissas do playbook, não para julgar “sou bom nisso?”
Fator de lucroAbaixo de 1.0 = resultado negativo em R para a amostra analisada; só tem significado junto com número de operações e drawdown. Ausência de perdas na amostra significa divisão por zero, não “vantagem infinita”
Expectativa (R)O número mais importante do diário: resultado líquido médio por operação. Um valor positivo após custos descreve esta amostra, mas não prova, por si só, uma vantagem. Avalie dispersão, dependência entre resultados, estabilidade das condições e resultados de validação conforme o protocolo de testes (N). O número 50 é um ponto de revisão de exemplo, e a decisão de aumentar a escala também exige conformidade com o plano de risco
Drawdown máximo (R)Uma medida do histórico completo: AF calcula o drawdown a partir do maior pico da curva, portanto não é a perda da semana. O limite semanal do plano (suplemento E) é expresso no R base do plano ou em porcentagem do capital. Não o compare diretamente com o r_net total se as operações tiveram valores U diferentes. Com R base constante na moeda da conta, o resultado do período na unidade do plano é a soma dos resultados líquidos em S naquele período dividida pelo valor do R base. Para limite percentual, use a base de capital especificada no plano. AF descreve o caminho do R acumulado das operações, não o drawdown do saldo ou patrimônio da conta. Um drawdown incomum exige conferir dados, condições e premissas dos testes
Média de MAE das ganhadorasBaixa (ex.: < 0.4R) = hipótese de que o stop é mais amplo que o necessário — a testar em uma nova amostra, não a encurtar imediatamente (15.9); perto de 1R = as ganhadoras sofreram movimento adverso próximo ao risco integral — confira entradas e posição do stop antes de concluir que é um problema de execução
MFE médio das perdedorasAlto = as operações andaram a seu favor e depois inverteram — audite as regras de saída e realização parcial de lucro
Impacto da execução (média)Uma fórmula opcional (acima), calculada só nas operações com T preenchido. Um valor persistentemente alto indica diferença entre resultado bruto planejado e resultado líquido real em saídas comparáveis: inclui custos e diferenças nos preços de execução. Saídas manuais/antecipadas sem equivalente não entram nesta média. Não a combine com a estimativa simplificada de custos dessas saídas
Execução sem errosA porcentagem de operações fechadas com error_code = 0 (a coluna AG conta apenas operações com R válido e código inteiro de 0 a 10; código ausente não conta como execução sem erros). Cerca de 90% pode ser um limiar de trabalho em um plano específico, não um padrão de qualidade. Confira o número de operações avaliadas e códigos ausentes: 100% obtidos de um código 0 e muitos códigos vazios não descrevem o diário inteiro. Uma violação crítica exige ação independentemente da porcentagem. Métricas de operações que violam regras não são um teste limpo dessas regras
Comparação de dois sistemas: uma taxa de acerto maior, de 60 por cento, produz expectativa negativa com relação ruim entre lucro e perda, enquanto 40 por cento de acerto com ganhadoras de 2R produz expectativa positiva Taxa de acerto A: 60% B: 40% ganho médio 0.5R · perda média 1R ganho médio 2R · perda média 1R Expectativa por operação A: −0.10R B: +0.20R por isso o painel começa pela expectativa, e você lê a taxa de acerto apenas junto com a distribuição de R

CSV inicial e importação

O botão cria o arquivo CSV inteiramente no navegador, sem enviar dados nem fazer uma solicitação de rede separada: 26 cabeçalhos e duas linhas de exemplo — uma ganhadora e uma perdedora — para as fórmulas demonstrarem como funcionam. A variante PL usa ponto e vírgula e vírgula decimal (selecione o delimitador explicitamente na importação; o comportamento do clique duplo depende das configurações do sistema), enquanto EN usa vírgulas e ponto decimal. Após importar, substitua as colunas calculadas (O, S, V, W) nas linhas de exemplo pelas fórmulas da seção acima e apague os exemplos antes do primeiro registro (ou mantenha-os em arquivo separado). Uma exportação CSV pode salvar a precisão exibida pelo programa; no XLSX 1.2, as colunas V e W usam seis casas decimais. O CSV inicial também usa seis casas, calculadas pelos valores de cada linha. Com esse arredondamento, o erro em um valor R individual não excede 0.0000005 R; PF pode ser mais sensível quando a soma das perdas é muito pequena. Um resultado com valor absoluto abaixo de 0.0000005 R pode arredondar para zero, mudando a classificação ganho/perda e a taxa de acerto; para esses dados, aumente a precisão antes de exportar. Para análise que exija maior precisão, aumente-a antes da exportação, não só depois no script.

Arquivo inicial do diário gerado localmente, usando a variante selecionada no alternador de fórmulas
Exportação para os suplementos H e I, passo a passo: copie os cabeçalhos e as linhas usadas de A:Z da aba Journal para um arquivo novo com “Colar valores”. Configure B/C como yyyy-mm-dd hh:mm (uma interface polonesa pode mostrar rrrr-mm-dd gg:mm), e V/W com no mínimo seis casas decimais, sem separador de milhares. Salve como CSV UTF-8. Antes de combinar arquivos, confira se os valores trade_id são únicos: o script S1 não remove duplicações. Agregue execuções parciais de uma posição conforme a unidade de operação escolhida (incluindo custos), preservando seu U original; não conte a mesma operação tanto como várias execuções quanto como resumo único. Abra uma cópia em um editor de texto: confira os 26 campos por registro, delimitador, datas UTC e números. CSV contém valores, não fórmulas nem outras abas — guarde o XLSX original. Para S1, configure PL: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 com BOM pode ser lido como utf-8-sig.

Conferindo os dois exemplos: resultado líquido de USD 191.47 com risco de USD 110 dá 1.740636 R; resultado líquido de −USD 113.10 com risco de USD 105 dá −1.077143 R. Com esses valores de seis casas decimais, o script deve produzir N = 2, WR = 50%, total de 0.663493 R, expectativa de 0.3317465 R, PF de aproximadamente 1.615974852 e DD máximo de 1.077143 R. S2 imprime números arredondados: WR 0.5; PF 1.62; expectativa 0.332 R; total 0.66 R; DD máximo 1.08 R. As fórmulas completas do XLSX calculam por razões não arredondadas, portanto os últimos dígitos podem diferir. S1 interrompe a análise em uma operação fechada inválida; P5 instrui o script a excluir e relatar esse registro. Compare métricas apenas após conciliar a amostra. P5 é uma instrução para gerar um script, não um arquivo pronto com resultado garantido.

Construção passo a passo

  1. Crie uma planilha em branco no Excel ou LibreOffice Calc; uma planilha na nuvem também funciona — mas estes são dados da conta, portanto escolha deliberadamente.
  2. Importe o CSV inicial (ou copie os cabeçalhos das tabelas de estrutura). Confira se os números foram importados como números — se “1.0850” aparecer como texto, a variante de delimitador não corresponde às configurações do sistema.
  3. Cole as fórmulas por linha em O2, S2, V2 e W2 e preencha para baixo com uma reserva de linhas.
  4. Cole o painel (métricas 1–9) acima da tabela ou em aba separada; preencha as colunas auxiliares AE, AF e AG para baixo da mesma forma que as fórmulas por linha, até a última linha preparada.
  5. Estabeleça uma rotina: faça um registro após cada operação fechada (a lista EOD do suplemento J inclui isso), leia as métricas na revisão semanal e tome decisões de playbook trimestralmente (suplemento E).
Painel do diário de trading em uma planilha — células com taxa de acerto, fator de lucro, expectativa e drawdown máximo em R acima da tabela de registros, com a curva de patrimônio de uma coluna auxiliar ao lado
Painel do diário de trading em uma planilha — células com taxa de acerto, fator de lucro, expectativa e drawdown máximo em R acima da tabela de registros, com a curva de patrimônio de uma coluna auxiliar ao lado

Perguntas frequentes

Excel, LibreOffice ou planilha na nuvem?

As fórmulas usam funções básicas disponíveis no Excel, LibreOffice Calc e Google Sheets. Porém, a escolha de nomes de funções e delimitadores depende do programa e das configurações do arquivo: a variante PL mostra nomes poloneses e ponto e vírgula, enquanto EN mostra nomes ingleses e vírgulas. Uma planilha na nuvem pode exigir nomes ingleses com ponto e vírgula. Não afirmamos ter testado todas as versões desses programas. A diferença real está em outro ponto: o diário contém tamanhos de posição, resultados e um catálogo dos seus erros — na nuvem, esses dados ficam sujeitos às políticas do provedor e são armazenados fora do seu próprio disco. A regra desta seção é manter os dados da conta locais por padrão; use a nuvem deliberadamente e exporte um backup. É a mesma decisão exigida pela seção de higiene de dados do suplemento H antes de colar um diário em um chat.

Quantas operações são necessárias para as métricas terem significado?

As métricas descrevem a amostra desde a primeira operação; cerca de cinquenta é um ponto de trabalho de exemplo para a primeira revisão do sistema, não um limiar de significância — antes disso, expectativa e taxa de acerto mudam bastante após cada sequência e dizem mais sobre ela que sobre o sistema; dispersão e dependência entre resultados também importam (por isso o mesmo número aparece no playbook do suplemento E como limiar de classe A+). Isso não significa que o diário seja inútil antes: métricas de processo funcionam desde o primeiro registro — taxa de execução sem erros e preenchimento dos registros — e determinam se os números do sistema algum dia serão confiáveis. A ordem é sempre a mesma: primeiro o processo, depois a amostra e, por fim, a avaliação do sistema. Atualização sobre a versão atual de E: as cerca de cinquenta operações citadas são um momento ilustrativo para revisão, não um limiar A+ do playbook atual. A classificação segue condições necessárias e critérios de qualidade definidos previamente; o tamanho da amostra, por si só, não atribui uma classe.

Por que ter uma coluna error_code se o resultado já aparece?

Porque resultado e qualidade da decisão são dimensões separadas: há operações lucrativas que violam o plano (o caso mais perigoso — uma violação recompensada se reforça) e execuções exemplares que acabam em perda. Error_code 0–10 permite calcular a expectativa SEPARADAMENTE para execução sem erros: se o sistema ganha dinheiro após filtrar as violações, isso sugere um problema de execução, não das regras — uma diferença entre subgrupos ainda não prova a causa; só mostra onde procurar. Mantenha o código 10 (erro de infraestrutura) separado dos erros de decisão; os procedimentos para esses casos estão no suplemento K, enquanto o catálogo dos códigos 1–9 está em 15.9.

Meu Excel não aceita as fórmulas — o que devo conferir?

Quase sempre é uma de três coisas. Primeiro, a variante: idioma das funções e delimitador de argumentos são configurações separadas. O alternador oferece duas combinações comuns (PL: nomes poloneses + ponto e vírgula; EN: nomes ingleses + vírgulas), mas confira as configurações regionais. No Google Sheets, confira também a opção de usar nomes de funções em inglês. Segundo, o separador decimal: um sistema com vírgula decimal lê “1.0850” como texto — por isso existem duas variantes CSV. Terceiro, as aspas: copiar por aplicativos de mensagens pode trocar aspas retas por tipográficas — copie pelo botão desta página, sem intermediário. Se algo ainda não calcular, o prompt P3 do suplemento H pode revisar fórmulas tão bem quanto código.

Cenário ilustrativo: um sistema “lucrativo”, até o diário contabilizar os custos. O diário era mantido com cuidado, mas a coluna de resultado era copiada da plataforma em valor BRUTO — sem comissão nem swaps. Após um trimestre, a expectativa era +0.12R, levando à decisão de aumentar a frequência: mais operações = mais lucro. Após adicionar colunas de custos e recalcular r_net pelo resultado líquido, o resultado foi −0.04R — o sistema não ganhava dinheiro, apenas o movimentava, e aumentar a frequência aprofundava a perda exatamente pelo custo de cada operação adicional. Por isso a ordem firme das colunas no grupo 4: custos separados, resultado líquido separado e r_net calculado exclusivamente pelo resultado líquido.
Cenário ilustrativo: MAE revela um stop curto demais para o mercado. Um trader cuja taxa de acerto era claramente inferior à sugerida pelo backtest suspeitava de caça aos stops pelo broker. Um diário com colunas mae_r e mfe_r revelou uma verdade menos empolgante: nas operações perdedoras, MAE terminava regularmente um pouco além de 1.0R, enquanto MFE nas mesmas entradas havia antes atingido 1.5R+ — as posições andavam na direção certa, invertiam e só então atingiam o stop. MAE/MFE medem apenas a vida da posição, portanto o comportamento do preço após o stop exigia medição separada em janela definida — e ela mostrou retorno à direção pretendida. Isso levou à hipótese de que o SL ficava dentro das oscilações normais do preço e de que as regras de saída não capturavam parte do movimento. ATR descreve a escala da volatilidade, mas não estabelece, por si só, o melhor posicionamento do stop. Neste cenário ilustrativo, mover o stop para além da estrutura de mercado e reduzir o volume para manter o mesmo valor de risco foi testado em uma amostra separada; só o resultado dessa amostra justificou avaliar a mudança adiante. Sem colunas MAE/MFE, essa hipótese nem surge — resta apenas uma teoria da conspiração sobre o broker.
  • 15.9 Diário e métricas — catálogo completo dos campos (incluindo códigos de erro 0–10), definições de MAE/MFE e métricas avançadas (SQN, Sortino)
  • 15.10 Auditoria da estratégia — o que se pode inferir das métricas e com qual amostra
  • Suplemento I — kit de código — script S1–S3 pronto e testado: lê a exportação CSV desta planilha (A–Z), calcula métricas e desenha a curva de patrimônio
  • Suplemento H, prompts P5–P7 — script para calcular métricas da exportação CSV desta planilha, mais auditorias de padrões (P6–P7: adicione estado de conformidade com o plano e nota de estado pessoal; P7 espera métricas semanais — copie as linhas fechadas naquela semana para uma aba separada e calcule ali as mesmas fórmulas; um filtro automático sozinho não muda os resultados de COUNT/SUM/AVERAGE)
  • Suplemento E — modelo de plano — playbook calibrado trimestralmente pelos números deste diário
  • Suplemento J — listas de verificação — rotina EOD/EOW que mantém o diário em uso
Aviso: esta página é educativa e não é aconselhamento de investimento. As fórmulas e a estrutura servem para medir seus resultados, não prevê-los; linhas e valores de exemplo ilustram o formato dos dados, não resultados esperados. Métricas calculadas de amostras pequenas ou resultados brutos levam a decisões ruins — por isso r_net é calculado pelo resultado líquido, e avaliar o sistema exige um plano de testes e atenção à incerteza e dependência entre resultados — apenas ultrapassar 50 operações não confirma nada.

Fontes

  1. Van K. Tharp, Trade Your Way to Financial Freedom, 2ª ed., McGraw-Hill 2007 — conceitos de múltiplos de R e expectativa como métricas centrais do sistema, nos quais se baseiam a coluna r_net e o painel.
  2. Interno: 15.9 Diário e métricas (estrutura dos campos, códigos de erro, MAE/MFE) e 15.10 Auditoria da estratégia (inferência disciplinada a partir de uma amostra) — 26 colunas A–Z mais 3 campos de autoavaliação dão 29 colunas no arquivo, mas a planilha cobre cerca de 20 dos 29 campos lógicos numerados de 15.9; os ausentes são regime, actual_tp, slippage_exit_pips e quatro que a própria seção 15.9 pede para adicionar (“a planilha é anterior a esta seção”): lots, pip_value_at_open, strategy_version, evidence_link — se usar o script de 15.9, adicione-os como colunas opcionais a partir de AH para não sobrescrever AA–AG existentes; para scripts que esperam A:Z, continue exportando apenas esse intervalo.
  3. Documentação: Microsoft — delimitador de argumentos e CSV, Microsoft — importação e exportação de CSV, Google Sheets — localidade e idioma das funções. Verificado em 21 de setembro de 2026; são regras de configuração, não uma afirmação de que todo aplicativo foi testado.
  4. NIST — incerteza da média: dependência do tamanho da amostra e da dispersão; não justifica um limiar universal de 50 operações. Verificado em 21 de setembro de 2026.

Jarosław Wasiński

Editor-chefe, ForexMechanics.com • Analista macro e FX

Analista independente e profissional com mais de 20 anos de experiência nos mercados financeiros. Atua no Forex desde 2007, com foco em análise fundamentalista, estrutura do mercado OTC e gestão disciplinada do risco de capital.

  • Criador e editor-chefe do MyBank.pl, oferecendo educação financeira confiável desde 2004.
  • Autor de centenas de comentários de mercado aprofundados, análises estruturais e materiais educacionais para traders e investidores.
  • Defensor da transparência do mercado, promovendo uma educação baseada em dados concretos e relatórios institucionais (BIS, ESMA, CFTC).

Todo o conteúdo tem caráter exclusivamente educacional e informativo – não constitui recomendação de investimento. Lembre-se: operar com alavancagem (Forex/CFD) envolve alto risco de perda rápida de capital.