BTC286,5k zł0,19%
ETH8,50k zł0,61%
XRP5,06 zł0,04%
LTC201 zł0,02%
BCH1,61k zł0,67%
DOT4,44 zł1,07%

Dziennik transakcji Forex — R-multiple, expectancy, SQN i MAE/MFE

Jeżeli nie potrafisz pokazać ostatnich 50 transakcji z R, setupem, błędem i kosztem egzekucji, to nie masz systemu. Masz historię, którą opowiadasz sobie po fakcie. Pamięć tradera jest selektywna: trzy ostatnie wygrane, jedna dramatyczna przegrana, pustka między nimi. Bez liczb będziesz poprawiał to, co akurat najbardziej boli po ostatniej stracie, a nie to, co statystycznie niszczy rachunek. Profesjonalista filtruje transakcje po setupie, R, błędzie, sesji, koszcie i sprawdza, gdzie realnie wycieka kapitał. W tym artykule: 25 pól per transakcja, formuły R-multiple, expectancy, Profit Factor, Sortino, SQN Van Tharpa, MAE/MFE, Monte Carlo drawdown, oraz workflow EOD/tygodniowy/miesięczny dopasowany do realiów polskiego etatu w CET. Po lekturze wiesz, co ma być w dzienniku, jak to liczyć i jak nie oszukać samego siebie. Reszta to nudna część: arkusz, import z brokera i cotygodniowy rytuał, którego większość traderów nie utrzyma.

Dziennik transakcji Forex i metryki skuteczności — R-multiple, expectancy, profit factor, Sharpe, Sortino, MAE/MFE w analizie systemu transakcyjnego
Najważniejsze w 60 sekund
  • Bez dziennika handlujesz przekonaniem, nie systemem. 25 pól per transakcja to minimum operacyjne — setup, klasa A/B/C, entry planowane vs realne, SL planowane vs realne fill, slippage, spread, swap, prowizja, R-multiple netto, klasyfikacja błędu, mental state, godziny snu
  • R-multiple netto = realny PnL netto z brokera / planowane ryzyko — spread i slippage zapisujesz osobno jako execution drag, nie odejmujesz ich drugi raz. Jedna jednostka między różnymi setupami pozwala porównywać scalp na M5 z swingiem na D1
  • Expectancy netto powyżej +0,3R dla setupów A+ to próg sensowności. Poniżej +0,15R — setup do usunięcia. Profit Factor > 1,5 = solidny system, > 2 = wybitny
  • Sortino dla większości detalu daje więcej informacji niż Sharpe, bo karze tylko downside variance — ale oba wskaźniki są śmieciem, jeśli liczysz je na < 50 transakcjach. MAE/MFE pokazuje, czy SL jest zbyt szeroki i czy zostawiasz pieniądze na stole. Workflow analizy: codziennie 5 min, tygodniowo 30 min, miesięcznie 60 min, kwartalnie cały dzień (realnie pół soboty, nie godzinę)

1. Dlaczego bez dziennika nie masz systemu, masz przekonanie

Handel bez logowania parametrów rynkowych to drogie hobby. Masz nie system, lecz serię losowych kliknięć obarczoną błędem przeżywalności. W ramach wymogów ostrzegania o ryzyku dla CFD brokerzy regulowani w UE publikują odsetek rachunków detalicznych tracących pieniądze — w typowych raportach z ostatnich lat zakres to 65–82%. To są twoi statystyczni współtowarzysze. Brak diagnozy sprawia, że większość z nich powtarza te same błędy przez całą aktywność; doświadczenie bez pomiaru jest tylko powtarzalnym błędem.

Trzy iluzje, które niszczą tradera bez dziennika

Iluzja 1: pamięć selektywna. Mózg zapisuje silnie emocjonalnie nacechowane wydarzenia (duża wygrana, dramatyczna strata) i tłumi neutralne. Po miesiącu masz w głowie 3 transakcje z 50 — zwykle dwie wygrane i jedną stratną. Statystyka pamięci: 95% sygnał, 5% szum. Statystyka realna: zwykle odwrotnie. Dziennik wyłącza tę iluzję — czarno na białym widzisz, że twoja „dobra strategia poniedziałkowa" miała w trzech miesiącach 8 wygranych i 11 stratnych.

Iluzja 2: ocena post hoc. Po stratnej transakcji mózg konstruuje narrację „wiedziałem, że to był słaby setup". Po wygranej: „czytałem rynek". Obie narracje są tworzone po wyniku, nie na podstawie tego, co rzeczywiście wiedziałeś przed wejściem. Dziennik wymusza zapis intencji przed kliknięciem (planowane entry, planowane SL, klasa setupu) — porównanie planu z realizacją obnaża, ile twoich „dobrych decyzji" było faktycznie planowanych, a ile dorobionych retroaktywnie.

Iluzja 3: agregat zamiast rozkładu. Trader patrzy na saldo rachunku. „W marcu zarobiłem 4%" — i koniec analizy. Ale 4% może być wynikiem 60 transakcji z WR 55% i expectancy +0,3R (zdrowy system), albo 12 transakcji z WR 75% i jednym mocnym trade'em na +6R, który zamaskował fakt, że pozostałe 11 to było kasyno (niezdrowy system, który zaraz cię zniszczy). Saldo nie odróżnia tych dwóch przypadków. Dziennik z metrykami — odróżnia.

Definicja systemu transakcyjnego (taka, której detal nie używa)

System transakcyjny to powtarzalny proces, którego wyniki da się zmierzyć w jednolitych jednostkach. Trzy słowa kluczowe:

  • Powtarzalny — taki sam zestaw warunków produkuje porównywalne decyzje. Nie „czujem, że to było mocne", tylko „spełnione warunki A, B, C, więc wszedłem"
  • Zmierzony — każda transakcja ma 25+ pól w dzienniku, dla każdego setupu liczysz expectancy, dla każdego miesiąca liczysz profit factor
  • Jednolite jednostki — R-multiple jest walutą porównań. „Wygrałem 200 PLN" nic nie mówi (na jakim ryzyku?), „wygrałem +1,8R" mówi wszystko

Bez tych trzech składników masz nie system, lecz seria pojedynczych decyzji bez wspólnego mianownika. Możesz mieć w niej szczęście (wtedy myślisz, że jesteś dobry) lub pecha (wtedy myślisz, że rynek jest manipulowany). Ani jedno, ani drugie nie jest prawdą — po prostu nie masz danych do oceny.

Brudna praktyka: trader po margin callu, który „wiedział, gdzie popełnił błąd". Trader z 9-miesięcznym stażem, rachunek 18 000 PLN spalony do 4 200 PLN. Pyta o radę. „Wiem, gdzie popełniłem błąd — zbyt długo trzymałem stratne pozycje." Pytanie zwrotne: pokaż dziennik, ile razy zwiększałeś stratne pozycje powyżej planowanego SL i o ile R przeciętnie? Cisza. Nie ma dziennika. Wracamy do podstaw: prosi o szczerą rekonstrukcję ostatnich 30 transakcji z brokerskiego raportu CSV. Po dwóch dniach pracy: 22 transakcje stratne, 8 wygranych. WR 27%, ale to nie jest najgorsze. Najgorsze: średnia strata −2,8R, średni zysk +0,9R. Diagnoza nie była „za długo trzymałem" — była: SL ustawiany tam, gdzie chciał, nie tam gdzie hipoteza się obalała, i 11 razy zwiększał pozycję po stracie („dolewanie do losera"). Bez dziennika nie wiedziałby tego. Pamiętał trzy konkretne dolewki, które „się odbiły", zapomniał o ośmiu, które zniszczyły rachunek.

Zapis przed wejściem — utrudnione kłamanie po wyniku

Drugi, niedoceniany aspekt dziennika: tarcie operacyjne. Zapis planu (entry, SL, sizing, klasy setupu) przed kliknięciem ma jedną funkcję — utrudnić ci kłamanie po wyniku. Jeżeli pozycja była poza setupem, dziennik ma to pokazać, nie pozwolić ci napisać „rynek wyglądał mocno". Excel nie racjonalizuje za ciebie: jeśli z palca przesunąłeś Stop Loss, wiersz 42 będzie miał kategorię 3, niezależnie od tego, jak dobry powód wymyśliłeś po fakcie. To nie jest kwestia psychologii, to tarcie operacyjne, które zmusza do refleksji, zanim zrobisz głupotę.

2. Co zapisywać — 25 pól dziennika transakcji

Dziennik amatorski ma 5–8 pól: data, para, kierunek, entry, SL, TP, wynik, komentarz. To jest minimum brokerskiego raportu, niewystarczające do diagnozy. Profesjonalny dziennik ma 25 pól, podzielonych na 6 grup. Każde pole odpowiada na konkretne pytanie analityczne.

Grupa A: identyfikacja transakcji (4 pola)

Pola podstawowe — co i kiedy się stało.

  1. ID transakcji — unikalny numer (T-2026-04-001), pozwala referencjować w notatkach i analizach
  2. Data i godzina otwarcia — z dokładnością do minuty, w jednej strefie czasowej (zalecam UTC + lokalna)
  3. Para walutowa — EUR/USD, GBP/JPY etc.
  4. Kierunek — long / short

Grupa B: kontekst strategiczny (4 pola)

Co planowałeś, w jakim setupie, z jaką klasyfikacją.

  1. Setup z playbooka — nazwa konkretnego setupu (np. „LON-breakout-A", „NY-mean-revert-B"). Bez tego nie da się policzyć expectancy per setup
  2. Klasa setupu — A+, A, B, C. Każda inny sizing. Bez klasy nie wiesz, czy zarabiasz na A+ a tracisz na B, czy odwrotnie
  3. Reżim rynkowy — trending / ranging / high vol / low vol — diagnozowany na D1 lub H4 przed wejściem
  4. Sesja — Asian / LON / NY / overlap LON-NY. Pomaga wykryć, w której sesji masz edge a w której tracisz

Grupa C: parametry zlecenia — plan vs realność (6 pól)

Tu się rodzi większość brutalnych prawd o tradingu detalu.

  1. Entry planowane — cena, na której chciałeś wejść (z analizy)
  2. Entry realne — cena, na której rzeczywiście wszedłeś (slippage może być 1–5 pipsów na M15)
  3. SL planowane — cena, gdzie hipoteza się obala (z reguł strategii)
  4. SL realne (fill) — cena, na której SL został zrealizowany (slippage na SL bywa 2–10× większy niż na entry)
  5. TP planowane — cena lub wielokrotność R
  6. TP realne (fill) — cena, na której TP został zrealizowany lub pozycja zamknięta ręcznie

Grupa D: koszty (4 pola)

Koszty zżerają 10–25% expectancy brutto. Bez ich pomiaru nie wiesz, czy strategia ma edge netto.

  1. Spread (pipsy) — w momencie wejścia, nie reklamowany przez brokera
  2. Slippage entry (pipsy) — różnica między entry planowanym a realnym
  3. Slippage exit (pipsy) — różnica między SL/TP planowanym a fill
  4. Swap i prowizja — w walucie rachunku, dla pozycji trzymanej przez noc lub na ECN

