BTC285,1k zł2,18%
ETH9,03k zł3,42%
XRP4,88 zł7,72%
LTC192 zł2,87%
BCH827 zł0,99%
DOT3,57 zł4,04%

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.

Arkusz dziennika transakcji z automatycznymi statystykami — kolumny planu i wykonania, formuły win rate, profit factor i expectancy oraz dashboard metryk na ekranie
Najważniejsze w 60 sekund
  • 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).
Anatomia wiersza dziennika: identyfikacja, kontekst, plan kontra wykonanie, koszty i wynik, proces — wynik w R liczy się z wyniku netto i planowanego ryzyka 1. Identyfikacjaid · czasy · para · kierunek 2. Kontekstsetup · klasa · sesja 3. Plan vs wykonanieentry/SL/TP plan i real · poślizg 4. Koszty i wynikswap · prowizja · PnL · r_net 5. Proceserror_code · stan · jakość r_net = wynik netto / planowane ryzyko jedna kolumna zasila cały dashboard — dlatego liczy się z NETTO

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łówekGrupa 1: identyfikacjaPrzykład
Atrade_idkolejny numer albo id z platformy2026-041
Bopen_time_utcdata i czas otwarcia (UTC z eksportu brokera)2026-07-08 07:42
Cclose_time_utcdata i czas zamknięcia2026-07-08 13:15
DpairinstrumentEURUSD
Edirectionlong / short (małymi — formuła poślizgu porównuje tekst)long
Kol.NagłówekGrupa 2: kontekstPrzykład
Fsetupnazwa setupu z playbooka (dodatek E)wybicie-azja-londyn
Gsetup_classA+ / B / C — klasa z playbooka w chwili wejściaA+
Hsessionsesja wejścia (Azja / Londyn / NY / nakładka)Londyn
Kol.NagłówekGrupa 3: plan vs wykonaniePrzykład
Iplanned_entrywejście z planu (wpisane PRZED zleceniem)1,0850
Jactual_entryfaktyczny fill z platformy1,0852
Kplanned_slstop-loss z planu1,0820
Lplanned_tptake-profit z planu1,0910
Mactual_exitfaktyczna cena zamknięcia1,0907
Nspread_pipsspread w chwili wejścia0,7
Oslippage_entry_pipsformuła — poślizg wejścia w pipsach, dodatni = gorszy fill2,0
Kol.NagłówekGrupa 4: koszty i wynikPrzykład
Pswap_plnpunkty swapowe w walucie rachunku (ujemne ze znakiem minus)−3,20
Qcommission_plnprowizja (wartość dodatnia)7,00
Rbroker_gross_pnl_plnwynik brutto z platformy212,00
Sbroker_net_pnl_plnformuła (albo ręcznie, gdy broker raportuje netto)201,80
Tplanned_gross_pnl_plnwynik planowany przy pełnym TP (kwota)220,00
Uplanned_risk_plnzaplanowane ryzyko w kwocie (dystans do SL × wartość pipsa)110,00
Vr_netformuła — wynik netto w R; kolumna zasilająca cały dashboard1,83
Wexecution_drag_Rformuła — ile R zjada wykonanie względem planu0,17
Kol.NagłówekGrupa 5: procesPrzykład
Xmae_rnajgorsza wycieczka ceny przeciw pozycji, w R (definicja: 15.9 sekcja 7)0,35
Ymfe_rnajlepsza wycieczka ceny za pozycją, w R2,10
Zerror_code0 = 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.

O2 · slippage_entry_pips dodatni = fill gorszy niż plan; pary JPY liczone mnożnikiem 100
=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)
S2 · broker_net_pnl_pln jeśli broker raportuje netto — wpisuj ręcznie i pomiń formułę
=R2+P2-Q2
=R2+P2-Q2
V2 · r_net wynik netto w R — pusty, dopóki nie wpiszesz ryzyka
=JEŻELI(U2>0;S2/U2;"")
=IF(U2>0,S2/U2,"")
W2 · execution_drag_R porównanie z planem — interpretuj na transakcjach zamkniętych na TP
=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.

Metryki 1–5 liczba transakcji · win rate · profit factor · expectancy · suma 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)
Metryka 6 · maksymalne obsunięcie w R kolumny pomocnicze AE (krzywa kapitału) i AF (bieżące obsunięcie) — przeciągnij obie w dół
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)
Metryki 7–8 · MAE/MFE i czyste wykonanie audyt stopów, wyjść i procesu
Ś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)
MetrykaJak czytać (od ~50 transakcji)
Win rateSam 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 factorPoniż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 wygranychNisko (np. < 0,4R) = stop można ostrożnie zacieśnić; blisko 1R = wchodzisz „pod rynek", poślizg zje przewagę
Śr. MFE przegranychWysoko = 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 wykonanieOdsetek transakcji z error_code = 0. Poniżej ~90% najpierw naprawiasz proces, nie system — metryki systemu liczone na złamanych zasadach opisują inny system
Porównanie dwóch systemów: wyższy win rate 60 procent daje ujemną expectancy przy złym stosunku zysku do straty, a win rate 40 procent z zyskami 2R daje dodatnią Win rate A: 60% B: 40% śr. zysk 0,5R · śr. strata 1R śr. zysk 2R · śr. strata 1R Expectancy na transakcję A: −0,10R B: +0,20R dlatego dashboard zaczyna się od expectancy, a win rate czytasz wyłącznie razem z rozkładem R

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.

