Diario di trading — foglio di calcolo, statistiche e revisione dei risultati

Una guida completa per costruire il foglio di diario in circa 20 minuti (tempo indicativo per chi conosce le basi dei fogli di calcolo; la prima importazione e i controlli dei dati possono richiedere più tempo): 26 colonne con nomi tecnici coerenti con l’ articolo 15.9, formule di riga e riepilogo di nove metriche in due varianti (Excel polacco e inglese; le impostazioni dei fogli cloud sono spiegate sotto), più un CSV iniziale generato nel browser. Puoi scaricare l’XLSX pronto oppure costruire il foglio seguendo le istruzioni complete qui sotto. Imparare le formule aiuta a capire i calcoli e correggerli autonomamente; grazie ai nomi di colonna condivisi, un’esportazione CSV di questo diario, selezionando separatore, codifica e formato data corretti, funziona con lo script S1–S3 pronto del modulo I e con lo script del prompt P5; le verifiche P6–P7 richiedono due colonne aggiuntive (vedi sotto).

Foglio del diario di trading con statistiche automatiche: colonne di piano ed esecuzione effettiva, formule di tasso di successo, profit factor e aspettativa e riepilogo delle metriche sullo schermo
L’essenziale in 60 secondi
  • 26 colonne in cinque gruppi: identificazione, contesto, piano rispetto all’esecuzione, costi e risultati, processo; formule solo dove i valori derivano da altri campi (slippage, r_net, execution_drag)
  • Un riepilogo di nove formule: numero di operazioni, tasso di successo, profit factor, aspettativa, R totale, drawdown massimo in R, MAE/MFE medi e percentuale di esecuzioni senza errori; le metriche dei risultati sono calcolate da r_net, quelle di processo da colonne separate; l’ambito di MAE/MFE è spiegato sotto
  • Due varianti delle formule: Excel PL (ŚREDNIA, LICZ.JEŻELI, punti e virgola) ed Excel EN (AVERAGE, COUNTIF, virgole), con selettore e pulsanti di copia per ogni blocco
  • Le metriche descrivono il campione dalla prima registrazione: circa 50 operazioni è un esempio di punto di revisione usato nel corso, non un minimo universale o una prova di vantaggio. Le conclusioni dipendono da dispersione, dipendenza tra risultati e piano di test. Violazioni dei limiti o errori nei dati richiedono una risposta immediata; modificare le regole della strategia richiede un’ipotesi separata e una validazione

Diario XLSX pronto

Scarica il diario di trading — XLSX in italiano

Il file ha tre fogli: Statistics, Journal e Instructions, 999 righe predisposte e formule per P&L netto, R, slippage e drawdown. Le colonne A–Z mantengono il formato descritto sotto; sono incluse anche AA–AC (autovalutazione del 15.9), AD (note), AE–AF (curva cumulativa e drawdown) e AG (esecuzione senza errori); le esportazioni CSV per gli script coprono A:Z. Le celle gialle accettano dati; non sovrascrivere le colonne calcolate con un’esportazione del broker. Se swap o commissioni sono davvero pari a zero, inserisci 0: un dato mancante deve restare mancante.

Gli esempi della guida non alimentano le statistiche del file. Il drawdown include il punto iniziale di 0 R: una prima perdita di −1 R produce un drawdown di 1 R. Disponi le operazioni in ordine cronologico di chiusura e mantieni un ordine coerente quando gli orari coincidono. Non ordinare soltanto la colonna C: tutti i campi del record devono restare insieme. Dopo aver riordinato le righe, controlla che AE/AF continuino ad accumulare dalla riga 2. La colonna ausiliaria aggiuntiva coded_clean non considera un codice errore vuoto come esecuzione senza errori.

Il foglio mostra MAE e MFE medi per tutte le misurazioni inserite (inclusi gli zeri); le varianti aggiuntive per analizzare vincite e perdite restano sotto. Il file calcola il profit factor in R, anziché nella valuta del conto. Compila il P&L pianificato in T solo per lo stesso tipo di uscita: confronta SL pianificato con SL eseguito e TP con TP. Lascialo vuoto per un’uscita senza equivalente.

La versione PL usa PLN nei campi *_pln . La versione italiana mantiene lo stesso ordine di colonne e nomi monetari neutrali senza il suffisso _pln ; specifichi la valuta del conto nelle istruzioni. Quando trasferisci CSV tra lingue, mappa le intestazioni e controlla la valuta. Cambiare soltanto l’etichetta della valuta non converte alcun valore.