Grupa E: wynik i metryki (3 pola)

  1. Wynik brutto — w pipsach i w walucie rachunku, bez kosztów
  2. Wynik netto — po odjęciu wszystkich kosztów (spread + slippage + swap + prowizja)
  3. R-multiple netto — wynik_netto / planowane_ryzyko (definicja w sekcji 3)

Grupa F: ocena jakości decyzji (4 pola)

Ta grupa jest najczęściej pomijana — i najważniejsza. Dwie transakcje mogą mieć identyczny wynik, ale różną jakość decyzji.

  1. Klasyfikacja błędu — kategoryczna lista: 0 = brak błędu, 1 = za szeroki SL, 2 = za wąski SL, 3 = przesunięty SL przeciw planowi, 4 = early exit, 5 = late exit, 6 = wejście poza setupem (FOMO), 7 = oversized (większy lot niż plan), 8 = revenge trade, 9 = inne
  2. Mental state (1–5) — 1 = źle (zmęczony, zły, rozproszony), 5 = świetnie (skupiony, wypoczęty, jasna głowa). Ocena przed wejściem, nie po wyniku
  3. Godziny snu poprzedniej nocy — liczba. W dobrze prowadzonym dzienniku warto sprawdzić korelację Spearmana między snem a R-multiple; w obserwacjach z własnych i przykładowych dzienników detalu często wychodzi to jako jedna z mocniejszych zmiennych behawioralnych, ale wymaga własnych danych — nie traktuj 0,2–0,4 jako uniwersalnego prawa rynku
  4. Decisional quality (1–5) — wystawiana na koniec dnia, oddzielnie od wyniku. Pytanie: czy ta transakcja była podjęta zgodnie z planem? 5 = idealnie, 1 = improwizacja

Tabela — wszystkie 25 pól, typy danych, źródło

#PoleTypŹródło
1ID transakcjitekstgenerowane automatycznie
2Data i godzinadatetimebroker / platforma
3Paratekstbroker
4Kieruneklong/shortbroker
5Setup z playbookateksttrader (przed wejściem)
6Klasa A+/A/B/Ckategoriatrader (przed wejściem)
7Reżim rynkowykategoriatrader (przed wejściem)
8Sesjakategoriaauto (z czasu)
9Entry planowaneliczbatrader (przed wejściem)
10Entry realneliczbabroker
11SL planowaneliczbatrader (przed wejściem)
12SL realne (fill)liczbabroker
13TP planowaneliczbatrader (przed wejściem)
14TP realne (fill)liczbabroker
15Spread (pipsy)liczbabroker / log
16Slippage entryliczbaauto (10−9)
17Slippage exitliczbaauto (12−11 lub 14−13)
18Swap + prowizjaliczbabroker
19PnL brutto z filliliczbabroker (z fillów rzeczywistych)
20PnL netto z brokeraliczbabroker: PnL po prowizji/swapie; spread i slippage zawarte w fillach
21R_nettoliczbaauto: PnL_netto_broker / planned_risk
22Klasyfikacja błędukategoria 0–9trader (po zamknięciu)
23Mental state 1–5liczbatrader (przed)
24Godziny snuliczbatrader (rano)
25Decisional quality 1–5liczbatrader (koniec dnia)

Wprowadzenie 25 pól zajmuje 60–90 sekund per transakcja, jeśli masz szablon. Bez tych danych każda kolejna analiza jest zgadywaniem. Jeżeli nie masz 90 sekund na opisanie transakcji, nie powinieneś mieć 30 sekund na jej otwarcie.

Mini-specyfikacja CSV / Google Sheets

Format maszynowy do zaimplementowania w arkuszu lub bazie. Lewa kolumna — nazwa techniczna, prawa — źródło uzupełniania:

Nazwa kolumnyTypŹródło
trade_idtekstauto / formuła
open_time_utc / close_time_utcdatetime UTCbroker (CSV/MT export)
pairtekstbroker
directionlong / shortbroker
setup / setup_class (A+/A/B/C)tekst / kategoriatrader, przed wejściem
regime / sessionkategoriatrader / auto
planned_entry / actual_entryliczbatrader / broker
planned_sl / actual_exitliczbatrader / broker
planned_tp / actual_tpliczbatrader / broker
spread_pipsliczbabroker / log
slippage_entry_pips / slippage_exit_pipsauto: actual − plannedformuła
swap_pln / commission_plnliczbabroker
broker_gross_pnl_pln / broker_net_pnl_plnliczbabroker: PnL z fillów / po prowizji i swapie
planned_gross_pnl_pln / planned_risk_plnliczbaauto: (TP_plan − entry_plan) × pip_value / |entry_plan − SL_plan| × pip_value
r_netliczba (R)auto: broker_net_pnl_pln / planned_risk_pln
execution_drag_Rliczba (R)auto: (planned_gross_pnl_pln − broker_net_pnl_pln) / planned_risk_pln
mae_r / mfe_rliczba (R)trader / Edgewonk / cTrader / skrypt
error_code0–10trader, po zamknięciu
mental_state 1–5liczbatrader, przed wejściem
sleep_hoursliczbatrader, rano
decision_quality 1–5liczbatrader, koniec dnia

Kategoria błędu error_code rozszerzona o pozycję 10: 10 = błąd infrastrukturalny (brak hard SL na serwerze, awaria platformy, awaria internetu) — to nie jest błąd tradingowy, to oddzielna kategoria, której nie wolno mieszać z błędami decyzyjnymi (kategorie 1–9). Dziennik bez hardware SL na serwerze jest bezużyteczny: każda pozycja otwarta bez SL po stronie brokera może w razie awarii infrastruktury wyprodukować zdarzenie, którego nie da się zrekonstruować z logów.

Gotowy szablon do skopiowania. Aby uniknąć 4–8 godzin budowy arkusza od zera, możesz wykorzystać publiczny szablon Google Sheets z 25 polami z tabeli powyżej, gotowymi formułami dla r_net, slippage_entry_pips, slippage_exit_pips, costs_pln, execution_drag_R oraz dropdownami dla setup_class, regime, session, error_code (0–10). Workflow: otwórz szablon → Plik → Utwórz kopię → podmień przykładowe wpisy na własne. Link do szablonu jest publikowany przy artykule jako pobranie XLSX/Google Sheets/CSV; jeśli go nie widzisz, daj znać w komentarzu — struktura kolumn z tabeli wyżej działa 1:1 ze skryptem Python z sekcji 4.
Szablon dziennika transakcji Forex z 25 polami — identyfikacja, kontekst strategiczny, parametry zlecenia plan vs realność, koszty, wynik, ocena jakości decyzji
Szablon dziennika transakcji Forex z 25 polami — identyfikacja, kontekst strategiczny, parametry zlecenia plan vs realność, koszty, wynik, ocena jakości decyzji
Pole „decisional quality" jako odgrodzenie od wyniku. Brett Steenbarger (psycholog desków proptradingowych) podkreśla[3], że największym błędem analizy dziennika jest ocenianie decyzji przez pryzmat wyniku. Świetna decyzja może dać stratę (rynek wykonał ruch o niskim prawdopodobieństwie), słaba decyzja może dać zysk (szczęście). Bez oddzielnego pola „decisional quality" tracisz tę informację — i wzmacniasz złe nawyki, bo „zarobiłem, więc dobrze zrobiłem". Pole 25 wymusza ocenę procesu, nie tylko rezultatu. Po roku zbierania danych możesz policzyć korelację między decisional quality a wynikiem — i znaleźć systematyczne odchylenia (np. 2 = rozluźniona dyscyplina, ale akurat fartowny miesiąc).

3. R-multiple — fundamentalna metryka, której detal nie liczy

R-multiple to jedyna metryka pozwalająca porównywać transakcje o różnym profilu ryzyka w jednej skali. Bez R-multiple zysk +200 PLN na scalpie M5 i zysk +200 PLN na swing trade'cie D1 wyglądają identycznie — choć pierwszy mógł być zrobiony przy ryzyku 50 PLN (zysk +4R), a drugi przy ryzyku 600 PLN (zysk +0,33R, czyli operacyjnie marny). R-multiple wprowadził Van K. Tharp[1] — i jest to fundament każdej poważnej analizy systemu transakcyjnego.

Formuła R-multiple

R-multiple — wzór netto z uwzględnieniem kosztów transakcyjnych
R_netto = realny_wynik_netto_z_brokera / planowane_ryzyko licznik (realny PnL netto) PnL z filli − prowizja − swap |entry_plan − SL_plan| × lot × wartość_pipa mianownik (planowane ryzyko) = np. realny PnL netto = 1228 PLN +1228 PLN +660 PLN np. ryzyko = 660 PLN = +1,86R netto, z realnych filli brokera

Najbezpieczniejsza definicja operacyjna:

R_netto = realny_wynik_netto_z_brokera / planowane_ryzyko

Gdzie realny wynik netto to PnL po faktycznych fillach, prowizji, swapie i wszystkich kosztach widocznych w raporcie brokera (slippage i spread są już zawarte w fillach — broker liczy zysk od cen rzeczywistych transakcji, nie planowanych). Slippage i spread zapisujesz osobno jako pola diagnostyczne, ale nie odejmujesz ich drugi raz, jeśli są już zawarte w realnym PnL.

Mianownik — planowane ryzyko, nie realne. Jeśli SL został zrealizowany ze slippage'em −10 pipsów ponad planowane, to nie zwiększa twojego R-mianownika; realna strata jest wtedy −1,2R lub −1,5R, nie −1R. To pokazuje, ile faktycznie zostało stracone w sytuacjach, w których egzekucja zawiodła.

Execution drag — diagnostyka egzekucji obok wyniku

Spread, slippage i prowizje są kosztami operacyjnymi, ale w księgowości wyniku siedzą już w realnym PnL. Aby diagnozować jakość egzekucji, liczysz osobno:

execution_drag_R = (planowany_wynik_brutto − realny_wynik_netto) / planowane_ryzyko

Gdzie planowany wynik brutto = (cena_TP_planowana − cena_entry_planowana) × wartość_pipa, czyli wynik, który byłby twoim, gdyby slippage, spread i prowizja były zerowe. Różnica między planem a realem to dokładnie execution drag w R. To jest właściwe miejsce na diagnozę kosztów — obok PnL, nie zamiast PnL.

Reguła operacyjna: nie mieszaj księgowości wyniku z diagnostyką egzekucji. Jeśli liczysz r_net z realnego PnL brokera, koszty są już w wyniku — analizujesz je osobno przez execution drag. Jeśli liczysz r_net z planowanych cen, musisz odjąć koszty ręcznie. Jedno albo drugie, nigdy obie metody naraz.

Przykład pełnej kalkulacji