Startowy plik dziennika generowany lokalnie, wariant zgodny z przełącznikiem formuł

Budowa krok po kroku

  1. Utwórz pusty arkusz w Excelu albo LibreOffice Calc; arkusz w chmurze też zadziała — ale to dane rachunku, więc decyzję podejmij świadomie.
  2. 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.
  3. Wklej formuły wierszowe do O2, S2, V2, W2 i przeciągnij w dół na zapas wierszy.
  4. Wklej dashboard (metryki 1–8) nad tabelą albo na osobnej karcie; kolumny pomocnicze AE/AF przeciągnij tak samo jak formuły wierszowe.
  5. 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).
Dashboard dziennika transakcji w arkuszu kalkulacyjnym — komórki z win rate, profit factor, expectancy i maksymalnym obsunięciem w R nad tabelą wpisów, obok krzywa kapitału z kolumny pomocniczej
Dashboard dziennika transakcji w arkuszu kalkulacyjnym — komórki z win rate, profit factor, expectancy i maksymalnym obsunięciem w R nad tabelą wpisów, obok krzywa kapitału z kolumny pomocniczej

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.

Z praktyki: system „zyskowny", dopóki dziennik nie poznał kosztów. Scenariusz modelowy z audytów: dziennik prowadzony starannie, ale kolumna wyniku przepisywana z platformy BRUTTO — bez prowizji i swapów. Po kwartale expectancy +0,12R i decyzja o zwiększeniu częstotliwości: więcej transakcji = więcej zysku. Po dopisaniu kolumn kosztów i przeliczeniu r_net z netto wyszło −0,04R — system nie zarabiał, tylko obracał pieniędzmi, a wzrost częstotliwości pogłębiał stratę dokładnie o koszt każdej dodatkowej transakcji. Stąd żelazna kolejność kolumn w grupie 4: koszty osobno, wynik netto osobno i r_net wyłącznie z netto.
Z praktyki: MAE ujawnia stop ciaśniejszy niż rynek. Trader ze skutecznością wyraźnie niższą, niż sugerował backtest, podejrzewał brokera o polowanie na stopy. Dziennik z kolumną mae_r pokazał nudniejszą prawdę: w przegranych transakcjach MAE regularnie zatrzymywało się tuż za 1,0R — a MFE tych samych wpisów sięgało 1,5R+. Cena wybijała stop o kilka pipsów i szła w zakładanym kierunku; SL stał w strefie szumu, którą ATR pokazuje czarno na białym. Po przestawieniu stopa za strukturę (i zmniejszeniu wolumenu, żeby kwota ryzyka została ta sama) win rate wrócił do zakresu z testów. Bez kolumn MAE/MFE ta diagnoza nie istnieje — jest tylko teoria spiskowa o brokerze.

Powiązane w kursie

Zastrzeżenie: strona ma charakter edukacyjny i nie jest poradą inwestycyjną. Formuły i struktura służą pomiarowi własnych wyników — nie prognozują ich; przykładowe wiersze i wartości pokazują format danych, nie oczekiwane rezultaty. Metryki liczone na małej próbie albo na wynikach brutto prowadzą do błędnych decyzji — dlatego r_net liczy się z wyniku netto, a ocena systemu zaczyna od ~50 transakcji.

Źródła

  1. 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.
  2. 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.
  3. Dokumentacje funkcji arkuszy: Microsoft (polskie i angielskie nazwy funkcji Excela), LibreOffice Calc — zgodność wariantów formuł zweryfikowana lipiec 2026.

Jarosław Wasiński LinkedIn

Redaktor naczelny MyBank.pl • Analityk finansowy i rynkowy

mgr Jarosław Wasiński — niezależny analityk i praktyk z ponad 20-letnim doświadczeniem w sektorze finansowym. Twórca i redaktor naczelny portalu MyBank.pl, dostarczającego rzetelną wiedzę o finansach osobistych, bankowości i inwestycjach od 2004 roku.

  • Bankowość i produkty finansowe: porównania kont osobistych i firmowych, analiza taryf opłat, testy aplikacji mobilnych, recenzje kredytów, lokat i kart kredytowych — z naciskiem na realne koszty i ukryte opłaty.
  • Rynki finansowe i makroekonomia: analiza fundamentalna rynków walutowych (Forex) i makroekonomicznych od 2007 roku, zarządzanie ryzykiem kapitału, struktura rynków OTC.
  • Kryptowaluty: analiza rynku kryptowalut, mechanizmów blockchain i tokenizacji aktywów w kontekście portfela inwestycyjnego.

Autor setek komentarzy rynkowych, analiz porównawczych produktów bankowych i materiałów edukacyjnych. Zwolennik transparentności — każdy ranking i recenzja na MyBank.pl opiera się na jawnej metodologii i zweryfikowanych źródłach (taryfy banków, regulaminy promocji, dane NBP).

Treści mają charakter edukacyjny i informacyjny — nie stanowią porady inwestycyjnej, rekomendacji ani oferty. Decyzje finansowe podejmuj na podstawie własnej analizy i konsultacji z doradcą.