Foglio pronto o costruzione autonoma

  • Due percorsi verso lo stesso diario: l’XLSX pronto contiene formule visibili e la guida completa permette di ricreare il foglio. Il file non ha macro né collegamento al broker. Il CSV iniziale continua a essere generato localmente nel browser. Trovi la versione del file nel foglio Instructions (attualmente 1.2, del 21 settembre 2026; l’articolo ha un numero di versione separato).
  • Conosci a fondo un foglio costruito da te: quando una formula restituisce un errore anni dopo (nuova coppia, formato di esportazione diverso), è più facile individuarne la causa perché sai che cosa calcola. Un modello «magico» può guastarsi senza avvisare, e un diario che mente è peggiore dell’assenza di un diario.
  • I nomi delle colonne sono condivisi in tutto il corso: le intestazioni provengono dalla mini specifica CSV del 15.9 (il foglio copre circa 20 dei 29 campi logici numerati del 15.9; quelli mancanti sono elencati nelle Fonti), e gli stessi nomi sono attesi dallo script S1–S3 pronto del modulo I e dallo script del prompt P5; le verifiche P6–P7 del laboratorio di IA richiedono anche uno stato di conformità al piano e una nota sullo stato personale: aggiungili, usando status = «plan» per error_code 0, «breach» per i codici 1–9 e, per il codice 10 (infrastruttura), escludi le righe dall’esportazione P6 oppure assegna loro lo stato «infrastructure» spiegandolo nel prompt; ricava la nota sullo stato dai campi di autovalutazione (AA–AC). Un formato unico riduce al minimo la traduzione dei dati tra strumenti.
  • Il cloud è comodo, ma questi sono dati del conto: dimensioni delle posizioni, risultati, errori di processo. Scegli consapevolmente tra archiviazione cloud e locale, usando gli stessi criteri applicati quando incolli dati nei modelli di IA (la sezione sull’igiene dei dati del modulo H).
Anatomia di una riga del diario: identificazione, contesto, piano rispetto all’esecuzione, costi e risultati, processo; il risultato in R è calcolato dal P&L netto e dal rischio pianificato 1. IdentificazioneID · orari · coppia direzione 2. Contestosetup · classe · sessione 3. Piano ed esecuzioneingresso/SL/TP pianificati ed effettivi slippage 4. Costi e risultatiswap · commissioni PnL · r_net 5. Processoerror_code stato · qualità r_net = P&L netto / rischio pianificato una colonna alimenta l’intero riepilogo — per questo usa il P&L NETTO

Struttura: 26 colonne in 5 gruppi

Le lettere delle colonne (A–Z) corrispondono alla disposizione usata dalle formule sotto: se cambi l’ordine, aggiorna i riferimenti. Mantieni le intestazioni tecniche in inglese: questo permette di usare l’esportazione CSV con lo script P5 senza mappature. Puoi aggiungere tre campi di autovalutazione (mental_state, sleep_hours, decision_quality del 15.9) come colonne facoltative AA–AC (già incluse nel file); le formule non li richiedono.