Trade na EUR/USD, lot 0,5 (50 000 EUR), USD/PLN ≈ 4,40. Wartość pipa dla 1 lota standardowego EUR/USD = 10 USD ≈ 44 PLN; dla 0,5 lota ≈ 22 PLN/pip.

  • Entry planowane: 1,0850
  • Entry realne: 1,0852 (slippage 2 pipsy)
  • SL planowane: 1,0820 (30 pipsów ryzyka)
  • TP planowane: 1,0910 (60 pipsów = 2R)
  • Wyjście realne: 1,0908 (slippage 2 pipsy na TP)
  • Spread w momencie wejścia: 0,8 pipsa
  • Prowizja ECN: 4 PLN per RT
  • Swap: 0 (pozycja zamknięta tego samego dnia)

Liczenie R_netto (z realnych filli brokerskich):

  • PnL z faktycznych filli: 1,0908 − 1,0852 = 56 pipsów; w PLN: 56 × 22 = 1232 PLN (slippage entry i exit są już w tej liczbie, bo broker liczy od cen rzeczywistych)
  • Prowizja ECN: 4 PLN. Swap: 0
  • Realny wynik netto: 1232 − 4 = 1228 PLN
  • Planowane ryzyko: |1,0850 − 1,0820| = 30 pipsów; 30 × 22 = 660 PLN
  • R_netto = 1228 / 660 ≈ +1,86R

Liczenie execution drag (diagnostyka osobno):

  • Planowany wynik brutto (idealne fille, zero kosztów): (1,0910 − 1,0850) × 22 = 60 × 22 = 1320 PLN
  • Realny wynik netto: 1228 PLN
  • Różnica: 1320 − 1228 = 92 PLN
  • execution_drag_R = 92 / 660 ≈ 0,14R (czyli koszty egzekucji zjadły 14% planowanego ryzyka)

Po 100 takich transakcjach execution drag ≈ 14R, czyli przy 1% sizingu — 14% kapitału rocznie. Koszty nie są zaokrągleniem; są diagnostyką, na której decydujesz o brokerze, parze, timeframe i SL. Trzymaj r_net jako księgowość wyniku, execution_drag_R jako narzędzie poprawy egzekucji — nigdy nie mieszaj obu w jednej formule.

Wartość pipa w PLN nie jest stała. Dla rachunku denominowanego w PLN wartość pipa zmienia się z kursem USD/PLN, EUR/PLN, JPY/PLN. Przy USD/PLN 4,40 wartość pipa EUR/USD na 1 lota standardowego ≈ 44 PLN; przy USD/PLN 3,90 ≈ 39 PLN. Różnica 11% — jeśli używasz stałej wartości na cały rok, twój R-multiple jest systematycznie obciążony błędem. Dwa rozwiązania: (a) odświeżaj wartość pipa w arkuszu raz w tygodniu z aktualnego fixingu NBP, (b) prowadź dziennik z wartością pipa w momencie transakcji jako oddzielne pole, nie globalną stałą.

Dlaczego R-multiple, a nie procenty albo PLN

JednostkaCo pokazujeOgraniczenie
PLNBezwzględny zysk/strataNie uwzględnia ryzyka — +200 PLN przy ryzyku 50 PLN to coś innego niż przy ryzyku 600 PLN
%Wpływ na rachunekZależy od sizingu — większy sizing = większy %, ale niekoniecznie lepsza decyzja
PipsyRuch cenyNie porównuje par o różnej zmienności (EUR/USD vs USD/MXN)
R-multipleZysk znormalizowany przez ryzykoWymaga dyscypliny w definiowaniu ryzyka przed wejściem

R-multiple to jedyna jednostka, która pozwala uczciwie porównywać scalp z swingiem, EUR/USD z GBP/JPY, mały lot z dużym. Trader, który po roku ma 200 trades z dziennika R-multiple, może odpowiedzieć precyzyjnie: „Mój setup A+ ma średnie R = +0,84, B = +0,21, C = −0,13. Z C trzeba zrezygnować."

Rozkład R-multiple — jak czytać statystykę 200 trade'ów

Rozkład R-multiple z 220 transakcji — typowy zdrowy system z prawym ogonem (zarabia na kilku dużych wygranych)
Rozkład R-multiple — 220 transakcji, system z prawym ogonem (zdrowy) 82 −1R 22 −0,5R 18 0R 28 +0,5R 38 +1R 15 +1,5R 9 +2R 4 +3R 3 +4R 1 +5R 0 25 50 75 R-multiple netto Średnia +0,30R | Mediana +0,10R | WR 44,5% | Profit Factor 1,8

Z tego rozkładu czyta się trzy rzeczy:

  • WR niski, ale system zarabia — 44,5% (98 z 220 wygranych powyżej 0R), ale prawy ogon (16 trades powyżej +2R, w tym pojedyncze +5R) napędza expectancy
  • Mediana +0,1R, średnia +0,3R — różnica między medianą a średnią pokazuje, że system zarabia na ogonie. To typowe dla trend-following
  • Mean-reversion ma odwrotny rozkład — wysoki WR (60–70%), niska średnia wygranej (+0,5R), długi lewy ogon (rzadkie −2R, −3R, gdy mean-reversion zawodzi)
Brudna praktyka: trader, który nie liczył R-multiple, bo „zarabiał w PLN". Trader z 14-miesięcznym dziennikiem prowadzonym w PLN. Saldo: +12% rocznie. „Strategia działa." Pytanie: jaki masz średni R per trade? Cisza. Razem przeliczyliśmy: 142 transakcje, średnia +0,11R netto. Problem: średni sizing wynosił 1,8% kapitału. Czyli 0,11R × 1,8% = +0,2% per trade. 142 trade'ów × 0,2% = +28% teoretycznie. Realnie +12%. Gdzie zniknęła reszta? Sequence of returns — kilka serii strat zmusiło do przejścia na mniejszy sizing, potem powrót do większego po wygranych. Gdyby trzymał stały sizing 1% (zamiast 1,8%), expectancy w R byłoby identyczne, ale drawdown mniejszy o 40%, a CAGR niemal taki sam. Bez R-multiple nie widać tego — widać tylko procent na rachunku, który miesza ze sobą jakość systemu i ryzyko sizingu. Dwie różne rzeczy, jedna liczba.

4. Expectancy netto — co odróżnia system zarabiający od marketingu

Expectancy odpowiada na jedno pytanie: ile średnio zarabiam (lub tracę) na każdej transakcji, w jednostce R? Bez tej liczby nie wiesz, czy twój system ma matematyczny sens. Z nią — wiesz dokładnie, jakiego zwrotu oczekiwać po N transakcjach.

Formuła expectancy

Wersja kanoniczna (do backtestu / liczenia z planowanych cen):

Expectancy = (WR × średni_zysk_R) − ((1 − WR) × średnia_strata_R) − koszty_per_trade_R

Gdzie:

  • WR — win rate, ułamek (0,55 = 55%)
  • średni_zysk_R — średni R wygranych transakcji (np. +1,8R)
  • średnia_strata_R — bezwzględna wartość średniego R przegranych (np. 1,0R, jeśli SL trzymane idealnie)
  • koszty_per_trade_R — spread + slippage + swap + prowizja, wyrażone jako % R (np. 0,1R)
W dzienniku live: expectancy = średnia(r_net). Jeśli r_net liczysz z PnL netto brokera (sekcja 3), expectancy live to po prostu średnia z kolumny r_net — koszty są już zawarte. Rozbita formuła z WR, avgWin i avgLoss służy do diagnostyki struktury systemu (czy zarabiasz na wysokim WR z małymi wygranymi, czy na niskim WR z prawym ogonem) i do liczenia expectancy z backtestu, gdzie ceny są planowane. Nie odejmuj kosztów drugi raz.

Trzy progi sensowności expectancy

Expectancy nettoStatusCo robić
> +0,5RWybitnaSetup A+, maksymalna alokacja (1% kapitału per trade)
+0,3R do +0,5RSolidnaSetup A, normalna alokacja
+0,15R do +0,3RMarginalnaSetup B, zmniejszona alokacja (0,5%)
0 do +0,15RWątpliwaPróba zbyt mała lub edge na granicy szumu — zbieraj więcej danych przed decyzją
< 0StratnaUsunąć z playbooka. Trzymanie tylko niszczy psychikę i kapitał

Próba minimalna do oszacowania expectancy

To jest pułapka, w którą wpada większość detalu: liczy expectancy z 30–50 transakcji i traktuje wynik jako prawdę. Statystyka mówi inaczej:

  • 50 transakcji — przedział ufności 95% dla WR jest ~±14 punktów procentowych. WR 55% może rzeczywiście być 41% lub 69%
  • 100 transakcji — przedział ~±10 pp. Wciąż za szeroko dla decyzji o porzuceniu setupu
  • 200 transakcji — przedział ~±7 pp. Akceptowalna minimalna próba
  • 500 transakcji — przedział ~±4 pp. Solidna próba do walidacji setupu

Praktyczna reguła: nie podejmuj decyzji o usunięciu setupu z playbooka na podstawie próby mniejszej niż 100 transakcji. Mniejsza próba = ryzyko, że odrzucasz dobry setup w trakcie statystycznego pecha lub trzymasz zły setup w trakcie statystycznego fartu.

Pułapka: expectancy bez kosztów i bez execution drag

Detal regularnie liczy expectancy brutto, bez uwzględnienia spreadu, slippage'u, prowizji i swapu. Wynik wygląda dobrze (+0,5R), realny wynik jest gorzej (+0,2R). Po roku saldo nie rośnie — bo zarabia +0,2R, nie +0,5R, na każdej z 200 transakcji.

Reguła metodologiczna: jeżeli r_net liczysz z realnego PnL netto brokera (sekcja 3), koszty są już w wyniku — wtedy spread, slippage i prowizję analizujesz osobno jako execution drag, nie odejmujesz drugi raz. Jeżeli liczysz expectancy z planowanych cen (np. backtest na świecach bez modelowania kosztów), musisz koszty odjąć ręcznie. Nie mieszaj obu metod — przykłady poniżej traktuj jako kalkulację execution drag, nie jako podwójne odejmowanie od PnL netto.

Konkretne przykłady kosztów per trade w R:

  • Para: EUR/USD, broker ECN, spread 0,2 pip + prowizja 7 USD per lot RT, slippage średnio 0,3 pip każda strona
  • Setup typowy: SL 30 pipsów, lot 0,3 (USD/PLN ≈ 4,40); wartość pipa per 0,3 lota ≈ 13,2 PLN
  • Planowane ryzyko: 30 × 13,2 = 396 PLN
  • Koszty: spread 0,2 × 13,2 = 2,64 PLN + slippage 0,6 (entry+exit) × 13,2 = 7,92 PLN + prowizja 7 USD × 0,3 lota = 2,1 USD ≈ 9,24 PLN — łącznie ~19,8 PLN
  • Koszty w R: 19,8 / 396 = 0,05R (czyli 5% planowanego ryzyka)

