Dziennik transakcji — arkusz, statystyki i analiza wyników
Kompletna instrukcja budowy arkusza dziennika w około 20 minut: 26 kolumn o nazwach technicznych zgodnych z artykułem 15.9, formuły wierszowe i dashboard ośmiu metryk w dwóch wariantach (Excel po polsku i po angielsku/arkusze w chmurze) oraz startowy plik CSV generowany w Twojej przeglądarce. Możesz pobrać gotowy XLSX albo zbudować arkusz samodzielnie z pełnej instrukcji poniżej. Poznanie formuł pozwala rozumieć obliczenia i samodzielnie je naprawiać; dzięki wspólnym nazwom kolumn eksport CSV z tego dziennika działa od ręki ze skryptem z promptu P5 i audytami P6–P7.
- 26 kolumn w pięciu grupach: identyfikacja, kontekst, plan vs wykonanie, koszty i wynik, proces — z formułami tylko tam, gdzie liczby wynikają z innych pól (poślizg, r_net, execution_drag)
- Dashboard z ośmiu formuł: liczba transakcji, win rate, profit factor, expectancy, suma R, maksymalne obsunięcie w R, średnie MAE/MFE, odsetek czystego wykonania — wszystko liczone z jednej kolumny r_net i kolumn procesu
- Dwa warianty formuł: Excel PL (ŚREDNIA, LICZ.JEŻELI, średniki) i Excel EN / arkusze w chmurze (AVERAGE, COUNTIF, przecinki) — przełącznik i przyciski kopiowania przy każdym bloku
- Metryki znaczą coś od ~50 transakcji: wcześniej dashboard służy do pilnowania nawyku wpisów i wykonania planu, nie do oceny systemu — i tym bardziej nie do jego zmian
Gotowy dziennik XLSX
Pobierz dziennik transakcji — XLSX PL
Plik ma trzy karty: Statystyki, Dziennik i Instrukcja, 999 przygotowanych wierszy, formuły wyniku netto, R, poślizgu i obsunięcia. Kolumny A–Z zachowują format opisany poniżej. Żółte pola przyjmują dane; kolumn obliczanych nie nadpisuj eksportem brokera. Gdy swap lub prowizja rzeczywiście wynoszą zero, wpisz 0 — brak danych pozostaje brakiem.
Przykłady z poradnika nie zasilają statystyk pliku. Obsunięcie uwzględnia punkt początkowy 0 R: pierwsza strata −1 R daje obsunięcie 1 R. Układaj transakcje chronologicznie według zamknięcia. Dodatkowa kolumna pomocnicza coded_clean nie uznaje pustego kodu błędu za czyste wykonanie.
Arkusz pokazuje średnie MAE i MFE dla wszystkich wpisanych pomiarów (także zer), a niżej pozostają dodatkowe warianty analizy wygranych i strat. Współczynnik profit factor w pliku liczony jest w R, a nie w PLN. Kolumnę planowanego wyniku T uzupełniaj tylko dla tego samego typu wyjścia: plan SL porównuj z wykonanym SL, TP z TP. Dla wyjścia bez odpowiednika zostaw ją pustą.
Wersja PL używa PLN w polach *_pln. Wersja angielska ma tę samą kolejność kolumn i neutralne nazwy kwot bez sufiksu _pln; walutę rachunku określasz w jej instrukcji. Przenosząc CSV między językami, mapuj nagłówki i sprawdź walutę. Sama zmiana etykiety waluty nie przelicza wartości.
Gotowy arkusz i samodzielna budowa
- Dwie drogi do tego samego dziennika: gotowy XLSX zawiera jawne formuły, a pełna instrukcja pozwala odtworzyć arkusz samodzielnie. W pliku nie ma makr ani połączenia z brokerem. Startowy CSV nadal generuje Twoja przeglądarka lokalnie. Numer wersji pliku znajdziesz na karcie Instrukcja.
- Arkusz budowany samodzielnie znasz od środka: gdy formuła zwróci błąd po latach (nowa para, inny format eksportu), naprawisz ją w minutę, bo wiesz, co liczy. „Magiczny" szablon psuje się w milczeniu — a dziennik, który kłamie, jest gorszy niż brak dziennika.
- Nazwy kolumn są wspólne dla całego kursu: te same nagłówki opisuje 15.9, tych samych oczekuje skrypt Pythona z promptu P5 i audyty P6–P7 z warsztatu AI. Jeden format, zero tłumaczenia danych między narzędziami.
- Chmura jest wygodna, ale to dane rachunku: wielkości pozycji, wyniki, błędy procesu. Decyzję chmura/lokalnie podejmij świadomie — kryteria jak przy wklejaniu do modeli AI (sekcja higieny w dodatku H).
Struktura: 26 kolumn w 5 grupach
Litery kolumn (A–Z) odpowiadają układowi, do którego pisane są formuły niżej — jeśli zmienisz kolejność, popraw adresy. Nazwy techniczne nagłówków zostawiasz po angielsku: dzięki temu eksport CSV działa ze skryptem z P5 bez mapowania. Trzy pola samooceny (mental_state, sleep_hours, decision_quality z 15.9) możesz dodać jako opcjonalne kolumny AA–AC — formuły ich nie wymagają.
| Kol. | Nagłówek | Grupa 1: identyfikacja | Przykład |
|---|---|---|---|
| A | trade_id | kolejny numer albo id z platformy | 2026-041 |
| B | open_time_utc | data i czas otwarcia (UTC z eksportu brokera) | 2026-07-08 07:42 |
| C | close_time_utc | data i czas zamknięcia | 2026-07-08 13:15 |
| D | pair | instrument | EURUSD |
| E | direction | long / short (małymi — formuła poślizgu porównuje tekst) | long |
| Kol. | Nagłówek | Grupa 2: kontekst | Przykład |
|---|---|---|---|
| F | setup | nazwa setupu z playbooka (dodatek E) | wybicie-azja-londyn |
| G | setup_class | A+ / B / C — klasa z playbooka w chwili wejścia | A+ |
| H | session | sesja wejścia (Azja / Londyn / NY / nakładka) | Londyn |
| Kol. | Nagłówek | Grupa 3: plan vs wykonanie | Przykład |
|---|---|---|---|
| I | planned_entry | wejście z planu (wpisane PRZED zleceniem) | 1,0850 |
| J | actual_entry | faktyczny fill z platformy | 1,0852 |
| K | planned_sl | stop-loss z planu | 1,0820 |
| L | planned_tp | take-profit z planu | 1,0910 |
| M | actual_exit | faktyczna cena zamknięcia | 1,0907 |
| N | spread_pips | spread w chwili wejścia | 0,7 |
| O | slippage_entry_pips | formuła — poślizg wejścia w pipsach, dodatni = gorszy fill | 2,0 |
| Kol. | Nagłówek | Grupa 4: koszty i wynik | Przykład |
|---|---|---|---|
| P | swap_pln | punkty swapowe w walucie rachunku (ujemne ze znakiem minus) | −3,20 |
| Q | commission_pln | prowizja (wartość dodatnia) | 7,00 |
| R | broker_gross_pnl_pln | wynik brutto z platformy | 212,00 |
| S | broker_net_pnl_pln | formuła (albo ręcznie, gdy broker raportuje netto) | 201,80 |
| T | planned_gross_pnl_pln | wynik planowany przy pełnym TP (kwota) | 220,00 |
| U | planned_risk_pln | zaplanowane ryzyko w kwocie (dystans do SL × wartość pipsa) | 110,00 |
| V | r_net | formuła — wynik netto w R; kolumna zasilająca cały dashboard | 1,83 |
| W | execution_drag_R | formuła — ile R zjada wykonanie względem planu | 0,17 |
| Kol. | Nagłówek | Grupa 5: proces | Przykład |
|---|---|---|---|
| X | mae_r | najgorsza wycieczka ceny przeciw pozycji, w R (definicja: 15.9 sekcja 7) | 0,35 |
| Y | mfe_r | najlepsza wycieczka ceny za pozycją, w R | 2,10 |
| Z | error_code | 0 = czyste wykonanie; 1–9 kody błędów decyzyjnych; 10 = błąd infrastrukturalny (katalog: 15.9) | 0 |
Formuły wierszowe — kolumny wyliczane
Wariant formuł:
Formuły wpisujesz w wierszu 2 i przeciągasz w dół (albo kopiujesz na zakres). Zakresy sięgają wiersza 1000 — przy dłuższym dzienniku zwiększ liczbę we wszystkich formułach dashboardu.
=JEŻELI(E2="long";(J2-I2);(I2-J2))*JEŻELI(PRAWY(D2;3)="JPY";100;10000)
=IF(E2="long",(J2-I2),(I2-J2))*IF(RIGHT(D2,3)="JPY",100,10000)
=R2+P2-Q2
=R2+P2-Q2
=JEŻELI(U2>0;S2/U2;"")
=IF(U2>0,S2/U2,"")
=JEŻELI(U2>0;(T2-S2)/U2;"")
=IF(U2>0,(T2-S2)/U2,"")
Dashboard: 8 metryk z interpretacją
Metryki wklejasz nad tabelą albo na osobnej karcie. Wszystkie liczą się z kolumny r_net (V) i kolumn procesu — dlatego r_net musi być z wyniku NETTO. Maksymalne obsunięcie wymaga dwóch kolumn pomocniczych (AE, AF) budujących krzywą kapitału w R.
Liczba transakcji: =ILE.LICZB(V2:V1000) Win rate: =LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000) Profit factor: =SUMA.JEŻELI(V2:V1000;">0")/MODUŁ.LICZBY(SUMA.JEŻELI(V2:V1000;"<0")) Expectancy (R): =ŚREDNIA(V2:V1000) Suma R: =SUMA(V2:V1000)
Liczba transakcji: =COUNT(V2:V1000) Win rate: =COUNTIF(V2:V1000,">0")/COUNT(V2:V1000) Profit factor: =SUMIF(V2:V1000,">0")/ABS(SUMIF(V2:V1000,"<0")) Expectancy (R): =AVERAGE(V2:V1000) Suma R: =SUM(V2:V1000)
AE2 (krzywa): =SUMA($V$2:V2) AF2 (obsunięcie): =MAX(0;$AE$2:AE2)-AE2 Max obsunięcie (R): =MAX(AF2:AF1000)
AE2 (krzywa): =SUM($V$2:V2) AF2 (obsunięcie): =MAX(0,$AE$2:AE2)-AE2 Max obsunięcie (R): =MAX(AF2:AF1000)
Śr. MAE wygranych: =ŚREDNIA.JEŻELI(V2:V1000;">0";X2:X1000) Śr. MFE przegranych: =ŚREDNIA.JEŻELI(V2:V1000;"<=0";Y2:Y1000) Czyste wykonanie: =LICZ.JEŻELI(Z2:Z1000;0)/ILE.LICZB(Z2:Z1000)
Śr. MAE wygranych: =AVERAGEIF(V2:V1000,">0",X2:X1000) Śr. MFE przegranych: =AVERAGEIF(V2:V1000,"<=0",Y2:Y1000) Czyste wykonanie: =COUNTIF(Z2:Z1000,0)/COUNT(Z2:Z1000)
| Metryka | Jak czytać (od ~50 transakcji) |
|---|---|
| Win rate | Sam w sobie nie mówi nic o przewadze — patrz wykres niżej. Służy do porównania z założeniami playbooka, nie do oceny „czy jestem dobry" |
| Profit factor | Poniżej 1,0 system stratny; sens ma dopiero razem z liczbą transakcji i obsunięciem. Brak strat w próbie = dzielenie przez zero, nie „nieskończona przewaga" |
| Expectancy (R) | Najważniejsza liczba dziennika: średni wynik netto na transakcję. Dodatnia po kosztach na 50+ transakcjach — dopiero wtedy rozmowa o skalowaniu |
| Max obsunięcie (R) | Porównaj z limitem tygodniowym z planu (dodatek E): jeśli historia przekracza limit, plan i sizing są niespójne |
| Śr. MAE wygranych | Nisko (np. < 0,4R) = stop można ostrożnie zacieśnić; blisko 1R = wchodzisz „pod rynek", poślizg zje przewagę |
| Śr. MFE przegranych | Wysoko = transakcje szły w Twoją stronę i wracały — audyt reguł wyjścia i częściowej realizacji |
| Execution drag (śr.) | Systematycznie wysoki = plan na papierze lepszy niż wykonanie: poślizgi, spóźnione wejścia, przedwczesne wyjścia |
| Czyste wykonanie | Odsetek transakcji z error_code = 0. Poniżej ~90% najpierw naprawiasz proces, nie system — metryki systemu liczone na złamanych zasadach opisują inny system |
Startowy CSV i import
Przycisk generuje plik w Twojej przeglądarce (nic nie jest pobierane z sieci): 26 nagłówków plus dwa przykładowe wiersze — wygrana i strata — żeby formuły miały na czym pokazać działanie. Wariant PL używa średników i przecinka dziesiętnego (Excel w polskich ustawieniach otwiera go dwuklikiem), wariant EN — przecinków i kropki. Po imporcie podmień w przykładowych wierszach kolumny wyliczane (O, S, V, W) na formuły z sekcji wyżej i usuń przykłady po pierwszym własnym wpisie.
Budowa krok po kroku
- Utwórz pusty arkusz w Excelu albo LibreOffice Calc; arkusz w chmurze też zadziała — ale to dane rachunku, więc decyzję podejmij świadomie.
- Zaimportuj startowy CSV (albo przepisz nagłówki z tabel struktury). Sprawdź, czy liczby wylądowały jako liczby — jeśli widzisz „1.0850" jako tekst, wariant separatora nie pasuje do ustawień systemu.
- Wklej formuły wierszowe do O2, S2, V2, W2 i przeciągnij w dół na zapas wierszy.
- Wklej dashboard (metryki 1–8) nad tabelą albo na osobnej karcie; kolumny pomocnicze AE/AF przeciągnij tak samo jak formuły wierszowe.
- Ustal rytm: wpis po każdej zamkniętej transakcji (EOD z dodatku J ma na to punkt), odczyt metryk na przeglądzie tygodniowym, decyzje o playbooku — kwartalnie (dodatek E).
FAQ
Excel, LibreOffice czy arkusz w chmurze?
Formuły działają we wszystkich trzech (wariant EN pasuje do arkuszy chmurowych i angielskiego Excela, wariant PL do polskiego Excela i polskiego LibreOffice). Różnica jest gdzie indziej: dziennik zawiera wielkości pozycji, wyniki i katalog Twoich błędów — w chmurze te dane podlegają polityce dostawcy i żyją poza Twoim dyskiem. Zasada z tego działu: dane rachunku domyślnie lokalnie; chmura świadomie i z eksportem kopii. To ta sama decyzja, którą sekcja higieny dodatku H każe podjąć przed wklejeniem dziennika do czatu.
Od ilu transakcji metryki cokolwiek znaczą?
Orientacyjnie od pięćdziesięciu — poniżej tego progu expectancy i win rate skaczą o kilkanaście punktów po każdej serii i opisują szum, nie system (dlatego ta sama liczba wraca w playbooku dodatku E jako próg klasy A+). Nie znaczy to, że wcześniej dziennik jest bezużyteczny: od pierwszego wpisu działają metryki procesu — odsetek czystego wykonania i kompletność wpisów — a to one decydują, czy liczby systemowe będą kiedykolwiek wiarygodne. Kolejność jest zawsze ta sama: najpierw proces, potem próba, na końcu ocena systemu.
Po co kolumna error_code, skoro wynik i tak widać?
Bo wynik i jakość decyzji to osobne osie: zdarzają się zyskowne transakcje ze złamaniem planu (najgroźniejszy przypadek — nagrodzone naruszenie się utrwala) i wzorowe wykonania zakończone stratą. Error_code 0–10 pozwala policzyć expectancy OSOBNO dla czystego wykonania: jeśli po odfiltrowaniu naruszeń system zarabia, problem jest behawioralny, nie techniczny — i odwrotnie. Kod 10 (błąd infrastrukturalny) trzymaj oddzielnie od błędów decyzyjnych; procedury na te przypadki to dodatek K, a katalog kodów 1–9 znajdziesz w 15.9.
Mój Excel nie przyjmuje formuł — co sprawdzić?
Prawie zawsze to jedna z trzech rzeczy. Po pierwsze wariant: polski Excel chce polskich nazw funkcji i średników, angielski (i arkusze chmurowe) — angielskich nazw i przecinków; przełącznik nad formułami podaje właściwą wersję. Po drugie separator dziesiętny: system z przecinkiem dziesiętnym odczyta „1.0850" jako tekst — stąd dwa warianty CSV. Po trzecie cudzysłowy: po skopiowaniu przez komunikatory proste cudzysłowy bywają podmienione na typograficzne — kopiuj przyciskiem ze strony, nie przez pośredników. Jeśli mimo to coś nie liczy — prompt P3 z dodatku H robi przegląd formuł tak samo chętnie jak kodu.
Powiązane w kursie
- 15.9 Dziennik i metryki — pełny katalog pól (w tym kody błędów 0–10), definicje MAE/MFE i metryki zaawansowane (SQN, Sortino)
- 15.10 Audyt strategii — co wolno wywnioskować z metryk i na jakiej próbie
- Dodatek H, prompty P5–P7 — skrypt liczący metryki z eksportu CSV tego arkusza i audyty wzorców
- Dodatek E — szablon planu — playbook kalibrowany kwartalnie liczbami z tego dziennika
- Dodatek J — checklisty — rytm EOD/EOW, w którym dziennik żyje
Źródła
- Van K. Tharp, Trade Your Way to Financial Freedom, wyd. 2, McGraw-Hill 2007 — koncepcja R-multiple i expectancy jako podstawowych miar systemu, na których stoi kolumna r_net i dashboard.
- Wewnętrzne: 15.9 Dziennik i metryki (struktura pól, kody błędów, MAE/MFE) oraz 15.10 Audyt strategii (dyscyplina wnioskowania z próby) — arkusz odwzorowuje ich format 1:1.
- Dokumentacje funkcji arkuszy: Microsoft (polskie i angielskie nazwy funkcji Excela), LibreOffice Calc — zgodność wariantów formuł zweryfikowana lipiec 2026.