Col.IntestazioneGruppo 1: identificazioneEsempio
Atrade_idnumero progressivo o ID della piattaforma2026-041
Bopen_time_utcdata e ora di apertura in UTC; le esportazioni MT4/MT5 usano l’ora del server del broker (es. GMT+2/+3: controlla le sue specifiche); converti dal fuso del server (15.9); formato YYYY-MM-DD HH:MM2026-07-08 07:42
Cclose_time_utcdata e ora di chiusura in UTC (come in B); nel foglio deve essere un vero valore data/ora, non testo. Vuoto = operazione aperta, esclusa dalle metriche; una data non valida o una chiusura precedente all’apertura inserita non produce R2026-07-08 13:15
Dpairstrumento: 6 caratteri senza separatore o suffisso del broker (EURUSD, non EUR/USD o EURUSD.m); la formula del pip vale soltanto per le coppie FX (un pip è 0.0001, oppure 0.01 per le coppie JPY, riconosciute dalla terminazione); per altri strumenti inserisci la dimensione del pip dalle specifiche e modifica il moltiplicatoreEURUSD
Edirectionlong / short (minuscolo: la formula dello slippage confronta il testo)long
Col.IntestazioneGruppo 2: contestoEsempio
Fsetupnome del setup nel playbook (modulo E)asia-london-breakout
Gsetup_classA+ / A / B / C: classe del playbook al momento dell’ingresso; l’elenco nel file segue il 15.9. Non assegnare una classe in base al risultato successivoA+
Hsessionsessione d’ingresso (Asia / London / NY / overlap)London
Col.IntestazioneGruppo 3: piano ed esecuzioneEsempio
Iplanned_entryingresso pianificato (registrato PRIMA di inserire l’ordine)1.0850
Jactual_entryprezzo effettivo di esecuzione dalla piattaforma1.0852
Kplanned_slstop-loss pianificato1.0820
Lplanned_tptake-profit pianificato1.0910
Mactual_exitprezzo effettivo di chiusura1.0907
Nspread_pipsspread all’ingresso0.7
Oslippage_entry_pipsformula — slippage d’ingresso in pip, positivo = esecuzione peggiore2.0
Col.IntestazioneGruppo 4: costi e risultatiEsempio
Pswapimporto dello swap con segno nella valuta del conto (un costo è negativo)−3.20
Qcommissioncommissione come costo non negativo; 0 se non ci sono commissioni. Converti un costo negativo dell’esportazione del broker in valore positivo, affinché la formula non lo aggiunga al profitto7.00
Rbroker_gross_pnlP&L lordo della piattaforma: dopo spread ed esecuzione del prezzo, prima di swap e commissioni201.67
Sbroker_net_pnlformula (oppure inserisci manualmente se il broker riporta il P&L netto)191.47
Tplanned_gross_pnlP&L pianificato per lo stesso tipo di uscita (importo): TP pianificato per un’uscita a TP, SL pianificato per un’uscita a stop; lascia vuoto per un’uscita manuale o a tempo. Il file lascia quindi W vuoto, mentre il 15.9 calcola l’impatto come somma di slippage d’ingresso, commissioni e swap in R: (O × valore del pip + Q − P) / U, dove lo swap P mantiene il proprio segno (negativo = costo); il calcolo è manuale, esterno alla formula220.00
Uplanned_riskrischio pianificato nella valuta del conto (USD negli esempi; distanza dall’ingresso pianificato → SL pianificato in pip × valore del pip per il volume pianificato). È il denominatore R fisso dell’operazione, senza aggiustamenti successivi per farlo coincidere con la perdita. Non è una perdita massima garantita: gap, slippage e costi possono aumentarla110.00
Vr_netformula — P&L netto in R; la colonna che alimenta le metriche dei risultati1.74
Wexecution_drag_Rformula — differenza tra P&L lordo pianificato e P&L netto effettivo in R; può essere negativa quando il risultato è migliore del piano0.26
Col.IntestazioneGruppo 5: processoEsempio
Xmae_rmassima escursione sfavorevole del prezzo durante la vita della posizione, in R (definizione: 15.9, sezione 7)0.35
Ymfe_rmassima escursione favorevole del prezzo durante la vita della posizione, in R2.10
Zerror_code0 = esecuzione senza errori; 1–9 = codici degli errori decisionali; 10 = errore d’infrastruttura (catalogo: 15.9)0

Formule di riga — colonne calcolate

Variante delle formule:

Impostazioni: la variante PL usa nomi di funzione polacchi e punti e virgola; EN usa nomi inglesi e virgole. Il separatore dipende dalle impostazioni locali; in Google Sheets la lingua delle funzioni viene impostata separatamente. Durante l’importazione imposta B/C come data e ora, poi controlla =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): il risultato corretto è PRAWDA/TRUE. Cambiare soltanto l’aspetto della cella non basta.

Inserisci le formule nella riga 2 ed estendile verso il basso (oppure copiale in un intervallo). Gli intervalli arrivano alla riga 1000; per un diario più lungo estendi formule di riga, convalida e ogni intervallo del riepilogo, inclusi i controlli di completezza.

O2 · slippage_entry_pips positivo = esecuzione peggiore del piano; le coppie JPY usano un moltiplicatore di 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 il broker riporta il P&L netto, inseriscilo manualmente e ometti la formula
=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&L netto in R; vuoto finché non sono presenti data di chiusura (C), P&L netto (S) e rischio (U); un’operazione aperta non entra nelle metriche
=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 confronto con il risultato pianificato per lo stesso tipo di uscita (T); lascia T e W vuoti per un’uscita manuale o a tempo (15.9: in tal caso, impatto = (O × valore del pip + Q − P) / U, calcolato manualmente)
=JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(T2));(T2-S2)/U2;"")
=IF(AND(ISNUMBER(V2),ISNUMBER(T2)),(T2-S2)/U2,"")

Riepilogo: 9 metriche e loro interpretazione

Incolla le metriche in un foglio separato (come nel file: anteponi a ogni intervallo il nome del foglio, es. 'Journal'!V2:V1000) oppure sopra la tabella; in questo caso le intestazioni si spostano dalla riga 1 e devi adeguare i riferimenti. Copiare un blocco produce più formule su righe separate; inserisci ciascuna nella cella corretta. AE2, AF2 e AG2 appartengono al foglio Journal, non a Statistics.