Inny przykład — gorsza para, mniejszy SL:

  • Para: GBP/JPY, broker market maker, spread 2,5 pip, brak prowizji, slippage 1 pip każda strona
  • Wartość pipa per 0,1 lota dla GBP/JPY przy USD/JPY ≈ 150 i USD/PLN ≈ 4,40: ≈ 2,80 PLN/pip
  • Setup ciasny: SL 25 pipsów, lot 0,1 → ryzyko 25 × 2,80 = 70 PLN
  • Koszty per pozycja: spread 2,5 × 2,80 = 7,00 PLN + slippage entry 1 × 2,80 = 2,80 PLN + slippage exit 1 × 2,80 = 2,80 PLN = 12,60 PLN
  • Koszty w R: 12,60 / 70 = 0,18R (czyli 18% planowanego ryzyka idzie w koszty od startu)

To pokazuje pułapkę proporcji: ten sam slippage w pipsach przy ciaśniejszym SL zżera dramatycznie większy procent R. Dlatego 25-pipsowe SL na parze GBP/JPY ze spreadem 2,5 pipsa to katastrofa kosztowa — system z brutto edge < +0,2R nie ma szans przeżyć po kosztach. Reguła praktyczna: koszty per trade nie powinny przekraczać 5–8% planowanego ryzyka; powyżej tej granicy zmieniasz brokera, parę albo timeframe (na większy SL).

SQN Van Tharpa — kryterium gotowości systemu

System Quality Number (SQN): SQN = (E / σR) × √n
gdzie E — expectancy w R, σR — odchylenie standardowe R, n — liczba transakcji.

Interpretacja Tharpa: SQN < 1,6 — setup operacyjnie trudny, niezalecany do skalowania; 1,6–2,5 — solidny system; 2,5–5,0 — bardzo dobry; > 7,0 — zwykle artefakt overfittingu albo zbyt małej próby. Próg N: 100 transakcji, niżej SQN niewiarygodne.

Praktyczna zasada: zanim usuniesz setup z playbooka, sprawdź czy SQN był kiedykolwiek ≥ 1,6 przy n ≥ 100 — jeśli tak, możliwe że masz do czynienia z normalną serią strat, nie ze złym setupem.

Out-of-sample validation — kalibracja vs przyszłość

Każda optymalizacja progów expectancy (np. „usuwam setup poniżej +0,15R") powinna być walidowana na danych nieużytych do kalibracji. Minimum: 30% próby zarezerwowane jako OOS. Trader liczący expectancy na całym historycznym samplu i wyciągający z niego decyzje — uprawia p-hacking bez wiedzy.

Konkretny przykład: trader ma 12 setupów po 200 transakcji każdy. Wybiera 3 najlepsze według expectancy z całych 200. Te 3 na kolejnych 100 trades (poza historyczną próbą) typowo regresują do mediany — bo pierwotny ranking obejmował szczęście, nie tylko edge. Reguła operacyjna: kalibrujesz na 70% danych (np. 140 trades), walidujesz na pozostałych 30% (60 trades) i dopiero po walidacji decydujesz o eliminacji.

Bootstrap CI dla expectancy — kiedy +0,22R jest hipotezą, nie edgem

Expectancy +0,22R na 42 transakcjach nie jest edge'em — jest hipotezą. Aby ocenić, czy „edge" jest istotny, liczysz bootstrap CI: losujesz 10 000 razy próbę z powtórzeniami z tych 42 trade'ów, dla każdej liczysz średnie R. Histogram pokazuje 95-percentylowy przedział ufności średniego R. Jeśli przedział obejmuje 0 — nie masz statystycznej pewności, że system zarabia. Praktyczne progi:

  • 30 trades — obserwacja, nie decyzja
  • 100 trades — decyzja robocza (kontynuować z bieżącym sizingiem)
  • 200–500 trades — twardszy wniosek o edge
  • Setupy o niskiej częstotliwości (5/mies.) — obowiązkowo licz bootstrap CI; bez tego twoje 50 trades przez rok to szum

Skrypt Python do liczenia expectancy z CSV

Poniższy fragment liczy expectancy, profit factor, MAE/MFE i kilka innych metryk z dziennika eksportowanego do CSV:

import pandas as pd
import numpy as np

# Wczytanie dziennika z CSV (25 pól)
df = pd.read_csv('dziennik.csv')

# Filtr: tylko transakcje zamknięte (z R-multiple)
df = df.dropna(subset=['r_net'])

# Podstawowe metryki
total = len(df)
wins = df[df['r_net'] > 0]
losses = df[df['r_net'] < 0]
wr = len(wins) / total

avg_win = wins['r_net'].mean()
avg_loss = abs(losses['r_net'].mean())
expectancy = wr * avg_win - (1 - wr) * avg_loss

# Profit Factor
sum_wins = wins['r_net'].sum()
sum_losses = abs(losses['r_net'].sum())
profit_factor = sum_wins / sum_losses if sum_losses > 0 else float('inf')

# Sortino (per-trade)
returns = df['r_net']
downside = returns[returns < 0]
sortino = returns.mean() / downside.std() if len(downside) > 1 else None

# Drawdown na krzywej kapitału
equity = (1 + returns * 0.01).cumprod()  # przy 1% sizingu
running_max = equity.cummax()
drawdown = (equity - running_max) / running_max
max_dd = drawdown.min()

# Per setup
print(df.groupby('setup').agg({
    'r_net': ['count', 'mean', 'sum', 'std']
}))

print(f"WR: {wr:.1%}")
print(f"Expectancy: {expectancy:+.2f}R")
print(f"Profit Factor: {profit_factor:.2f}")
print(f"Sortino: {sortino:.2f}" if sortino else "Sortino: brak")
print(f"Max DD: {max_dd:.1%}")

Skrypt zakłada strukturę CSV zgodną z 25 polami z sekcji 2. Po podstawieniu własnego pliku dziennika otrzymujesz pełen obraz w 5 sekund — to jest siła systematycznego dziennika.

Brudna praktyka: setup wyrzucony przy n=38. Trader testuje setup „NY-mean-revert-B" przez 6 tygodni: 38 transakcji, expectancy −0,04R. Decyzja: setup do wyrzucenia. Wyrzuca. Dwa miesiące później kolega z desku pokazuje identyczny setup z 180 transakcji i expectancy +0,28R. Różnica? Tamten handlował go na H1 z SL 30 pipsów; pierwszy na M15 z SL 12 pipsów — slippage na M15 zjadał edge. Problem nie był w setupie, był w timeframe i rozmiarze SL. Na 38 transakcjach diagnoza była statystycznie niemożliwa — przedział ufności WR wynosił ±15 punktów procentowych. Dobry setup został zamknięty przez n za małe i brak korelacji diagnostycznej między timeframe a expectancy. Reguła: zanim wyrzucisz setup, sprawdź MAE per timeframe i koszty per trade w R, nie tylko końcową expectancy.
Brudna praktyka: 200 setupów A+ w backteście, 12 na live. Trader przyniósł arkusz: 200 „idealnych" setupów A+ na konfiguracji RSI-14 + EMA-200, WR 67%, expectancy +0,8R. Na live, po dwóch miesiącach: 12 setupów. Problem nie był w rynku, tylko w backteście — wskaźnik repaintował przejście przez EMA o 2–4 świece wstecz po zamknięciu rynku, więc historycznie sygnał wyglądał jak widoczny przed ruchem, a w realnym czasie pojawiał się dopiero po fakcie. To nie był system — to była maszyna do produkowania pewności siebie na danych, których w realnym czasie nie miał. Procedura przed publishem backtestu: w Pine Script zweryfikuj każdy wskaźnik z lookahead=barmerge.lookahead_off; w MT4/5 sprawdź, czy iCustom() nie sięga do bieżącej, niezamkniętej świecy.
Expectancy netto — wzór, progi sensowności i przykładowa kalkulacja dla 200 transakcji; jak odróżnić system A+ od marketingowego pseudo-edge
Expectancy netto — wzór, progi sensowności i przykładowa kalkulacja dla 200 transakcji; jak odróżnić system A+ od marketingowego pseudo-edge

5. Profit Factor i Recovery Factor — różne pytania, różne odpowiedzi

Expectancy mówi „ile średnio zarabiam per trade". Profit Factor i Recovery Factor odpowiadają na inne pytania, a brak ich liczenia ukrywa część obrazu systemu.

Profit Factor — relacja zysku do straty

Profit Factor (PF) = suma_wszystkich_zysków / suma_wszystkich_strat (wartość bezwzględna)

Pytanie, na które odpowiada: czy mój system w sumie zarabia więcej niż traci, i o ile razy więcej?

Profit FactorInterpretacja
< 1,0System stratny — straty przewyższają zyski
1,0 − 1,3System na granicy — operacyjnie wątpliwy, koszty mogą zjeść marżę
1,3 − 1,5Akceptowalny dla setupu B
1,5 − 2,0Solidny system A
2,0 − 3,0Wybitny system A+
> 3,0Najczęściej oznaka curve fittingu lub zbyt małej próby — zweryfikuj na OOS

PF jest bardziej intuicyjny niż expectancy dla osób bez tła statystycznego — „za każdy 1 PLN straty zarabiam 1,8 PLN" jest jasne. Ale ma wadę: nie pokazuje rozkładu. System z PF 1,8 i 200 trades vs system z PF 1,8 i 20 trades to dwie różne rzeczy operacyjnie. Dlatego patrz na PF łącznie z liczbą próbek i expectancy.

Recovery Factor — zwrot vs największy drawdown

Recovery Factor (RF) = całkowity_zysk_netto / max_drawdown

Pytanie: ile razy zwrot przewyższa najgorszy historyczny drawdown? Innymi słowy — ile razy musiałbyś przejść przez najgorszy okres, żeby skompensować całkowity zwrot.

Przykład: rok zarabiasz +35%, max DD w trakcie roku był −12%. RF = 35/12 = 2,92.

Recovery FactorInterpretacja
< 1,0Drawdown przewyższa zysk — ryzyko nieproporcjonalne
1,0 − 2,0Zwrot pokrywa DD, ale nie z dużym buforem
2,0 − 3,0Solidny system
3,0 − 5,0Wybitny — zwrot 3–5× nad DD
> 5,0Znakomity, ale często statystyczny artefakt na małej próbie

RF jest przydatny dla psychologii: jeśli twój zwrot 30% rocznie wymagał przejścia przez DD 25% — RF 1,2 — pytanie czy ten ból był wart tego zwrotu. Mając wybór, większość traderów woli RF 2+ przy mniejszym CAGR niż wysoki zwrot z głębokim DD.

Win Rate vs Profit Factor — częsty błąd interpretacji

Detal myli WR z jakością systemu. „Mam WR 75%, więc system działa" — niekoniecznie. WR 75% z średnim zyskiem +0,5R i średnią stratą −2,5R to:

  • Expectancy: 0,75 × 0,5 − 0,25 × 2,5 = 0,375 − 0,625 = −0,25R (system stratny!)
  • Profit Factor: (0,75 × 0,5) / (0,25 × 2,5) = 0,375 / 0,625 = 0,6 (system traci 40 groszy na każde 1 PLN zysku)

Wysokie WR bez kontroli relacji średnich zysków do średnich strat to klasyczna pułapka mean-reversion bez dyscypliny SL. Każda przegrana zjada wynik wielu wygranych. Profit Factor odsłania to natychmiast — WR 75% z PF 0,6 = system stratny mimo wysokiego WR.

Brudna praktyka: trader z WR 78% i kontem przy zerze. Trader handluje grid martingale na EUR/USD. WR przez 6 miesięcy: 78% (134 z 172 transakcji wygrane). Saldo: −67% rachunku. Co się stało? Sredni zysk +0,3R, średnia strata −4,1R. Pojedyncza przegrana niszczyła wynik 14 wygranych. Profit Factor 0,84 — system stratny. WR był miarą, którą sobie wybrał, bo wyglądała dobrze. Profit Factor był miarą, której nie liczył, bo była niewygodna. Po szczerej kalkulacji trader przerwał strategię — pierwszy raz miał liczby, nie tylko wrażenie.

6. Sharpe i Sortino — kiedy mają sens dla detalu

Sharpe Ratio i Sortino Ratio są standardami w funduszach hedgingowych — i nie zawsze mają sens dla detalu. Ale w wersji „per-trade" (zamiast „roczny zwrot vs zmienność") dostarczają informacji, której expectancy ani PF nie pokazują.

