Fiktivní Marek má 171 obchodů a ztrátu 4 200 EUR. Doplňující zdrojové záznamy umožní najít segment se ztrátou 2 700 EUR, asi 64,3 % celku. To však nedokazuje, že jeho vyřazení přinese budoucí zisk 8 100 EUR. Následujících 25 polí je redakční návrh podle otázek, nikoli povinný průmyslový standard.

Zdrojové události oddělte od výpočtů

Kompaktní deník zaznamená výsledek, ale nemusí obsahovat podklady pro konkrétní šetření. Plán popisuje informace známé při rozhodnutí, skutečná plnění a poplatky události, vzorce odvozené metriky. Importované plnění je stále zdrojový záznam, i když jej nikdo ručně nenapsal.

Jednu souhrnnou řádku definujte jako jeden obchodní nápad a dílčí plnění s ním spojte přes ID v odděleném listu operací. Dva částečné výstupy nejsou automaticky dva nezávislé signály. Účet, měnu, demo/live stav, pásmo a verzi strategie uchovejte ve zdroji či slovníku. PLN a USD nelze prostě sečíst bez definované konverze.

Deset základních polí obchodu

Na malé obrazovce posouvejte tabulku vodorovně, abyste přečetli všechny sloupce.

Navržená pole 1–10
Číslo a poleCo přesně uložit
1. Vstupní datum a časYYYY-MM-DD a HH:MM s pásmem; zachovejte přesnost zdroje.
2. InstrumentPřesný symbol poskytovatele a produkt. XAU/USD je kotace zlata, nikoli dvě měny.
3. SměrLong nebo short, se stejnou konvencí znaménka.
4. Vstupní cenaSkutečné plnění, nikoli kotace při kliknutí; plán uchovejte zvlášť.
5. Stop-lossPočáteční plánovaná hladina a druh pokynu; skutečný výstup odděleně.
6. Take-profitPlánovaný cíl, pokud existuje, nebo jiné doložené pravidlo výstupu.
7. MnožstvíLoty i skutečné smluvní jednotky na lot.
8. Výstupní cenaSkutečné uzavírací plnění a vazba na dílčí operace.
9. Výstupní datum a časPodklad doby držení se známým pásmem.
10. Peněžní výsledekČisté P/L v definované měně včetně příslušných nákladů.

Komise a financování mohou být samostatné události. Spread již obsažený ve skutečných nákupních a prodejních cenách znovu neodečítejte. Označení ECN nezaručuje jednotný eurový náklad na lot. Běžný stop nezaručuje přesné plnění a deset polí neobsahuje automaticky všechny průběžné hodnoty potřebné pro další analýzu.

Pět rizikových polí se známým jmenovatelem

11. Počáteční plánované peněžní riziko vůči výslovně určenému saldu nebo equity. Poměr při procentním formátu buňky už nenásobte 100; běžné číslo v procentech násobte právě jednou. Pip potřebuje skutečný kontrakt, objem a převod.

12. Čistý R-násobek: výsledek dělený kladným platným počátečním peněžním rizikem. 150 EUR/50 EUR=3 R a −50/50=−1 R. Pozdější posun stopu nepřepíše počáteční jmenovatel. Když riziko chybí, R ponechte chybějící, ne nulu. 800 EUR proti 400 EUR=2 R a 1 200 proti 1 000=1,2 R samy neporovnávají kvalitu strategií nebo skutečně nesené riziko.

13. Vrácení zisku od maximální příznivé exkurze: vrchol +4 R a výstup +1 R dávají 3 R giveback. Není to nutně největší propad vrchol–dno, který potřebuje celou cestu. 14. Expozice na definované srovnatelné bázi. 15. Odhad korelace s metodou a oknem; koeficient +0,90 nečiní dvě pozice identickými ani přesně nezdvojnásobuje riziko.

Pět polí důvodu vstupu

16. Typ setupu podle stabilního seznamu. 17. Signální timeframe. 18. Výslovné podmínky konfluence. 19. Kontext plánovaného oznámení včetně pásma. 20. Případné vlastní hodnocení stavu 1–10 s konzistentní definicí, zapsané při vstupu, nikoli uhodnuté podle zisku.

U každého segmentu uvádějte počet validních případů a nejistotu. Osm až deset štítků ani sto celkových obchodů nezaručuje stabilní očekávání. Průměr, RSI a formace z týchž cen nemusejí být nezávislé důkazy. Šedesát nebo sto obchodů neprokáže lepší timeframe ani obecné zvýšení úspěšnosti o 15–20 %. Asociace sebehodnocení a ztrát také neurčuje příčinu; skóre pod 4 nemá univerzálně záporné očekávání.