Un diario vuoto dà N = 0, R totale = 0 e drawdown massimo = 0; WR, PF, aspettativa e medie senza misurazioni restano vuoti. Anche PF resta vuoto in assenza di perdite, perché allora il rapporto non ha un valore finito. I risultati in R richiedono P&L netto in S, U positivo e una data/ora numerica in C entro l’intervallo di date di Excel. Se B è compilato, deve essere una data riconosciuta non successiva a C. Excel memorizza le date come numeri; la formattazione non converte testo in data e non verifica che l’orario sia stato effettivamente inserito in UTC.

La versione 1.2 del file usa la convalida di tipo Interruzione per date, direzione, classe, costo delle commissioni, rischio, MAE/MFE e codice. Incollare dati può aggirare la convalida; per questo V rifiuta date testuali e rischio non positivo, S rifiuta costi di commissione negativi e AG accetta solo codici interi 0–10. I controlli nelle righe 16–19 di Statistics mostrano chiusure inserite senza R, operazioni con R ma senza codice valido e misurazioni MAE e MFE non valide. Una formula di data che restituisce testo vuoto viene trattata come chiusura mancante, non come operazione chiusa non valida. Qualsiasi conteggio superiore a zero deve essere spiegato prima di valutare l’intero campione.

Le metriche dei risultati usano V. MAE/MFE medi di tutte le misurazioni inserite usano un campione separato: includono numeri non negativi, compreso zero, anche quando V è ancora vuoto. Un numero negativo, testo (incluso «0.5» memorizzato come testo), uno spazio o un valore booleano in una colonna di misurazione ne blocca la media finché non viene risolto, anziché alterarla silenziosamente. Trovi il numero di celle non valide in Statistics B18 per MAE e B19 per MFE; un errore in una colonna non blocca una media valida nell’altra. Non confrontare automaticamente le loro dimensioni campionarie con il numero di operazioni chiuse. Inserisci misurazioni non negative per lo stesso periodo definito della vita della posizione; lascia vuote quelle mancanti. Le varianti per vincite/perdite qui sotto selezionano un sottoinsieme in base a V.

