În acest articol
După lectură vei putea să…
- Verifici domeniul unicității identificatorilor din jurnal.
- Separi reimportul identic de coliziunea ID-urilor între conturi.
- Grupezi ieșirile parțiale înaintea numărului de idei și mediei R.
Explicații ale termenilor în articol
Jurnal de tranzacționare — plan, execuție și registru Rezultat realizat — P/L Valoare noțională a poziției Soldul contului (balance) Comision de tranzacție Scădere de la maxim (drawdown)Într-un jurnal ipotetic, Mark înregistrează 171 tranzacții și pierdere de 4.200 EUR. Câmpuri pentru setup și contextul știrilor permit identificarea retrospectivă a unui segment cu pierdere de 2.700 EUR, circa 64,3% din total. Nu rezultă că excluderea lui va produce ulterior profit de 8.100 EUR. Cele 25 câmpuri de mai jos sunt un proiect editorial, fără standard obligatoriu al industriei.
Ce poate lipsi dintr-un jurnal cu cinci coloane?
Alege câmpurile după întrebările de investigat. Jurnalul compact poate consemna rezultate, dar nu poate reconstitui contextul neînregistrat. Propunerea grupează zece câmpuri de tranzacție, cinci de risc, cinci de setup și cinci de revizuire. Poți adapta structura păstrând sursa auditabilă.
Separă evenimentele sursă de agregate. Planul consemnează informația disponibilă atunci; execuțiile și taxele descriu ce s-a întâmplat; formulele derivă rezultatele. Un fill importat rămâne dată sursă. Definește un rând de sinteză drept o idee și leagă execuțiile parțiale prin ID-ul ideii într-o foaie de operațiuni. Două ieșiri nu sunt automat două semnale independente. În dicționar păstrează cont, monedă, demo/live, fus și versiunea strategiei; nu aduna PLN cu USD fără conversie definită.
Cele zece câmpuri ale tranzacției
Pe un ecran mic, derulează tabelul orizontal pentru a citi toate coloanele.
| Nr. | Câmp | Definiție de păstrat |
|---|---|---|
| 1 | Data și ora intrării | YYYY-MM-DD și HH:MM, cu fus explicit; pentru ordine și segmentare. |
| 2 | Instrument | EUR/USD, GBP/JPY ori aur cotat USD; simbolul furnizorului și specificația. XAU/USD nu este pereche de două monede. |
| 3 | Direcție | Long sau short, necesară semnului rezultatului. |
| 4 | Preț de intrare | Fill efectiv, separat de cotația ori prețul planificat. |
| 5 | Stop loss | Nivelul planificat și tipul ordinului; ieșirea efectivă se păstrează separat. |
| 6 | Take profit | Țintă dacă există, altfel regula documentată de ieșire. |
| 7 | Volum | Loturi și unitățile contractuale pe lot; eticheta lotului nu definește orice produs. |
| 8 | Preț de ieșire | Fill real, indiferent dacă provine din stop, țintă sau închidere manuală. |
| 9 | Data și ora ieșirii | Permite durata deținerii, cu aceeași convenție temporală. |
| 10 | Rezultat monetar | Net după costurile aplicabile, în moneda declarată. |
Păstrează planul separat când investighezi slippage. Unele măsuri intratranzacție cer observații suplimentare acestor zece câmpuri. Comisionul și finanțarea pot fi înregistrări separate. Spreadul este deja inclus în prețurile executabile de cumpărare/vânzare; nu îl deduce de două ori. Eticheta ECN nu stabilește un cost universal în EUR pe lot.
Cinci câmpuri de risc: definește întâi referința
Rezultat 800 EUR raportat la risc inițial 400 EUR înseamnă 2R; 1.200 EUR la 1.000 EUR înseamnă 1,2R. Raporturile separă scara de rezultat, fără verdict despre strategia superioară sau riscul efectiv suportat.
- Risc inițial procentual: risc monetar planificat împărțit la soldul ori equity declarat. Cu format procentual în foaie, nu mai înmulți încă o dată cu 100. Pentru număr simplu exprimat în procente, înmulțești o dată.
- R net: rezultat net/risc inițial pozitiv și valid. 150 EUR/50 EUR=3R, −50/50=−1R. Mutarea ulterioară a stopului nu rescrie numitorul inițial. Dacă lipsește, lasă R lipsă. Stopul obișnuit nu garantează limita pierderii.
- Câștig cedat până la ieșire: vârf favorabil +4R, ieșire +1R →3R cedați. Nu este neapărat drawdown maxim vârf–minim, care cere traseul intermediar.
- Expunere: nominal sau altă bază definită și comparabilă, în moneda comună.
- Corelație: cu fereastra și metoda. +0,90 nu face două poziții identice și nu dublează mecanic riscul.
Cinci câmpuri care explică motivul intrării
- Tip de setup: categorii stabile, cu observații valide și incertitudine pe segment. Opt–zece etichete ori o sută de tranzacții nu garantează estimare fiabilă.
- Timeframe al semnalului: separat de durata deținerii.
- Confluențe definite: condițiile observabile, fără presupunerea independenței lor. Media, RSI și patternul din aceleași prețuri pot repeta informația.
- Context de eveniment: eveniment programat și fus; în România poți afișa Europe/Bucharest, păstrând și timestampul sursă cu offset.
- Stare autoevaluată 1–10: criterii consecvente la intrare, fără reconstruire după rezultat.
Relația dintre rating și pierderi nu identifică automat cauza. Scorul sub patru nu dovedește universal speranță negativă. Nici 60 ori 100 observații nu garantează timeframe superior sau creștere a ratei câștigurilor cu 15–20%.
Cinci câmpuri de revizuire a execuției
- Respectarea planului: scală definită 1–10; schimbările autorizate diferă de abateri. Nu atribui automat 0,3R fiecărui punct sub șapte sau fenomenul la 90% dintre traderi.
- Număr de abateri definite: de exemplu volum mărit fără autorizare ori instrucțiune de ieșire obligatorie omisă. Denumirea „greșeală” nu dovedește singură efect statistic asupra profitului.
- Observație într-o propoziție: „Intrare înaintea închiderii H1 cerute” ori „Ieșire la +0,8R în loc de +2R; verific motivul”. Leagă nota de regulă și dovadă. Abaterea profitabilă rămâne abatere; pierderea corect executată nu este automat eroare.
- Link la capturi: intrare și ieșire, într-un loc cu acces verificat, fără date personale inutile.
- Etichetă lunară: categorie definită, de exemplu ianuarie-NFP sau februarie-EURUSD-range, pentru căutare.
Statisticile tranzacționării completează aceste câmpuri cu măsuri și numitori expliciți.
Identificatorul local cere și contul
Patru rânduri fictive, toate în PLN și în această ordine: A/17 +10, A/18 −4, B/17 +7, reimport identic A/17 +10. ID-urile sunt unice numai în fiecare cont al modelului. Confirmăm identitatea repetării, apoi păstrăm prima copie pe cheia completă (cont,ID): trei înregistrări, 10−4+7=13 PLN.
Identificatorul local cere și contul
Pe un ecran mic, derulează diagrama orizontal sau mărește-o. Explicația este disponibilă și în text.
Microsoft documentează comparația pe mai multe coloane și avertizează că eliminarea duplicatelor nu garantează prima copie păstrată. Regula primei copii este a auditului nostru, fără promisiune Power Query ori unicitate globală a ID-urilor reale. Dacă aceeași cheie completă are valori diferite, investighează conflictul, fără eliminare ca repetare identică.
Când alegi Excel, TraderSync sau Edgewonk?
Foaia oferă control asupra câmpurilor și formulelor; verifică licența și funcțiile disponibile. Excel nu este universal gratuit, iar serviciile plătite pot permite personalizare. Timpul de pregătire depinde de cerințe și competențe, fără durată garantată ori plafon de o mie de tranzacții.
Pe un ecran mic, derulează tabelul orizontal pentru a citi toate coloanele.
| Unealtă | Ce verifici |
|---|---|
| Foaie de calcul | Licență, formule, reconciliere, import și export. |
| TraderSync | Planuri recurente, importul produsului concret, rapoarte și export. |
| Edgewonk | Abonament anual, moneda finală, taxe și reînnoire; fără acces perpetuu pentru o plată unică de 169 USD. |
| Control practic | Reconciliază un eșantion cunoscut înaintea încrederii în agregate. Numărul tranzacțiilor nu obligă la migrare. |
Exemplu VBA pentru agregarea măsurilor
Rutina citește rezultatul monetar din J și R din L, foaia Trades, apoi scrie în Dashboard. Păstrează aceste nume ori adaptează-le consecvent. Codul nu derivă riscul inițial, nu validează monedele, nu deduplichează, nu reîmprospătează toate tabelele și nu trimite email. Rulează numai pe rânduri reconciliate, într-o monedă definită.
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, , "Valoare de eroare în J la rândul " & i
End If
If IsError(rCell) Then
Err.Raise vbObjectError + 4, , "Valoare de eroare în L la rândul " & i
End If
If IsNull(resultCell) Then
Err.Raise vbObjectError + 5, , "Rezultat Null în J la rândul " & i
End If
If IsNull(rCell) Then
Err.Raise vbObjectError + 6, , "R Null în L la rândul " & 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, , "Rezultat sau R lipsă la rândul " & i
End If
If Not IsNumeric(resultCell) Then
Err.Raise vbObjectError + 2, , "Rezultat nenumeric în J la rândul " & i
End If
If Not IsNumeric(rCell) Then
Err.Raise vbObjectError + 2, , "R nenumeric în L la rândul " & 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 "Indicatori calculați pentru " & totalTrades & " tranzacții.", vbInformation
End Sub
Rândul valid cu rezultat zero intră în număr. Fără pierderi, PF este indisponibil. Datele lipsă în pereche, Null, erorile și valorile nenumerice sunt respinse. Acest exemplu nu a fost executat aici în Excel: testează o copie și compară intrările/ieșirile înaintea activării. Value2 poate întoarce date formatate drept valori numerice; verificarea numerică nu validează date calendaristice, monede ori gruparea pe idei. Leagă un buton numai după verificare; automatizările suplimentare cer implementare și testare separate.
Model RON: rândul de ieșire nu este o idee nouă
Ideea X are risc inițial 100 RON, două ieșiri cu rezultate brute +60 și +40 RON și cost total 10 RON, atribuit o singură dată celei de-a doua ieșiri. Netul ideii este 90 RON, adică +0,9R. Ideea Y pierde 100 RON net la risc inițial 100 RON: −1R. Două idei: rată a câștigurilor 1/2=50%, rezultat net −10 RON și medie (0,9−1)/2=−0,05R.
Dacă tratezi cele două ieșiri X drept idei și atribui greșit fiecăreia întregul risc inițial 100, rândurile sunt +60/+0,6R, +30/+0,3R și −100/−1R. Banii rămân −10 RON, dar rata devine 2/3≈66,67%, iar media −1/30≈−0,0333R pe rând. Nu este aceeași întrebare. Rutina agregă rândurile primite, fără recuperarea ID-ului ideii. Grupează mai întâi operațiunile, păstrează legăturile și costul dedus o singură dată. Sunt exemple fictive, fără avantaj măsurat.
Gruparea pe idee precede agregarea. Rutina nu poate reconstitui singură unitatea observației.
Pe un ecran mic poți derula diagrama orizontal sau o poți mări. Valorile și concluzia apar și în textul de mai jos.
- Corect: două idei
- X +90/+0,9R; Y −100/−1R – Net −10 RON, câștiguri 1/2=50%, medie −0,05R.
- Greșit: trei rânduri ca trei idei
- +60/+0,6R; +30/+0,3R; −100/−1R – Banii rămân −10 RON, dar câștiguri 2/3≈66,67%, medie −1/30R.
Exemplu ipotetic: de la cinci câmpuri la 25
Mark pornește cu 12.000 EUR și pierde 4.200 EUR, 35%, în 171 tranzacții. Presupunem că sursele păstrate permit clasificarea anterioară. Segmentul inventat de 48 tranzacții pierde 2.700 EUR, circa 64,3% din pierderea totală. La risc inițial egal 100 EUR pe tranzacție, suma riscului este 4.800 EUR, iar media −2.700/(48×100)=−0,5625R. Fără risc egal, raportul sumelor este medie ponderată cu riscul, fără media aritmetică simplă a valorilor R.
Al doilea an fictiv primește 142 tranzacții, profit 8.100 EUR, medie 0,42R și PF 1,94. Un număr posibil de 91 câștiguri se rotunjește la 64%; 80 din 171 în primul an se rotunjesc la 47%. Alte agregate atribuite primului an sunt −0,18R și PF 0,71. Nu reconstruiesc tranzacțiile ori volumele și nu sunt observații auditate. Schimbarea politicii și diferența dintre ani nu izolează cauza rezultatului.
Model PLN separat: +100 PLN la risc 100 PLN=+1R; −1.000 PLN la risc 1.000 PLN=−1R. Media R este zero, dar banii sunt −900 PLN. Raportul −900/1.100≈−0,818 este medie R ponderată cu riscul, fără randament al contului. Rezultatul realizat și normalizarea răspund unor întrebări diferite.
Segmentarea poate genera ipoteze, dar căutarea multor categorii poate selecta zgomot istoric. Păstrează analiza inițială și evaluează regula schimbată pe observații ulterioare nefolosite la alegere. Cele 25 coloane nu sunt obligatorii pentru orice investigație.
Ce pregătești pentru următoarea revizuire?
- Definește câmpurile, numele neutru al fișierului, timestampurile și moneda. Informația indisponibilă rămâne lipsă, fără invenție.
- Auditează formulele: la contract liniar, P/L brut în moneda cotației=semn direcție×(ieșire−intrare)×unități. Aplică conversia contractuală și costurile fără spread dublat; R net=net/risc inițial.
- Reconciliază douăzeci de tranzacții cu sursa, inclusiv costuri, monede și chei. Nu reconstitui contextul neînregistrat; eșantionul mic nu garantează pattern stabil.
- Definește numitorii: media R pe idei valide, PF=sumă pozitive/valoare absolută sumă negative, indisponibil fără pierderi; rata câștigurilor include zero în numărul închiderilor valide.
- Revizuiește datele, abaterile și ipotezele cu o frecvență sustenabilă. Jurnalul sprijină învățarea, fără garanție de competență sau profit.
Verifică ce ai învățat
Exercițiu: aproximativ 2 minute.
Arată răspunsul și explicația
Cheia include contul și ID-ul local. Numai reimportul identic A/17 este omis.
Alte întrebări
Sunt 25 coloane prea multe?
Cu ce unealtă începi?
Ce descoperi după o sută de tranzacții?
Cât durează șablonul Excel?
Surse și verificare
- Microsoft — duplicate în Power Query
Coloane multiple, sensibilitate la litere și avertisment: prima instanță nu este garantată la eliminare.
- TraderSync — Pricing
Planuri recurente, fără verificarea importului unui cont concret sau a costului final de checkout.
- Edgewonk — Pricing
Plan anual facturat la 12 luni; verifică moneda, TVA și reînnoirea la checkout.
- Microsoft — Range.Value2
Variant fără tipurile Date/Currency: o dată formatată poate fi număr; nu validează schema.
- Microsoft — IsNumeric
Verifică evaluarea numerică, fără validarea monedei sau a riscului inițial.
- Microsoft — CVErr
Valoare Variant de tip Error pentru rezultate indisponibile în exemplu.
Calculele folosesc ipotezele precizate explicit. Nu înlocuiesc datele actuale ale pieței sau condițiile furnizorului.