Sharpe Ratio — zwrot per jednostka zmienności

Sharpe = (średni_R − stopa_wolna_od_ryzyka) / odchylenie_standardowe_R

Dla detalu na poziomie per-trade pomijamy stopę wolną od ryzyka (i tak liczymy w R, gdzie ryzyko jest unormowane), więc:

Sharpe ≈ średnia(R) / std(R)

Co mówi: jak duży zwrot generuje system na jednostkę zmienności wyników. Wysokie Sharpe = stabilne, przewidywalne wyniki. Niskie Sharpe = wyniki rozstrzelone, mimo średniego zysku.

Sharpe (per-trade)Interpretacja
< 0,1System z dużym szumem, expectancy może być dodatnie ale wahania ogromne
0,1 − 0,2Akceptowalny dla strategii trend-following (z natury chaotyczne)
0,2 − 0,4Solidny system
0,4 − 0,6Wybitny — rzadko spotykany na detalu
> 0,6Albo curve fitting, albo zbyt mała próba — zweryfikuj

Uwaga: Sharpe roczny (annualised) z funduszy hedgingowych dla dobrego systemu wynosi 1,5–2,5 i nie da się tego przeliczyć 1:1 na per-trade. Sharpe per-trade rzędu 0,3 odpowiada w przybliżeniu Sharpe rocznemu 1,5–2,0 (zależnie od częstotliwości handlu).

Wada Sharpe'a — karze upside variance

Sharpe traktuje całe odchylenie standardowe jako „zmienność do unikania". Ale duże wygrane (+5R, +8R) też zwiększają std — i Sharpe je karze. To jest ekonomicznie absurdalne: dlaczego mam być karany za to, że czasem system robi mocny ruch w moim kierunku?

To dlatego William Sortino zaproponował alternatywę[2]: liczyć tylko downside variance.

Sortino Ratio — zwrot per jednostka downside risk

Sortino = średnia(R) / odchylenie_standardowe_strat (tylko ujemne R)

Sortino karze tylko zmienność stratną. Duże wygrane nie wpływają negatywnie. Sortino > Sharpe dla większości realnych strategii — bo realne strategie mają asymetryczny rozkład (wygrane są większe niż straty, dzięki SL).

Sortino (per-trade)Interpretacja
< 0,3System ma dużą downside zmienność, kapitał często traci
0,3 − 0,6Akceptowalny
0,6 − 1,0Solidny
1,0 − 1,5Wybitny
> 1,5Albo curve fitting, albo praca pod presją serii (tylko zwycięstwa = zaniżona std strat)

Reguła robocza: dla większości detalicznych strategii z asymetrycznym rozkładem wyników Sortino mówi więcej niż Sharpe, ale oba wskaźniki są śmieciem, jeśli liczysz je na 37 transakcjach. Sharpe pokazuje wszystkie wahania, Sortino tylko te, które bolą — wybór zależy od stylu, częstotliwości i rozkładu wyników twojego konkretnego systemu.

Kiedy Sharpe i Sortino nie mają sensu dla detalu

  • Próba < 50 transakcji — odchylenia standardowe są zaszumione, metryki niestabilne
  • Strategie z bardzo asymetrycznym rozkładem (np. event-driven na publikacjach) — Sharpe traci sens, bo wygrane to long tail, std nie odpowiada „normalnej" zmienności
  • Bardzo niska częstotliwość (5 trades miesięcznie) — annualised Sharpe wymaga setek obserwacji rocznie, na 60 transakcjach rocznie statystycznie niemożliwy do wiarygodnego oszacowania

Dla typowego detalu z 200–600 transakcjami rocznie i strategiami trend-following + mean-reversion: Sortino jest dobrym kompasem, Sharpe jest informacją uzupełniającą.

7. MAE/MFE — co mówi o jakości entry i exit

Maximum Adverse Excursion (MAE) i Maximum Favorable Excursion (MFE) to dwie metryki, które odsłaniają, jak daleko cena szła przeciwko tobie i jak daleko za tobą w trakcie życia transakcji. Detal ich nie liczy — i traci najcenniejsze źródło wiedzy o jakości SL i TP.

Definicje MAE i MFE

  • MAE (Maximum Adverse Excursion) — najgorszy ruch ceny przeciwko pozycji w trakcie jej trwania, mierzony w R od entry. Np. wszedłeś po 1,0850, zanim trade się zamknął cena dotykała 1,0825 → MAE = (1,0850 − 1,0825) / |entry − SL| = 25/30 = 0,83R
  • MFE (Maximum Favorable Excursion) — najlepszy ruch ceny w stronę pozycji w trakcie jej trwania, mierzony w R. Wszedłeś po 1,0850, cena dotknęła 1,0920 zanim się cofnęła → MFE = (1,0920 − 1,0850) / 30 = 70/30 = 2,33R

Co MAE i MFE diagnozują

MAE odpowiada na pytanie: jak blisko byłem stop lossa. Jeśli średnie MAE dla wygranych transakcji to 0,4R, znaczy że SL można by zacieśnić bez większych szkód. Jeśli średnie MAE to 0,9R (niemal SL), znaczy że wchodzisz „pod" rynek i SL jest na granicy — większy slippage zniszczy wyniki.

MFE odpowiada na pytanie: czy zostawiam pieniądze na stole. Jeśli średnie MFE dla zamkniętych transakcji to +2,5R, a średni faktyczny zysk to +1,2R — zostawiasz +1,3R na stole na każdej wygranej. To jest często znak, że TP jest za blisko albo trailing stop za agresywny.

Cztery scenariusze diagnostyczne MAE/MFE

SytuacjaDiagnozaDziałanie
Średnie MAE wygranych ≈ 0,7R+Entry spóźniony / setup wymaga szerokiego oddechu / SL blisko punktu wybicia — nie automatycznie „za szeroki SL"Nie zacieśniaj SL w ciemno; najpierw test OOS na próbie 30–50 trade'ów: ile wygranych zostałoby wybitych przy SL 0,8×? Jeśli > 20% — SL jest na właściwym poziomie, problem jest w timingu wejścia
Średnie MAE wygranych ≈ 0,2RMożliwy nadmiarowy bufor w SL — cena rzadko cofa się przeciw, bufor nie jest używanyTest ciaśniejszego SL (np. 0,7× obecnego) lub większego R:R przy tym samym ryzyku PLN, walidacja na osobnej próbie 30–50 trade'ów
MFE / faktyczny_zysk > 2,0Zostawiasz dużo na stole — TP/trailing zbyt agresywnyTest: 50% pozycji na 1R, 50% trailing po SMA-20 lub na strukturze
MFE / faktyczny_zysk ≈ 1,1Wyciągasz większość ruchu, exit jest dobryNie zmieniaj — system jest dostrojony

MAE/MFE dla strat — odsłania jakość SL

Liczone tylko dla stratnych transakcji:

  • Średnia MAE strat ≈ 1,0R (czyli pełny SL) — SL trzymane idealnie, straty mają znormalizowany rozmiar. Jeśli rzeczywisty wynik strat to średnio −1,1R do −1,2R — to jest slippage
  • Średnia MAE strat > 1,2R — SL jest przesuwany przeciw planowi ALBO slippage jest dramatyczny ALBO wchodzisz przed gapami. Każda z tych przyczyn wymaga konkretnej akcji naprawczej

Jak operacyjnie wyciągnąć MAE/MFE z platformy