Metriche 1–5 numero di operazioni · tasso di successo · profit factor · aspettativa · R totale
Numero di operazioni:  =ILE.LICZB(V2:V1000)
Tasso di successo:           =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000))
Profit factor:      =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0"))
Aspettativa (R):     =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000))
R totale:             =SUMA(V2:V1000)
Numero di operazioni:  =COUNT(V2:V1000)
Tasso di successo:           =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000))
Profit factor:      =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0"))
Aspettativa (R):     =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000))
R totale:             =SUM(V2:V1000)
Metrica 6 · drawdown massimo in R colonne ausiliarie AE (curva cumulativa) e AF (drawdown corrente); estendile entrambe verso il basso
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 massimo (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 massimo (R): =MAX(AF2:AF1000)
Metriche 7–9 · MAE/MFE ed esecuzione senza errori (+ impatto medio) verifica stop, uscite e processo
MAE medio (tutte):  =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)))   (come nel file, B11)
MFE medio (tutte):  =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)))   (come nel file, B12)
MAE medio delle vincite:    =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 delle perdite:  =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);"");"")
Esecuzione senza errori:     =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000))
Impatto medio dell’esecuzione:   =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000))   (facoltativo, non presente nel file)
MAE medio (tutte):  =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IF(COUNT(X2:X1000)=0,"",AVERAGE(X2:X1000)))   (come nel file, B11)
MFE medio (tutte):  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IF(COUNT(Y2:Y1000)=0,"",AVERAGE(Y2:Y1000)))   (come nel file, B12)
MAE medio delle vincite:    =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),""))
MFE medio delle perdite:  =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),""),"")
Esecuzione senza errori:     =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000))
Impatto medio dell’esecuzione:   =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000))   (facoltativo, non presente nel file)
Controlli di completezza — come in Statistics B16:B19 un conteggio superiore a zero indica registrazioni da verificare
Chiusura senza R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000)
R senza codice:       =ILE.LICZB(V2:V1000)-ILE.LICZB(AG2:AG1000)
MAE non valido:       =WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")
MFE non valido:       =WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")
Chiusura senza R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000)
R senza codice:       =COUNT(V2:V1000)-COUNT(AG2:AG1000)
MAE non valido:       =ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")
MFE non valido:       =ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")
Due unità di R — esempio di verifica. Un’operazione con rischio U = USD 50 e P&L netto di −USD 50 ha risultato −1R; un’altra con U = USD 200 e P&L netto di +USD 200 ha +1R. La somma di r_net è 0R, ma il conto ha guadagnato USD 150. Se l’1R di base del piano era USD 100 in quel periodo, il risultato misurato rispetto al suo limite è +1.5 R di base. Anche PF differisce: 1 negli R delle operazioni, 4 in USD. Sono misure diverse, non una contraddizione. Seleziona il periodo usando fuso orario e confini della settimana previsti dal piano; gli orari originari del diario restano in UTC. La somma dei risultati delle posizioni chiuse non sostituisce il monitoraggio del capitale corrente o delle perdite delle posizioni aperte. Se l’R di base cambia, segui la regola documentata nel piano anziché dividere tutto il periodo per un importo arbitrario del suo termine.
MetricaCome leggere risultati e limiti
Tasso di successoDa solo non dice nulla sul vantaggio: vedi il grafico sotto. Resta vuoto quando non ci sono operazioni chiuse; 0% indica un campione senza vincite. Usalo per confrontare i risultati con le ipotesi del playbook, non per giudicare «sono bravo in questo?»
Profit factorSotto 1.0 = risultato negativo in R nel campione esaminato; ha senso solo insieme a numero di operazioni e drawdown. Nessuna perdita nel campione significa divisione per zero, non «vantaggio infinito»
Aspettativa (R)Il numero più importante del diario: risultato netto medio per operazione. Un valore positivo dopo i costi descrive questo campione, ma da solo non dimostra un vantaggio. Valuta dispersione, dipendenza tra risultati, stabilità delle condizioni e risultati della validazione secondo il protocollo di test (N). Il numero 50 è un esempio di punto di revisione; anche la decisione di aumentare la scala richiede il rispetto del piano di rischio
Drawdown massimo (R)Una misura dell’intera cronologia: AF calcola il drawdown dal massimo picco della curva, quindi non è la perdita della settimana. Il limite settimanale del piano (modulo E) è espresso nell’R di base del piano o come percentuale del capitale. Non confrontarlo direttamente con la somma di r_net se le operazioni avevano valori U diversi. Con un R di base costante nella valuta del conto, il risultato del periodo nell’unità del piano è la somma dei P&L netti in S del periodo divisa per l’importo dell’R di base. Per un limite percentuale usa la base di capitale specificata nel piano. AF descrive il percorso degli R cumulativi delle operazioni, non il drawdown del saldo o del capitale del conto. Un drawdown insolito richiede di verificare dati, condizioni e ipotesi del test
Media del MAE delle vinciteBassa (es. < 0.4R) = ipotesi che lo stop sia più ampio del necessario, da testare su un nuovo campione, non da restringere subito (15.9); vicina a 1R = le operazioni vincenti hanno subito un movimento sfavorevole prossimo all’intero rischio: controlla ingressi e collocazione degli stop prima di concludere che sia un problema d’esecuzione
MFE medio delle perditeElevato = le operazioni si sono mosse a favore per poi invertire: verifica le regole d’uscita e di presa parziale dei profitti
Impatto dell’esecuzione (medio)Formula facoltativa (sopra), calcolata solo dalle operazioni con T compilato. Un valore persistentemente elevato indica uno scarto tra P&L lordo pianificato e P&L netto effettivo per uscite comparabili: include costi e differenze nei prezzi di esecuzione. Le uscite manuali/anticipate senza equivalente non entrano nella media. Non combinarla con la stima semplificata dei costi di quelle uscite
Esecuzione senza erroriPercentuale di operazioni chiuse con error_code = 0 (la colonna AG conta solo operazioni con R valido e codice intero da 0 a 10; un codice mancante non vale come esecuzione senza errori). Circa il 90% può essere una soglia operativa di un piano specifico, non uno standard di qualità. Controlla il numero di operazioni valutate e di codici mancanti: il 100% ottenuto da un solo codice 0 e molti codici vuoti non descrive l’intero diario. Una violazione critica richiede intervento a prescindere dalla percentuale. Le metriche delle operazioni che violano le regole non sono un test pulito di quelle regole
Confronto tra due sistemi: un tasso di successo maggiore, del 60 per cento, produce aspettativa negativa con un rapporto profitto/perdita sfavorevole, mentre un tasso del 40 per cento con vincite di 2R produce aspettativa positiva Tasso di successo A: 60% B: 40% vincita media 0.5R · perdita media 1R vincita media 2R · perdita media 1R Aspettativa per operazione A: −0.10R B: +0.20R per questo il riepilogo parte dall’aspettativa e il tasso di successo va letto solo insieme alla distribuzione degli R

CSV iniziale e importazione