Pět polí revize provedení

21. Dodržení předem daného plánu na definované stupnici 1–10. 22. Počet předem definovaných odchylek. 23. Jedna věta pozorování či otázky. 24. Odkaz na screenshot vstupu i výstupu. 25. Měsíční štítek, například leden-NFP-tilt nebo únor-EURUSD-pásmo.

Odlište povolenou změnu od nepovolené odchylky. Bod pod 7 automaticky nestojí 0,3R a žádný takový vztah u 90%traderů zde netvrdíme. Zisková odchylka stále může porušit plán a správně provedená ztráta nemusí být chyba. Poznámky „vstup před dokončením H1“ nebo „výstup+0,8R místo plánovaných+2R; prověřit důvod“ připojte ke konkrétním pravidlům a důkazům. Statistiky obchodování rozvíjejí doplňující metriky.

Místní ID potřebuje rozsah účtu

Účet je součástí místního klíčeFiktivní PLN řádky v daném pořadí: A/17 +10, A/18 −4, B/17 +7 a identický reimport A/17 +10. Vlastní audit ověřuje identitu opakování.MODELOVÝ VÝPOČETÚplný klíč účet+IDTři operace; +13 PLNPouze ID a první záznamDvě operace; +6 PLNStejný klíč, jiné hodnotyKonflikt k prověření
Účet je součástí místního klíče. Fiktivní PLN řádky v daném pořadí: A/17 +10, A/18 −4, B/17 +7 a identický reimport A/17 +10. Vlastní audit ověřuje identitu opakování.

Pravidlo prvního záznamu platí v tomto auditu, není garancí Power Query. Rozsah skutečných ID ověřte u zdroje.

Úplný klíč účet+ID
Tři operace; +13 PLN – A/17,A/18 i samostatné B/17.
Pouze ID a první záznam
Dvě operace; +6 PLN – Chybně zmizí B/17 z jiného účtu.
Stejný klíč, jiné hodnoty
Konflikt k prověření – Odlišnou revizi nelze vyřadit jako potvrzeně shodnou kopii.

Původní úplný fiktivní seznam v daném pořadí: A/17 +10 PLN, A/18 −4 PLN, B/17 +7 PLN a shodný opakovaný import A/17 +10 PLN. Vlastní audit ponechá po potvrzení identity první výskyt úplného klíče (účet, místní ID): A/17, A/18, B/17, součet +13 PLN. Mylný postup jen podle ID s ponecháním prvního ponechá A/17 a A/18, výsledek +6 PLN; platné B/17 zmizí.

Nejde o tvrzení, že reálná brokerova čísla jsou jen lokální. Jejich rozsah ověřte. Power Query umí porovnání více sloupců, ale dokumentace negarantuje ponechání prvního výskytu. To je výslovná podmínka našeho auditu, nikoli slib této funkce. Neshodné hodnoty pod stejným úplným klíčem jsou konflikt, ne potvrzená identická duplicita.

Nový samostatný CZK případ verzí: první import A/42 má výsledek +500 Kč, opravený export stejné operace A/42 později +450 Kč po nově zahrnutém poplatku 50 Kč. Ponechání obou dává nepravdivých +950 Kč; automatické ponechání prvního zase +500 Kč. Po doloženém ověření opravy patří do souhrnu jediných +450 Kč, přičemž obě zdrojové verze a důvod zůstávají v archivu.

Rozdíl 50 Kč není další samostatná obchodní ztráta k odečtení od již čistých 450 Kč. Úplný klíč sám nerozhodne, která revize je správná. Tento model se liší od původního zcela identického reimportu; potřebuje konfliktový postup a potvrzený původ opravy.

Nástroj vyberte podle testovaného importu

Tabulka poskytuje kontrolu nad poli a vzorci; ověřte licenci, funkce, import a export. Excel není obecně zdarma a placený deník nemusí vylučovat vlastní přizpůsobení. TraderSync má opakované tarifní plány; Edgewonk popisuje roční předplatné, nikoli trvalý přístup za jednorázových 169 USD. Ověřte aktuální měnu, daně, obnovu a podporu importu před volbou.