Większość traderów robi to za skomplikowanym. Cztery realne ścieżki — wybierz jedną i trzymaj się jej przez 3 miesiące, zanim ocenisz, czy dane MAE cokolwiek zmieniły w twoich decyzjach. Większość brokerów nie eksportuje MAE/MFE w raporcie CSV (masz tylko entry, exit, max/min w trakcie życia trade'u):

  • MT4/MT5 bez tick history — po zamknięciu transakcji oznacz na wykresie M5/M15 z okresu życia pozycji najgorszy ruch przeciw i najlepszy w stronę, przelicz w R (MAE_pips / SL_pips, MFE_pips / SL_pips), zapisz ręcznie. Czas: 30–60 sekund per trade
  • cTrader / TradingView — eksport zakresu świec do CSV, automatyczne liczenie MAE/MFE skryptem Python (max/min w oknie open_time–close_time)
  • Edgewonk z importem ticków — liczy automatycznie, jeśli broker udostępnia tick history przez API
  • FX Blue / Myfxbook — w wersji free zwykle brak MAE/MFE; sprawdź plan płatny lub uzupełniaj ręcznie

Dla 95% detalu opcja 1 (manualnie po zamknięciu) jest najpraktyczniejsza — rzetelnie 30 sekund, bez integracji API i kosztów.

Rozkład MAE i MFE dla 200 transakcji — wykres punktowy pokazujący jak daleko cena szła przeciwko i za pozycją zanim się zamknęła. MAE wygranych skupione w dolnej części, MFE strat blisko zera
Rozkład MAE i MFE dla 200 transakcji — wykres punktowy pokazujący jak daleko cena szła przeciwko i za pozycją zanim się zamknęła. MAE wygranych skupione w dolnej części, MFE strat blisko zera

Wykres MAE/MFE — jak to czytać

MAE/MFE scatter — cztery klastry diagnostyczne entry i exit (Sweeney chart)
MAE / MFE scatter — diagnostyka entry i exit 0 0,3R 0,6R 0,9R SL=1R MAE (jak daleko szło przeciw) 0 0,75R 1,5R 2,25R +3R MFE (jak daleko za pozycją) ▼ szybkie wygrane (TP może być za blisko) ▲ idealny entry + kontynuacja (tych szukasz) ⚠ SL bliski wybicia (slippage może zabić) ✗ zły entry (do eliminacji)

Klasyczny wykres MAE/MFE (znany jako „Sweeney chart"[4]) ma dwie osie: MAE na osi X, MFE na osi Y, każdy punkt = jedna transakcja. Wygrane zielone, stratne czerwone. Cztery klastry mówią o systemie:

  • Lewy dolny róg (niski MAE, niski MFE) — szybkie wygrane bez wahań, idealny scenariusz, ale często sugeruje, że TP są za bliskie
  • Prawy górny róg (wysoki MAE, wysoki MFE) — transakcje, które najpierw szły mocno przeciw, potem zawróciły do dużych zysków. To sygnał, że SL były bliskie — trochę więcej slippage'u i straciłbyś
  • Lewy górny (niski MAE, wysoki MFE) — idealny entry, idealna kontynuacja. Tych szukasz
  • Prawy dolny (wysoki MAE, niski MFE) — wszedłeś źle, cena rzadko poszła w twoją stronę. Tych unikać — diagnozuj setupy z tego klastra
Kiedy MAE pomaga zacieśnić SL bez straty edge'u. Trader z 6-miesięczną bazą 180 trades sprawdza, że średnie MAE wygranych transakcji to 0,42R. Decyzja: w nowej iteracji strategii SL ustawiony na 0,75× obecnej szerokości. Wynik na kolejnych 100 trades: WR spadło z 51% do 48%, ale R:R wzrósł z 1:1,8 do 1:2,4 (bo SL bliżej pozwolił postawić TP w tej samej cenie absolutnej). Expectancy: z +0,33R na +0,42R. Mniejszy SL nie tylko nie zniszczył systemu — poprawił go. Bez MAE nie zauważyłby, że ma w SL bufor, którego nie używał. To jest praktyczna wartość metryki.

8. Drawdown — historyczny, bieżący, oczekiwany

Drawdown to spadek kapitału od ostatniego szczytu (peak). Trzy poziomy analizy:

Max Drawdown historyczny

Największy zaobserwowany spadek od peaku do dołka w historii rachunku. Liczba kluczowa do oceny psychologicznej tolerancji systemu.

Max DD = max((peak − dolek) / peak) dla każdej historycznej pary peak-dołek.

Max DDInterpretacja
< 5%Bardzo konserwatywny — możliwe że sizing zbyt mały dla CAGR
5–10%Komfortowy dla większości detalu
10–20%Akceptowalny przy CAGR 25–40%
20–30%Granica psychologicznej tolerancji — większość traderów panikuje
> 30%Sizing zbyt agresywny — czas zmniejszyć, zanim doprowadzi do margin callu

Average Drawdown

Średnia z wszystkich historycznych drawdownów. Pokazuje typowy „ból" systemu, nie najgorszy scenariusz.

Reguła: jeśli max DD > 3 × avg DD, system ma „grube ogony" — rzadkie ekstremalne drawdowny. Zwykle znak, że masz albo black swan w historii, albo serię sizingów ponad plan.

Drawdown duration — czas powrotu

Często ważniejszy niż głębokość drawdownu: ile czasu zajmuje powrót do peaku?

  • Drawdown 10% z czasem powrotu 2 tygodnie — łatwy do zniesienia
  • Drawdown 10% z czasem powrotu 8 miesięcy — niszczy psychikę, większość traderów porzuca system w trakcie

System z mniejszym DD ale dłuższym czasem powrotu może być psychologicznie trudniejszy niż system z większym DD ale szybkim odbiciem. Liczone razem: pain index = (avg DD × avg duration). Niska wartość = łatwy do trzymania system.

Oczekiwany drawdown — symulacja Monte Carlo

Mając 200+ transakcji w dzienniku, możesz zrobić Monte Carlo:

  1. Bierzesz wektor 200 R-multiple z dziennika
  2. Losujesz z powtórzeniami sekwencję 1000 transakcji (bootstrap)
  3. Liczysz max DD dla tej sekwencji
  4. Powtarzasz 10 000 razy
  5. Histogram max DD pokazuje rozkład tego, czego możesz się spodziewać w przyszłości

Wynik: oczekiwany 95-percentyl max DD. To jest liczba, do której powinno się odnosić twoje sizing — jeśli system ma 95% szansy na max DD < 18%, sizing 1% jest bezpieczny. Jeśli oczekiwany 95% max DD to 38%, sizing 1% jest zbyt agresywny.

Pełna metodologia Monte Carlo dla strategii w artykule 15.4.

Equity curve z zaznaczonymi drawdownami — historyczny max DD, average DD i czas powrotu; rozkład symulowanego max DD z Monte Carlo bootstrapem 10 000 sekwencji
Equity curve z zaznaczonymi drawdownami — historyczny max DD, average DD i czas powrotu; rozkład symulowanego max DD z Monte Carlo bootstrapem 10 000 sekwencji

9. Narzędzia: Edgewonk, Myfxbook, FX Blue, własny Excel/Notion

Narzędzie nie czyni z dziennika dobrego dziennika. Dziennik prowadzony w Excelu z dyscypliną pobije Edgewonk prowadzony bez dyscypliny. Ale narzędzie ma znaczenie — niewłaściwe albo zniechęca, albo nie pokazuje tego, czego potrzebujesz.

Porównanie głównych narzędzi

NarzędzieMocne stronySłabe stronyDla kogo
EdgewonkNajlepsze metryki out-of-the-box (R, expectancy, MAE/MFE), gotowe wykresy, klasyfikacja błędów, integracja z MT4/MT5Płatny (~150 EUR/rok), wymaga ręcznego importu CSV przy niektórych brokerachTrader z 200+ transakcjami rocznie, gotowy zapłacić za czas
MyfxbookAuto-import z większości brokerów, publiczne portfele, social proofPowierzchowne metryki (brak MAE/MFE w wersji free), nastawiony na pokazywanie wyników, nie analizęTrader, który chce minimalnego wysiłku i akceptuje brak głębokiej analizy
FX BlueFree, dobry trade analyser, statystyki per setup, integracja MT4UI z 2010 r., brak pól typu mental state / sleep, brak klasyfikacji błędówTrader początkujący, który chce zacząć z czymś darmowym
Własny ExcelPełna kontrola, dowolne pola, własne formuły, koszt 0 PLNWymaga 4–8h początkowego setupu, trzeba samodzielnie liczyć metrykiTrader systemowy, który chce dokładnie tych metryk, których chce
Notion / ObsidianŁączenie liczb z notatkami jakościowymi, zdjęciami wykresów, refleksjamiSłabe agregaty statystyczne, trudne wykresyTrader, który ceni narrację i kontekst — komplement do Excela

Czego nie pokażą popularne narzędzia

Większość narzędzi out-of-the-box nie ma pól na jakość decyzji — mental state, godziny snu, decisional quality. Te trzeba albo dodać własne pola w Edgewonk, albo prowadzić paralelny dziennik w Excelu/Notion. Bez mental state i sleep nie możesz sprawdzić, czy sen realnie wpływa na twoje R-multiple. W wielu praktycznych dziennikach detalu korelacja Spearmana sleep–R wychodzi jako jedna z istotniejszych zmiennych behawioralnych, ale nie wolno zakładać tego z góry — trzeba policzyć to na własnej próbie. Same liczby z fillów brokera tego nie pokażą.

Brudna praktyka: Myfxbook jako „dziennik" przez 14 miesięcy. Trader podpiął konto do Myfxbook, auto-import działał, equity curve wyglądała pro, strona publiczna miała 847 followerów. Po 14 miesiącach: +18% brutto, ale kompletny brak danych do analizy jakościowej. Pytanie o expectancy per setup — brak (Myfxbook nie zna pojęcia setupu). MAE per trade — brak. Klasyfikacja błędów — brak. Mental state — nie istnieje. Myfxbook pokazywał, że jest dobry, nie gdzie jest zły. Przez 14 miesięcy myślał, że prowadzi dziennik — prowadził monitoring salda z ładnym interfejsem. To nie jest to samo. Auto-import jest punktem startu, nie kompletnym dziennikiem.

Kiedy własny Excel bije Edgewonk

  • Jeśli twoja strategia ma niestandardowe metryki (np. „setup waliduje się jeśli VIX < 18 i CBOE put/call > 1,1") — Edgewonk nie wstawi tych kolumn
  • Jeśli prowadzisz strategie multi-asset (FX + indeksy + commodity) — Edgewonk jest mocno FX-centryczny
  • Jeśli kalkulacja R-multiple wymaga w twoim systemie dodatkowych modyfikatorów (np. korelacja portfelowa, klasyfikacja A+/B/C z autorską metodologią) — Excel daje pełną kontrolę

Stack per poziom zaawansowania

PoziomStackKiedy
StarterGoogle Sheets z 25 polami + CSV z brokera + screen wykresu per tradePierwsze 6–12 miesięcy, < 30 trades/mies., budowa nawyku zapisu
IntermediateMyFxBook / FX Blue auto-import + ręczne pola jakościowe (mental state, sleep, decision quality, error_code) w Sheets30–60 trades/mies., automatyzacja warstwy „co", ręcznie warstwa „dlaczego"
AdvancedEdgewonk lub Tradervue + Python notebook (Monte Carlo, MAE/MFE, korelacje sleep–R, bootstrap CI) + miesięczny raport PDF> 60 trades/mies., wolumen i czas usprawiedliwiają inwestycję narzędziową

Decyzja „co wybrać dziś": jeśli prowadzisz dziennik < 6 miesięcy — Starter. Jeśli zapis jest nawykiem, ale brak ci agregatów per setup — przejście do Intermediate. Jeśli liczysz Monte Carlo na > 200 trade'ach co miesiąc — Advanced. Eskalacja stacku przed nawykiem zapisu zwykle nie pomaga — narzędzie nie zastępuje dyscypliny.

Przykładowy interfejs dziennika tradera Forex Edgewonk lub MyFxBook z metrykami expectancy, profit factor, drawdown, MAE/MFE, breakdown per setup i kategorie błędów
Przykładowy interfejs dziennika tradera Forex Edgewonk lub MyFxBook z metrykami expectancy, profit factor, drawdown, MAE/MFE, breakdown per setup i kategorie błędów
Porównanie narzędzi do prowadzenia dziennika tradingowego — Edgewonk, Myfxbook, FX Blue, własny Excel; mocne i słabe strony, dla kogo
Porównanie narzędzi do prowadzenia dziennika tradingowego — Edgewonk, Myfxbook, FX Blue, własny Excel; mocne i słabe strony, dla kogo

10. Workflow analizy dziennika — dziennie, tygodniowo, miesięcznie, kwartalnie

Sam dziennik bez rytmu analizy to baza danych, do której nikt nie zagląda. Profesjonalny workflow ma cztery częstotliwości — codzienna, tygodniowa, miesięczna, kwartalna. Każda odpowiada na inne pytanie i wymaga innego budżetu czasu.

Codziennie — 5 minut po sesji

Cel: zapisać surowe dane, póki pamięć jest świeża.

  • Wpisz każdą transakcję z 25 polami (z brokerskiego raportu + pól jakościowych)
  • Klasyfikacja błędu (kategoria 0–9)
  • Decisional quality (1–5) — szczerze, oddzielnie od wyniku
  • Mental state, godziny snu (jeśli nie wpisane rano)
  • Jedno zdanie kontekstu: „LON trochę cichszy niż zwykle, NFP był wczoraj"

Bez codziennej dyscypliny pamięć degraduje się o 50% w 24h. Po 3 dniach nie pamiętasz dokładnego mental state w trakcie konkretnej transakcji. Po tygodniu nie pamiętasz, czy wszedłeś według planu czy zaimprowizowałeś.

Tygodniowo — 30 minut, niedziela wieczór

Cel: krótkoterminowa diagnostyka — czy bieżący tydzień był zgodny z systemem.

  • Liczba transakcji per setup, per klasa A/B/C
  • Tygodniowy R-multiple (suma R z tygodnia)
  • Liczba błędów per kategoria — czy któryś błąd dominował?
  • Średni decisional quality — czy spadł poniżej 3,5? (sygnał ostrzegawczy)
  • Korelacja: w dni z mental state < 3 — jakie były wyniki?
  • Jeden refleksyjny akapit: co tydzień nauczył mnie o sobie/rynku

Tygodniowy przegląd wyłapuje świeże problemy: „W środę miałem 4 trades, wszystkie poza setupem A — to był FOMO po słabym poniedziałku". Wykrywanie wzorców na poziomie tygodnia pozwala korygować zachowanie zanim się utrwali.

Miesięcznie — 60 minut, pierwszy weekend miesiąca

Cel: obliczenie pełnych metryk i ocena, czy miesiąc wpisuje się w długoterminowy trend.

  • Pełna kalkulacja: WR, expectancy, profit factor, Sortino, max DD, Recovery Factor
  • Tabela per setup: ile trades, średnia R, expectancy
  • Wykres equity curve miesięczny — porównanie do oczekiwanego (z Monte Carlo)
  • MAE/MFE chart — czy entry był dobry, czy zostawiałem na stole?
  • Klasyfikacja błędów — top 3 typy błędów miesiąca, plan poprawy
  • Korelacje: dni o niskim sleep'ie vs wynik, dni z mental < 3 vs wynik
  • Jedno-stronicowy raport miesięczny dla siebie

Raz w miesiącu siadasz nad liczbami niezależnie od wyniku miesiąca — to jedyny moment, w którym widzisz, czy poprawiasz się jako trader, czy tylko masz farta. Miesięczny przegląd ma ci odebrać prawo do wygodnych wymówek: czy traci setup, godzina, para, sizing, czy twoje odejścia od planu.

Kwartalnie — cały dzień

Cel: audyt strategiczny systemu jako całości. Pełna metodologia w artykule 15.10.

  • Wszystkie metryki z 3 miesięcy
  • Trend metryk: czy expectancy rośnie/spada przez 3 miesiące?
  • Per setup: które dorobiły się statystycznej wagi (100+ trades), które nie
  • Decyzje: usunąć setup, zmodyfikować, dodać nowy
  • Backtest aktualizacji systemu na danych z kwartału
  • Plan na następny kwartał: jakie cele, jakie eksperymenty, jakie KPI

Tabela — workflow w 4 częstotliwościach

CzęstotliwośćCzasCelWynik
Codziennie5 minZapis surowych danychKompletny dziennik 25 pól
Tygodniowo30 minDiagnoza krótkoterminowaRefleksyjny akapit + wzorce tygodnia
Miesięcznie60 minPełne metryki + plan poprawyRaport miesięczny + 1–3 akcje
Kwartalnie1 dzień (realnie pół soboty)Audyt strategiiDecyzje strategiczne + backtest update

Warianty workflow per profil tradera

  • Trader na etacie 9–17 PL — minimum: dziennie 5 min po sesji (wieczorem), tygodniowo 30 min w sobotę rano, miesięcznie 60 min w pierwszy weekend. Kwartalny audyt — obowiązkowo cały dzień (sobota lub niedziela). Realna liczba trade'ów: 5–15 tygodniowo. Jeśli scalp na M1 z 30+ trade'ami dziennie — workflow nie zmieści się w przerwach pracy, trzeba zmienić styl, nie ścisnąć dziennika
  • Trader pełnoetatowy — codzienny 15–20 min review po sesji LON i NY, tygodniowy 60 min, miesięczny pełny dzień. Kwartał: 2–3 dni audytu
  • Trader weekendowy / swing — codzienna analiza nie ma sensu (trade'ów może nie być przez 5 dni); zamiast tego: wpis w dzienniku w dniu wejścia + monitoring tygodniowy + miesięczne metryki

Kiedy poprawiać system, kiedy poprawiać siebie

Najczęstszy błąd diagnostyczny po stratnym kwartale: wymiana strategii zamiast eliminacji błędów procesu (lub odwrotnie — trzymanie martwego setupu, gdy reżim rynkowy zmienił się na trwałe). Prosta tabela do retrospektywy:

Sygnał z dziennikaDiagnozaAkcja
Expectancy setupu spada,
error_code 6–8 rośnie
(FOMO, oversized, revenge)
Problem operatora, nie systemuBlokady techniczne, anti-FOMO bufor, kwarantanna manualnych exit'ów
Expectancy spada przy
error_code = 0 (plan-zgodne)
i PF spada przez 200+ trades
Problem systemu — reżim rynkowy się zmienił lub edge wygasłReview hipotezy, eliminacja setupu po walidacji OOS
WR ≥ 50%, ale avgWin niski (< +1,2R)Wyjścia za szybkie, capture rate niskiAnaliza MFE per trade, poluzowanie trailingu, mini-test 30–50 trade'ów
avgLoss < −1,2RProblem z SL: manualne przesuwanie, brak hard SL na serwerze, slippageTwardy SL przy każdym wejściu, weryfikacja modelu rachunku
Udział A+ > 70% wszystkich trade'ówKlasyfikacja zbyt łagodna — rozluźniasz kryteriaZaostrzyć checklistę A+ o 1–2 obiektywne filtry
Korelacja Spearman sleep × R > 0,25Sen jest mierzalnym KPI, nie miękkim czynnikiemDni z sleep < 6h — tylko obserwacja, brak nowych pozycji

Pełna metodologia decyzji o systemie vs operatorze w artykule 15.10.

Brudna praktyka: tygodniowy „audyt" zabił dobry system. Trader z setupem A+ na EUR/USD: 67 trade'ów, expectancy +0,31R, SQN 1,8. Co tydzień przegląd; jeśli tydzień stratny — modyfikacja parametrów. Przez 6 tygodni zmienił setup cztery razy (próg reżimu, szerokość SL, timeframe sesji, filtr RSI). Po 6 tygodniach: expectancy −0,08R na kolejnych 40 trade'ach. Każda tygodniowa decyzja była oparta na 10–15 transakcjach — n za małe na jakikolwiek statystyczny wniosek. Interweniował w szumie, nazywając to „analizą". Oryginalny setup z SQN 1,8 zabił własnoręcznie. Reguła: nie modyfikujesz reguł setupu dopóki n < 100 od ostatniej zmiany — zamiast tego dokumentujesz obserwację w komentarzu i czekasz. Tygodniowy przegląd ma korygować twoje zachowanie (FOMO, late exit, oversized), nie reguły systemu.
Dziennik nie zrobi z ujemnej strategii dodatniej. Ale bez dziennika nie odróżnisz złej strategii od dobrej strategii zabijanej twoim wykonaniem. Sześciomiesięczny modelowy przykład: dwóch traderów, identyczne strategie, identyczny start. Pierwszy prowadzi pełen dziennik z 25 polami, tygodniowy przegląd, miesięczne metryki. Drugi zapisuje tylko wynik. Po 6 miesiącach: pierwszy +18% rachunku, drugi −7%. Strategia była identyczna. Różnicę zrobił dziennik — pierwszy szybko wykrył 3 typowe błędy (FOMO w poniedziałki, oversized w piątek przed weekendem, late exit po stratach) i je skorygował. Drugi miał te same błędy całe 6 miesięcy.
BIS Global FX Code — dokumentacja jako substytut regulacji. Global Foreign Exchange Committee w FX Global Code[5] wymaga od desków instytucjonalnych dokumentacji każdej decyzji handlowej z uzasadnieniem — bez dokumentacji nie ma audytu, bez audytu nie ma poprawy procesu. Detal nie ma tego obowiązku regulacyjnego, i właśnie dlatego większość detalu nigdy nie poprawia procesu decyzyjnego. Samonarzucony obowiązek zapisu — substytut regulacji, której nikt ci nie nałoży, a której matematycznie potrzebujesz, żeby przeżyć cykl nauki.

FAQ — Najczęściej zadawane pytania

Czy 25 pól dziennika to nie jest przesada?
25 pól wprowadza się w 60–90 sekund per transakcja, jeśli masz szablon (Excel z formułami auto-liczącymi slippage, R-multiple etc.). Dla typowego detalu z 5–15 transakcji tygodniowo to 5–15 minut tygodniowo. To jest najmniejszy koszt w stosunku do informacji, jaką dostajesz. Mniej pól = mniej diagnozy. Detal, który zapisuje tylko wynik, po roku ma „saldo +12%" i zero wiedzy o tym, jak to powstało. Trader z 25 polami ma odpowiedzi na 30+ pytań analitycznych. Próg czasowy 60 sekund per trade jest niski. Próg wiedzy z dyscypliną 25 pól jest wysoki.
Jaka jest minimalna liczba transakcji do oceny strategii?
Statystycznie: 100 trades to absolutne minimum, 200 jest komfortowe, 500 jest solidne. Poniżej 100 ryzyko, że odrzucasz dobry setup w trakcie pecha lub trzymasz zły setup w trakcie fartu, jest zbyt wysokie. Praktycznie: jeśli twoja strategia generuje 5 trades miesięcznie, czekanie na 200 instancji to 40 miesięcy — zbyt długo na praktyczne decyzje. Wtedy: agreguj statystyki przez podobne setupy (np. wszystkie breakouty pre-LON, niezależnie od pary) i obniż próg do 50 instancji per setup, ale traktuj wnioski jako wstępne, weryfikuj na większej próbie kwartalnie.
Czy expectancy ujemne zawsze znaczy, że strategia jest zła?
Niekoniecznie — może oznaczać, że próba jest zbyt mała lub jesteś w trakcie statystycznego pecha (drawdown w obrębie historycznej normy). Reguła: na próbie < 100 trades expectancy ujemne traktuj jako sygnał ostrzegawczy, nie wyrok. Na próbie 200+ trades z expectancy ujemnym przez 2 kolejne kwartały — strategia nie ma edge'u, czas na rewizję. Drugi scenariusz: expectancy dodatnie brutto, ujemne netto po kosztach. Wtedy problem nie jest w samej strategii, a w doborze brokera/pary — strategia działa logicznie, ale koszty zżerają edge. Rozwiązanie: lepszy broker, większy lot (koszty stałe rozkładają się na większy wynik) lub większe TP w R.
Jak interpretować Sharpe per-trade vs Sharpe annualised?
Sharpe per-trade liczone na pojedynczych transakcjach (średnia R / std R) jest unormalizowane do jednostki ryzyka, ale ignoruje częstotliwość. Sharpe annualised mnoży Sharpe per-trade przez √N, gdzie N — liczba transakcji rocznie. Wzór działa tylko przy założeniu niezależności wyników i stacjonarności reżimu. Trzy ostrzeżenia, które rzadko się mówi: (1) trade'y na tej samej parze są skorelowane — efektywna liczba obserwacji jest mniejsza niż N, więc annualised Sharpe jest zawyżone; (2) reżimy rynkowe się zmieniają (trend → range), więc historyczna wariancja zaniża przyszłą; (3) dla retail FX z 50–200 trade'ami rocznie i niestabilnym sizingiem teoretyczne „annualised 4,2" brzmi promocyjnie, a w praktyce nie powtórzysz tego w kolejnym roku. Dla detalu wiarygodniejsze metryki: CAGR / max DD (Recovery Factor) i Sortino na próbie 200+ trade'ów.
Jak policzyć korelację snu z wynikiem w arkuszu?
Excel/Sheets: =CORREL(zakres_sleep_hours; zakres_r_net) daje korelację Pearsona; dla rangi (Spearman) sortujesz ranking obu kolumn i liczysz Pearsona z rang. Python: df[['sleep_hours','r_net']].corr(method='spearman'). Próg działania: jeśli Spearman ρ < 0,15 — sen nie jest główną zmienną wpływającą na wynik, wracasz do diagnozy setupu. Jeśli ρ > 0,25 — sleep jest mierzalnym KPI, dni z sleep < 6h prowadzisz tylko jako obserwator, bez nowych pozycji. Próba minimalna do oszacowania korelacji: 60+ obserwacji; poniżej tego ρ jest niestabilne (jedna anomalia zmienia wartość o 0,1).
Workflow z amerykańskiego bloga — czemu nie działa dla etatowca w CET?
Trader z etatem (IT, korporacja) próbował kopiować workflow amerykańskiego day tradera: pre-market, watchlista, journaling, review po sesji. Problem: „pre-market" wypadał między spotkaniem zespołu a telefonem od klienta. Robił analizę w pośpiechu, wejścia klikał z telefonu, dziennik uzupełniał wieczorem z pamięci po 8 godzinach pracy. Diagnoza: kopiowanie strategii bez kopiowania kontekstu pracy. Rozwiązanie: mniej par (2–3 zamiast 8), wyłącznie alerty TradingView (nie ciągłe skanowanie wykresów), dwa zdefiniowane okna decyzyjne dziennie (np. 9:00 i 13:30 PL z mailowego okienka), dziennik uzupełniany od razu po zamknięciu pozycji w 60–90 sekund. Proces musi pasować do życia tradera, nie do fantazji o życiu tradera z amerykańskiego bloga.
Jak wyliczyć MAE/MFE jeśli broker nie daje danych intra-trade?
Większość brokerów nie eksportuje MAE/MFE w raporcie CSV — masz tylko entry, exit, max/min ceny w trakcie życia trade'u. Rozwiązania: (1) zapisuj manualnie po zamknięciu — zerkasz na wykres M5/M15 trade'u, czytasz najgorszy ruch przeciw i najlepszy w stronę, wpisujesz pipsy. Czas: 30 sekund per trade. (2) Edgewonk i niektóre platformy (cTrader, TradingView) liczą MAE/MFE automatycznie — jeśli twoja platforma to wspiera, włącz. (3) Skrypt Python parsujący tickami — dla zaawansowanych, wymaga dostępu do tick history brokera. Dla 95% detalu opcja 1 jest najpraktyczniejsza — manualnie po zamknięciu, rzetelnie 30 sekund.
Czy prowadzić jeden dziennik dla wszystkich strategii czy oddzielne?
Jeden dziennik z polem „setup z playbooka" — to lepsze niż osobne dzienniki. Dlaczego: jeden dziennik pozwala na agregaty cross-strategiczne (jak ja zachowuję się w dni z mental < 3, niezależnie od strategii), per-setup analityka jest filtrem na tym dzienniku. Osobne dzienniki dają fragmentaryczny obraz — nie wiesz, ile trades łącznie zrobiłeś dziś, czy nie przekroczyłeś dziennego limitu trades, czy strategia A nie koreluje z trade'em na strategii B. Reguła: jeden dziennik, dobre filtrowanie, pełne agregaty. Excel z tabelą filtrowalną lub Edgewonk obsługują to bez problemu.
Co robić, jeśli w dzienniku widzę, że łamię własne reguły?
Najczęstszy scenariusz: trader prowadzący dziennik widzi, że 30% jego transakcji ma klasyfikację błędu „6 — wejście poza setupem (FOMO)". Diagnoza prosta, akcja trudniejsza. Rozwiązania w kolejności rosnącej radykalności: (1) Dodanie checklisty pre-trade (5 punktów do odhaczenia przed kliknięciem — odbiera spontaniczność). (2) Reguła „cooldown" — po stratnej transakcji 30 minut bez nowego trade'u (eliminuje revenge trades). (3) Kara finansowa w playbooku — każdy trade poza setupem A/B = 50 PLN do funduszu charytatywnego (psychologia działa, mózg lubi unikać kar). (4) Rachunek dyscyplinarny — prowadzisz przez 30 dni rachunek o 1/4 normalnej wielkości. Jeśli przejdziesz bez błędu kategorii 6, wracasz do pełnego. Eskalacja działa, bo nie polega na samej dyscyplinie — wprowadza tarcie behawioralne.
Czy automatyczny dziennik z brokera (np. Myfxbook auto-import) wystarczy?
Auto-import wypełnia 12 z 25 pól (id, data, para, kierunek, entry/SL/TP, wynik, koszty). Brakuje 13 pól — w tym wszystkich pól jakościowych (klasa setupu, klasyfikacja błędu, mental state, decisional quality). Bez tych pól masz „dziennik" w sensie technicznym, ale tracisz całą warstwę diagnozy „dlaczego" i „jak". Przykład: auto-import pokaże, że masz WR 47% na środach. Ręczny dziennik pokaże, że WR 47% to konsekwencja faktu, że w 8 z 12 środ miałeś sleep < 6h i klasa setupu B zamiast A. Auto-import = punkt startu. Pełny dziennik = kompletna diagnoza. Reguła: niech auto-import wypełnia co może, ty dodajesz brakujące 13 pól ręcznie po sesji.
Jakie metryki pokazywać innym (mentor, audyt), a jakie zostawić sobie?
Publicznie / dla mentora: equity curve, max DD, Recovery Factor, expectancy, profit factor, Sortino. To są metryki obiektywne, które mówią o systemie. Prywatnie / tylko dla siebie: klasyfikacja błędów, mental state, sleep, decisional quality. To są metryki o tobie jako traderze — pokazują wzorce psychologiczne, których nie chcesz ujawniać przed mentorem nieumiejącym wyciągać konstruktywnych wniosków. Praktyczna reguła w realiach polskiego coachingu tradingowego: zachowaj klasyfikację błędów i mental state dla siebie do momentu, gdy zobaczysz, że mentor umie z tych danych wyciągnąć cokolwiek operacyjnego poza oceną twojego charakteru. Jeśli pierwsza reakcja na „mam 30% trade'ów z error_code 6" to ocena moralna zamiast pytania „w jakich godzinach i po jakich zdarzeniach", odetnij dostęp do tych pól.
Po jakim czasie prowadzenia dziennika można oczekiwać poprawy wyników?
Z obserwacji dzienników detalu prowadzonych konsekwentnie 18+ miesięcy: pierwsza fala poprawy w 3–6 miesiącach (wykrycie i eliminacja 2–3 najczęstszych błędów — FOMO, oversized, revenge trade), spadek liczby błędów kategorii 6–8 typowo z 25–30% do 8–12% trade'ów. Druga fala (6–18 miesięcy): kalibracja sizingu, eliminacja słabych setupów, doskonalenie SL/TP w oparciu o MAE/MFE. Trzecia fala (18+ miesięcy): rozumienie własnych wzorców psychologicznych pod presją serii. Traderzy bez dziennika, którzy poprawiają wyniki, najczęściej poprawiają je przez zmianę warunków rynkowych (byk, ekspansja zmienności), nie przez poprawę procesu — i tracą wszystko w następnej zmianie reżimu, bo nie wiedzą, co działało ani dlaczego przestało.

Źródła i bibliografia

  1. Tharp V.K., Trade Your Way to Financial Freedom, McGraw-Hill, 2nd ed., 2007. Wprowadzenie pojęcia R-multiple jako fundamentalnej jednostki normalizującej wyniki transakcji oraz pełna metodologia liczenia expectancy.
  2. Sortino F.A., Price L.N., Performance Measurement in a Downside Risk Framework, Journal of Investing, 1994. Oryginalna praca wprowadzająca Sortino Ratio jako alternatywę dla Sharpe'a, karzącą tylko downside variance.
  3. Steenbarger B.N., The Daily Trading Coach: 101 Lessons for Becoming Your Own Trading Psychologist, Wiley, 2009. Metodologia prowadzenia dziennika z elementami psychologicznymi (mental state, decisional quality) i workflow analizy.
  4. Sweeney J., Maximum Adverse Excursion: Analyzing Price Fluctuations for Trading Management, Wiley, 1996. Klasyczna praca wprowadzająca metodologię MAE i MFE jako narzędzi diagnostycznych jakości entry i exit.
  5. Bank for International Settlements, FX Global Code: A Set of Global Principles of Good Practice in the Foreign Exchange Market, Global Foreign Exchange Committee, 2024 update. Wymogi dokumentacji decyzji handlowych dla profesjonalnych desków FX.
  6. Schwager J.D., Market Wizards series (vol. 1–4), HarperBusiness/Wiley, 1989–2020. Wywiady z najlepszymi traderami, w tym dyskusje na temat prowadzenia dziennika i metryk skuteczności.
  7. Pardo R., The Evaluation and Optimization of Trading Strategies, Wiley, 2008. Metodologia oceny strategii, profit factor, recovery factor i statystycznej walidacji metryk.
  8. Kaufman P.J., Trading Systems and Methods, 5th ed., Wiley, 2013. Encyklopedyczne kompendium metryk skuteczności systemów transakcyjnych z formułami i interpretacją.
  9. Chan E., Quantitative Trading: How to Build Your Own Algorithmic Trading Business, Wiley, 2009. Metryki w kontekście systematycznego handlu, w tym Sharpe i Sortino dla strategii ilościowych.
  10. Aronson D., Evidence-Based Technical Analysis, Wiley, 2007. Statystyczne podstawy walidacji metryk strategii, przedziały ufności dla WR i expectancy, ostrzeżenia przed selection bias.

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ą.