Il pulsante crea il file CSV interamente nel browser, senza inviare dati o effettuare una richiesta di rete separata: 26 intestazioni più due righe di esempio, una vincente e una perdente, così le formule hanno dati su cui mostrarne il funzionamento. La variante PL usa punti e virgola e virgola decimale (seleziona esplicitamente il separatore durante l’importazione; il comportamento del doppio clic dipende dalle impostazioni di sistema), mentre EN usa virgole e punto decimale. Dopo l’importazione sostituisci le colonne calcolate (O, S, V, W) delle righe di esempio con le formule della sezione precedente ed elimina gli esempi prima della prima registrazione (oppure conservali in un file separato). Un’esportazione CSV può salvare la precisione visualizzata dal programma; nell’XLSX 1.2 le colonne V e W usano sei decimali. Anche il CSV iniziale usa sei decimali, calcolati dagli importi di ogni riga. Con questo arrotondamento, l’errore di un singolo valore R non supera 0.0000005 R; PF può essere più sensibile se la somma delle perdite è molto piccola. Un risultato con valore assoluto inferiore a 0.0000005 R può arrotondarsi a zero, modificando la classificazione vincita/perdita e il tasso di successo; per questi dati aumenta la precisione prima dell’esportazione. Per analisi che richiedono precisione maggiore, aumentala prima di esportare, non soltanto dopo nello script.

File iniziale del diario generato localmente, nella variante scelta dal selettore delle formule
Esportazione per i moduli H e I, passo per passo: copia intestazioni e righe usate di A:Z dal foglio Journal in un nuovo file usando «Incolla valori». Imposta B/C su yyyy-mm-dd hh:mm (un’interfaccia polacca può mostrare rrrr-mm-dd gg:mm) e V/W ad almeno sei decimali, senza separatore delle migliaia. Salva come CSV UTF-8. Prima di unire file verifica che i trade_id siano univoci: lo script S1 non elimina i duplicati. Aggrega le esecuzioni parziali di una posizione secondo l’unità di operazione scelta (inclusi i costi), mantenendo l’U originario; non contare la stessa operazione sia come più esecuzioni sia come riepilogo unico. Apri una copia in un editor di testo: verifica 26 campi per record, separatore, date UTC e numeri. Il CSV contiene valori, non formule o altri fogli: conserva l’XLSX originario. Per S1 imposta PL: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 con BOM può essere letto come utf-8-sig.

Verifica dei due esempi: un P&L netto di USD 191.47 con rischio di USD 110 dà 1.740636 R; un P&L netto di −USD 113.10 con rischio di USD 105 dà −1.077143 R. Da questi valori a sei decimali lo script dovrebbe produrre N = 2, WR = 50%, totale 0.663493 R, aspettativa 0.3317465 R, PF circa 1.615974852 e DD massimo di 1.077143 R. S2 stampa valori arrotondati: WR 0.5; PF 1.62; aspettativa 0.332 R; totale 0.66 R; DD massimo 1.08 R. Le formule complete dell’XLSX calcolano da rapporti non arrotondati, quindi le ultime cifre possono differire. S1 interrompe l’analisi in presenza di un’operazione chiusa non valida; P5 indica allo script di escludere e segnalare quel record. Confronta le metriche solo dopo aver riconciliato il campione. P5 è un’istruzione per generare uno script, non un file pronto con risultato garantito.

Costruzione passo per passo

  1. Crea un foglio vuoto in Excel o LibreOffice Calc; va bene anche un foglio cloud, ma sono dati del conto: scegli consapevolmente.
  2. Importa il CSV iniziale (oppure copia le intestazioni dalle tabelle della struttura). Controlla che i numeri siano importati come numeri: se «1.0850» appare come testo, la variante del separatore non corrisponde alle impostazioni del sistema.
  3. Incolla le formule di riga in O2, S2, V2 e W2 ed estendile verso il basso predisponendo una riserva di righe.
  4. Incolla il riepilogo (metriche 1–9) sopra la tabella o in un foglio separato; estendi le colonne ausiliarie AE, AF e AG come le formule di riga, fino all’ultima riga predisposta.
  5. Stabilisci una routine: registra ogni operazione chiusa (è previsto nella checklist di fine giornata del modulo J ), leggi le metriche nella revisione settimanale e prendi le decisioni sul playbook ogni trimestre (modulo E).
Riepilogo del diario di trading in un foglio: celle di tasso di successo, profit factor, aspettativa e drawdown massimo in R sopra la tabella delle registrazioni, con a lato la curva cumulativa di una colonna ausiliaria
Riepilogo del diario di trading in un foglio: celle di tasso di successo, profit factor, aspettativa e drawdown massimo in R sopra la tabella delle registrazioni, con a lato la curva cumulativa di una colonna ausiliaria

Domande frequenti

Excel, LibreOffice o un foglio cloud?