Tisíc obchodů ročně ani povinný rok s tabulkou nejsou univerzální hranicí přechodu. Nejprve porovnejte známý vzorek, potřebné analýzy, výstup dat a celkové náklady konkrétního tarifu. Doba přípravy závisí na požadavcích a znalostech, ne na obecném čtyř až šestihodinovém slibu.

Co zdrojové VBA makro počítá

Následující převzatá ilustrace kódu zůstává doslovně zachována. Čte platné peněžní výsledky ze sloupce J a R ze sloupce L listu Trades a zapisuje do Dashboard. Neodvozuje počáteční riziko, neověřuje měny, neodstraňuje duplicity, neobnovuje kontingenční tabulky a neposílá e-mail. Použijte jednu definovanou měnu a odsouhlasenou validní sadu řádků.

Platný nulový výsledek zahrne do počtu obchodů; profit factor není dostupný bez ztrát. Chybějící spárované hodnoty, chyby a nečíselné vstupy odmítá. To samo neověřuje datum, měnu ani seskupení. Kód zde nebyl spuštěn v Excelu; před použitím proveďte samostatný malý test na kopii a porovnejte výstup s očekáváním. Runtime závisí na souboru a stroji.

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, , "Error value in J at row " & i
        End If
        If IsError(rCell) Then
            Err.Raise vbObjectError + 4, , "Error value in L at row " & i
        End If
        If IsNull(resultCell) Then
            Err.Raise vbObjectError + 5, , "Null result in J at row " & i
        End If
        If IsNull(rCell) Then
            Err.Raise vbObjectError + 6, , "Null R in L at row " & 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, , "Missing result or R at row " & i
            End If
            If Not IsNumeric(resultCell) Then
                Err.Raise vbObjectError + 2, , "Non-numeric result in J at row " & i
            End If
            If Not IsNumeric(rCell) Then
                Err.Raise vbObjectError + 2, , "Non-numeric R in L at row " & 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 "Metrics calculated for " & totalTrades & " trades.", vbInformation
End Sub

Co neplyne ze změny roku a segmentu

V prvním fiktivním roce začíná Marek s 12 000 EUR a ztratí 4 200, tedy 35 %, při 171 obchodech. Dostatečné zachované zdroje umožní dodatečně klasifikovat 48 obchodů se ztrátou 2 700 EUR, 64,3 % celku. Při stejném počátečním riziku 100 EUR každý je součet rizika 4 800 EUR a průměr −2700/(48×100)=−0,5625 R. Při nestejném riziku by poměr součtů nebyl aritmetickým průměrem R.

Druhý hypotetický rok má 142 obchodů, zisk 8 100 EUR, průměr 0,42 R a profit factor 1,94. Možných 91 výher se zaokrouhlí na 64 %, zatímco 80 ze 171 na 47 %; ostatní zadané první metriky jsou −0,18 R a PF 0,71. Tyto souhrny nereprodukují jednotlivé obchody a nejsou auditovaná pozorování. Změna roku neizoluje příčinu a odstranění segmentu mění politiku.

Další samostatný PLN model: zisk +100 PLN při počátečním riziku 100 PLN je +1 R, ztráta −1 000 při riziku 1 000 je −1 R. Aritmetický průměr R je nula, peněžně však −900 PLN. Poměr součtů −900/1 100≈−0,818 je rizikově vážený průměr R, ne výnos účtu. Vyhledávání mnoha kategorií může najít historický šum; změněné pravidlo posuzujte na pozdějších nepoužitých datech.

Založte slovník a malou kontrolní sadu

  1. Definujte řádek, účet, čas, měnu a pole. Chybějící kontext nevymýšlejte zpětně; neutrální názvy souborů usnadní archivaci.
  2. Pro lineární model zkontrolujte znaménko směru×(výstup−vstup)×jednotky, pak smluvní konverzi a samostatné náklady bez dvojího spreadu.
  3. Počítejte čisté R jako čistý výsledek/platné počáteční riziko; plánované procento jako riziko/kapitál×100 pouze jednou.
  4. Odsouhlaste dvacet zdrojových obchodů s exportem podle cen, měn, nákladů a klíčů. Dvacet řádků nezaručuje stabilní vzorec.
  5. Win rate počítejte z validních uzavřených obchodů včetně nul podle definice; PF z kladného součtu/absolutního záporného. Bez ztrát jej neoznačujte automaticky za nekonečný úspěch.
  6. Plánujte udržitelné revize a evidujte hypotézy i chybějící údaje. Počet sloupců negarantuje kompetenci nebo zisk.