Le formule usano funzioni di base disponibili in Excel, LibreOffice Calc e Google Sheets. Tuttavia nomi di funzione e separatori dipendono dalle impostazioni del programma e del file: la variante PL mostra nomi polacchi e punti e virgola, mentre EN mostra nomi inglesi e virgole. Un foglio cloud può richiedere nomi inglesi con punti e virgola. Non affermiamo di aver testato ogni versione di questi programmi. La distinzione sostanziale è altrove: il diario contiene dimensioni delle posizioni, risultati e un catalogo dei tuoi errori; nel cloud questi dati sono soggetti alle politiche del fornitore e conservati fuori dal tuo disco. La regola della sezione è mantenere i dati del conto localmente per impostazione predefinita; scegli il cloud consapevolmente ed esporta una copia di sicurezza. È la stessa decisione richiesta dalla sezione sull’igiene dei dati del modulo H prima di incollare un diario in chat.

Quante operazioni servono perché le metriche abbiano significato?

Le metriche descrivono il campione dalla prima operazione; circa cinquanta è un esempio di punto operativo per una prima revisione del sistema, non una soglia di significatività. Prima, aspettativa e tasso di successo cambiano sensibilmente dopo ogni sequenza e dicono più su quella sequenza recente che sul sistema; contano anche dispersione e dipendenza tra risultati (per questo lo stesso numero compare nel playbook del modulo E come soglia della classe A+). Ciò non significa che prima il diario sia inutile: le metriche di processo funzionano dalla prima registrazione, cioè percentuale di esecuzioni senza errori e completezza delle registrazioni, e determinano se le cifre del sistema potranno essere affidabili. L’ordine è sempre lo stesso: prima il processo, poi il campione e infine la valutazione del sistema. Aggiornamento alla versione attuale di E: le circa cinquanta operazioni citate sono un momento esemplificativo per una revisione, non una soglia A+ del playbook attuale. La classe dipende da condizioni necessarie e criteri di qualità definiti in anticipo; la sola numerosità del campione non assegna una classe.

Perché serve error_code quando il risultato è già visibile?

Perché risultato e qualità della decisione sono dimensioni separate: esistono operazioni redditizie che violano il piano (il caso più pericoloso: una violazione premiata viene rinforzata) ed esecuzioni esemplari che finiscono in perdita. Error_code 0–10 permette di calcolare l’aspettativa SEPARATAMENTE per le esecuzioni senza errori: se il sistema guadagna dopo aver escluso le violazioni, ciò suggerisce un problema nell’esecuzione anziché nelle regole; una differenza tra sottogruppi non dimostra ancora la causa, indica soltanto dove cercare. Tieni il codice 10 (errore d’infrastruttura) separato dagli errori decisionali; le procedure per questi casi sono nel modulo K, mentre il catalogo dei codici 1–9 è nel 15.9.

Excel non accetta le formule: che cosa controllo?

Quasi sempre è uno di tre elementi. Primo, la variante: lingua delle funzioni e separatore degli argomenti sono impostazioni separate. Il selettore offre due combinazioni comuni (PL: nomi polacchi + punti e virgola; EN: nomi inglesi + virgole), ma controlla le impostazioni locali. In Google Sheets verifica anche l’opzione per usare i nomi inglesi delle funzioni. Secondo, il separatore decimale: un sistema con virgola decimale legge «1.0850» come testo, da cui le due varianti CSV. Terzo, le virgolette: passando da app di messaggistica le virgolette dritte possono diventare tipografiche; copia con il pulsante della pagina, senza intermediari. Se qualcosa continua a non essere calcolato, il prompt P3 del modulo H può revisionare le formule esattamente come il codice.

Scenario illustrativo: un sistema «redditizio», finché il diario non ha considerato i costi. Il diario era tenuto con cura, ma la colonna P&L veniva copiata dalla piattaforma al LORDO, senza commissioni o swap. Dopo un trimestre l’aspettativa era +0.12R, portando alla decisione di aumentare la frequenza: più operazioni = più profitto. Aggiungendo le colonne dei costi e ricalcolando r_net dal P&L netto, il risultato diventava −0.04R: il sistema non guadagnava, faceva soltanto girare denaro, e aumentare la frequenza aggravava la perdita esattamente del costo di ogni operazione aggiuntiva. Da qui l’ordine rigoroso delle colonne del gruppo 4: costi separati, P&L netto separato e r_net calcolato esclusivamente dal P&L netto.
Scenario modellistico: MAE rivela uno stop troppo stretto per il mercato. Un trader con tasso di successo chiaramente inferiore a quello suggerito dal backtest sospettava che il broker cacciasse gli stop. Un diario con colonne mae_r e mfe_r rivelava una verità meno avvincente: sulle operazioni perdenti, MAE terminava regolarmente poco oltre 1.0R, mentre MFE degli stessi ingressi aveva prima raggiunto 1.5R+; le posizioni si muovevano nella direzione giusta, invertivano e solo allora colpivano lo stop. MAE/MFE misurano soltanto la vita della posizione, quindi il prezzo dopo lo stop richiedeva una misurazione separata su una finestra definita; questa mostrava un ritorno nella direzione prevista. Ne derivava l’ipotesi che lo SL fosse dentro le normali oscillazioni del mercato e che le regole d’uscita non cogliessero parte del movimento. L’ATR descrive la scala della volatilità, ma da solo non determina la collocazione ottimale dello stop. In questo scenario, spostare lo stop oltre la struttura di mercato e ridurre il volume per mantenere invariato l’importo a rischio veniva testato su un campione separato; soltanto il risultato di quel campione giustificava un’ulteriore valutazione della modifica. Senza colonne MAE/MFE l’ipotesi non emerge: resta soltanto una teoria del complotto sul broker.
  • 15.9 Diario e metriche — catalogo completo dei campi (inclusi i codici errore 0–10), definizioni MAE/MFE e metriche avanzate (SQN, Sortino)
  • 15.10 Verifica della strategia — che cosa si può dedurre dalle metriche e da quale campione
  • Modulo I — kit di codice — script S1–S3 pronto e testato: legge l’esportazione CSV di questo foglio (A–Z), calcola le metriche e traccia la curva cumulativa
  • Modulo H, prompt P5–P7 — uno script per calcolare le metriche dall’esportazione CSV di questo foglio, più verifiche degli schemi ricorrenti (P6–P7: aggiungi stato di conformità al piano e nota sullo stato personale; P7 richiede metriche settimanali: copia le righe chiuse nella settimana in un foglio separato e calcola lì le stesse formule; il solo filtro automatico non modifica i risultati COUNT/SUM/AVERAGE)
  • Modulo E — modello del piano — un playbook calibrato ogni trimestre usando le cifre di questo diario
  • Modulo J — checklist — la routine di fine giornata/settimana che mantiene il diario in uso
Avvertenza: questa pagina ha finalità didattiche e non è consulenza d’investimento. Formule e struttura servono a misurare i tuoi risultati, non a prevederli; righe e valori di esempio illustrano il formato dei dati, non risultati attesi. Le metriche calcolate da piccoli campioni o risultati lordi conducono a decisioni inadeguate; per questo r_net deriva dal P&L netto e la valutazione del sistema richiede un piano di test e attenzione a incertezza e dipendenza tra risultati: superare semplicemente 50 operazioni non conferma nulla.

Fonti

  1. Van K. Tharp, Trade Your Way to Financial Freedom, 2ª ed., McGraw-Hill 2007: concetti di multipli di R e aspettativa come metriche fondamentali del sistema, su cui si basano la colonna r_net e il riepilogo.
  2. Riferimenti interni: 15.9 Diario e metriche (struttura dei campi, codici errore, MAE/MFE) e 15.10 Verifica della strategia (inferenza rigorosa da un campione): 26 colonne A–Z più 3 campi di autovalutazione danno 29 colonne nel file, ma il foglio copre circa 20 dei 29 campi logici numerati del 15.9; i campi mancanti sono regime, actual_tp, slippage_exit_pips e quattro che il 15.9 stesso chiede di aggiungere («il foglio precede questa sezione»): lots, pip_value_at_open, strategy_version, evidence_link — se usi lo script del 15.9, aggiungili come colonne facoltative da AH in poi per non sovrascrivere AA–AG esistenti; per gli script che attendono A:Z, continua a esportare soltanto quell’intervallo.
  3. Documentazione: Microsoft — separatore degli argomenti e CSV, Microsoft — importazione ed esportazione CSV, Google Sheets — impostazioni locali e lingua delle funzioni. Verificato il 21 settembre 2026; sono regole di configurazione, non un’affermazione che ogni applicazione sia stata testata.
  4. NIST — incertezza della media: dipendenza da dimensione del campione e dispersione; non giustifica una soglia universale di 50 operazioni. Verificato il 21 settembre 2026.

Jarosław Wasiński

Caporedattore, ForexMechanics.com • Analista macro e FX

Analista indipendente e professionista con oltre 20 anni di esperienza nei mercati finanziari. Attivo nel Forex dal 2004, con un focus sull'analisi fondamentale, la struttura del mercato OTC e la gestione disciplinata del rischio di capitale.

  • Fondatore e caporedattore di MyBank.pl, che offre formazione finanziaria affidabile dal 2004.
  • Autore di centinaia di commenti di mercato approfonditi, analisi strutturali e materiali didattici per trader e investitori.
  • Sostenitore della trasparenza del mercato, promuovendo una formazione basata su dati concreti e report istituzionali (BIS, ESMA, CFTC).

Tutti i contenuti hanno carattere esclusivamente didattico e informativo – non costituiscono consulenza di investimento né alcuna raccomandazione. Ricorda: il trading con leva (Forex/CFD) comporta un elevato rischio di rapida perdita del capitale.