BTC290,9k zł1,63%
ETH8,37k zł3,23%
XRP5,07 zł2,44%
LTC206 zł0,97%
BCH1,65k zł2,57%
DOT4,77 zł0,38%

R:R, win rate i expectancy — matematyka przetrwania na rynku OTC

Win rate 80% nie ma wartości, jeśli jedna strata kasuje tydzień zysków. Rynek nie płaci za liczbę zielonych transakcji — płaci za relację średniej wygranej do średniej straty. Liczą się trzy liczby: WR, avgWin, avgLoss — i jedna metryka, która je łączy: expectancy. W poprzednim artykule ustaliliśmy, ile lotów otworzyć. Teraz pytanie, które powinno paść wcześniej: czy mój system w ogóle zarabia po kosztach egzekucji — i ile jest wart jeden trade? Bez dodatniej expectancy position sizing nie buduje przewagi; reguluje tylko tempo, w jakim tracisz. Idziemy głębiej niż 8.2 — Edge i wartość oczekiwana: formuły, execution leakage, reżimy kosztów, A-Book vs B-Book i war stories z desku.

Stosunek zysku do ryzyka i wartość oczekiwana na Forex — wykres breakeven win rate dla różnych R:R
Zakres tego artykułu. To nie jest artykuł o przewidywaniu rynku. To artykuł o sprawdzaniu, czy twój system ma dodatnią ekonomię po kosztach. Tekst dotyczy przede wszystkim retail FX/CFD: na spot FX nie ma centralnej giełdy ani jednego wolumenu, na futures CME masz scentralizowany order book i realny wolumen, ale inny instrument, inną specyfikację i inne koszty. Jeśli handlujesz futures — czytasz z poprawką na specyfikację kontraktu, prowizje i reżim spreadu giełdowego. Jeśli CFD — wszystko stąd dotyczy ciebie wprost.
Ostrzeżenie o ryzyku CFD/FX. CFD i lewarowane FX to produkty wysokiego ryzyka. U brokerów regulowanych w UE (MiFID II) większość rachunków detalicznych traci pieniądze w danym okresie raportowym (typowe wartości w risk warningach to 70–80%, do sprawdzenia u twojego brokera). Ten artykuł nie ma zachęcić cię do częstszego handlu — ma pokazać, jak sprawdzić, czy w ogóle masz dodatnią ekonomię przed kosztami, po kosztach i po błędach wykonania. Jeśli nie masz, wynik nie zależy od „lepszego setupu" — zależy od decyzji, czy w ogóle handlować na tych warunkach.
Najważniejsze w 60 sekund
  • Samo 1:3 nie znaczy nic. Możesz mieć piękny target i rachunek w rowie. R:R 1:3 przy win rate 20% to strata netto; dopiero w parze z WR daje expectancy
  • Breakeven WR = 1 / (1 + R:R). Przy R:R 1:2 potrzebujesz 33,3% trafności, żeby wyjść na zero — ale to wyliczenie na spreadzie zero i slippage zero. Realne breakeven jest wyższe
  • Planned R ≠ Realized R ≠ Execution R. Trzy warstwy R — większość retailu mierzy tylko pierwszą i dlatego nie wie, gdzie znika wynik. System z planned +0,40R po execution leakage zostaje z +0,15R, czasem z minusem
  • Koszty mają reżimy. Ten sam system może być dodatni o 10:30 CET i ujemny o 22:15 CET. Spread i fill quality nie są stałe — to zmienne stanu rynku
  • Koszty brokera i jakość egzekucji odejmą część edge'u, zanim ocenisz, czy system działa — mierz to, zanim skalujesz. Spread, prowizja, swap, jakość filli, model egzekucji (A-Book vs B-Book) wchodzą do równania expectancy z taką samą wagą jak twoja strategia. W CFD broker nie jest neutralnym tłem

1. R:R — co to jest i jak liczyć

R:R (reward-to-risk ratio) to stosunek potencjalnego zysku do potencjalnej straty w pojedynczym trade'dzie. Otwierasz pozycję, SL stoi 35 pipsów niżej, TP 70 pipsów wyżej — twój R:R to 1:2. Ta liczba opisuje geometrię zlecenia, nie wynik. Dopóki rynek nie zweryfikuje, czy na twoim TP jest wystarczająca płynność i czy na SL ktoś chce kupić, R:R to wartość planowana — nie gwarantowana.

Formuła

R:R = |TP − Entry||Entry − SL|

Gdzie:

  • Entry — cena wejścia (ask dla long, bid dla short)
  • SL — poziom stop loss (punkt invalidacji setupu)
  • TP — docelowy poziom take profit

Przykłady liczbowe — szybkie

Liczenie R:R to dzielenie odległości TP–entry przez odległość entry–SL. Long EUR/USD: entry 1,0850, SL 1,0815 (35 pipsów), TP 1,0920 (70 pipsów) → R:R = 1:2,0. Short GBP/USD: entry 1,2740, SL 1,2768 (28 pipsów), TP 1,2656 (84 pipsów) → R:R = 1:3,0.

Trudniejszy przypadek: R:R poniżej 1:1, ale dodatnia expectancy

System mean-reversion na EUR/USD M5: entry 1,0850, SL 1,0860 (10 pipsów), TP 1,0857 (7 pipsów) → R:R = 1:0,7. Wygląda na samobójstwo — dopóki nie sprawdzisz WR. Przy WR 68% (dane z 400 transakcji historycznych w danym reżimie) expectancy = 0,68 × 0,7 − 0,32 × 1,0 = +0,156R brutto. Po kosztach 0,06R netto: +0,096R. System z R:R poniżej 1:1 może mieć dodatnią expectancy — pod warunkiem że WR jest realnie wysoki i że nie jest to artefakt przesuwania SL. Reguła „nigdy poniżej 1:2" wycina takie systemy z automatu, niezależnie od ich rentowności.

Obliczanie R:R na wykresie EUR/USD — odległość od entry do SL i od entry do TP z zaznaczonymi strefami podaży i popytu oraz dziennym ATR w tle
Obliczanie R:R na wykresie EUR/USD — odległość od entry do SL i od entry do TP z zaznaczonymi strefami podaży i popytu oraz dziennym ATR w tle
Konwencja zapisu. R:R 1:2 oznacza, że potencjalny zysk jest 2× większy od ryzyka. W literaturze spotkasz też zapis „2R", „2:1 reward-to-risk" albo „RRR = 2". W tym kursie używamy formatu 1:X, gdzie X to mnożnik zysku do ryzyka. R:R 1:0,5 = TP bliżej niż SL.

R:R nie jest prognozą. Jest geometrią zlecenia w momencie wejścia. Nie mówi nic o prawdopodobieństwie dotarcia do TP. Trade z R:R 1:5 wygląda pięknie w kalkulatorze — ale jeśli TP jest za trzema strefami oporu, na granicy dziennego ATR i przed publikacją NFP, prawdopodobieństwo realizacji jest niskie. Sam R:R nie ma wartości decyzyjnej. Bez win rate'u to tylko odcinki narysowane na wykresie.

2. Breakeven win rate — ile musisz trafiać przy danym R:R

Breakeven win rate to próg, poniżej którego system traci — nawet zanim doliczysz koszty. Liczysz go jednym wzorem i jednym ostrzeżeniem: wynik zakłada spread zero, slippage zero i niezmienną jakość egzekucji. Realne breakeven jest wyższe:

Breakeven WR = 11 + R:R

Gdzie R:R to mnożnik zysku (np. dla 1:2 → R:R = 2).

R:RBreakeven WRInterpretacja
1:0,566,7%Musisz trafiać 2 na 3, żeby wyjść na zero
1:150,0%Rzut monetą — zero edge
1:1,540,0%Możesz mylić się w 6 na 10
1:233,3%1 trafienie na 3 wystarczy
1:325,0%1 na 4
1:516,7%1 na 6
1:109,1%1 na 11 — nierealne w praktyce bez ogromnej cierpliwości
Tabela breakeven win rate dla różnych R:R — od 1:0,5 do 1:10 z minimalnym procentem trafień potrzebnym do breakeven
Tabela breakeven win rate dla różnych R:R — od 1:0,5 do 1:10 z minimalnym procentem trafień potrzebnym do breakeven

To pierwszy filtr. Jeśli system nie przechodzi tego testu przed kosztami, live tylko przyspieszy egzekucję. Jeśli twój system na EUR/USD ma historycznie R:R 1:1,5 i WR 42% — jesteś powyżej breakeven (40%), ale ledwo; po kosztach (spread, swap, slippage) możesz być poniżej. Jeśli WR = 38% — jesteś poniżej breakeven już przed kosztami. Breakeven WR to punkt startowy analizy, nie ostateczna odpowiedź.

Krzywa breakeven win rate w funkcji R:R — im wyższy R:R, tym niższa wymagana trafność
0% 25% 50% 75% 100% Breakeven Win Rate 0 1:1 1:2 1:3 1:4 1:5 Stosunek zysku do ryzyka (R:R) 50% 33,3% 25% 20% 16,7% ZYSK (WR > breakeven) STRATA (WR < breakeven)
Hiperbola i jej konsekwencje. Krzywa breakeven WR jest hiperbolą — spada szybko od R:R 1:0,5 do 1:2, a potem coraz wolniej. Różnica między 1:2 (33,3%) a 1:3 (25%) to 8,3 pp. Między 1:5 (16,7%) a 1:10 (9,1%) — zaledwie 7,6 pp. Podnoszenie R:R powyżej 1:3 daje coraz mniejsze korzyści w postaci niższego progu trafności, ale kosztuje coraz więcej w postaci niższego WR — rynek rzadziej dociąga do dalekiego targetu. W praktyce wiele systemów discretionary mieści się w przedziale realizowanego payoffu od 1,2 do 3,0 — ale nie ma tu uniwersalnego optimum. Dobry zakres zależy od instrumentu, czasu trzymania, spreadu i jakości wejścia.
Breakeven WR to czysta teoria. Liczysz go zanim zderzysz się z tym, że twój broker rozszerza spread z 0,8 do 4 pipsów w czwartek o 14:29, 60 sekund przed publikacją CPI. Twój „breakeven na 33%" robi się nagle breakeven na 38%, a twój system, który historycznie miał WR 36%, właśnie wszedł w ujemną expectancy netto — i ty o tym nie wiesz, bo liczysz koszty na danych z normalnych godzin.
War story: fałszywa matematyka „wystarczy 33%". Trader widzi R:R 1:2 i mówi: „muszę trafiać tylko co trzeci trade". Tyle że jego przegrane nie są po –1R, tylko średnio po –1,15R, bo SL łapie poślizg i czasem przesuwa go „o pięć pipsów luzu". Wygrane nie są po +2R, tylko po +1,55R, bo zamyka ręcznie przed targetem ze strachu przed odwrotem. W Excelu system ma 33% breakeven WR. Na rachunku potrzebuje bliżej 43–45%, żeby nie krwawić. Matematyka była dobra. Dane wejściowe były kłamstwem.

3. R-multiple i trzy warstwy R: planned, realized, execution

R-multiple to wynik transakcji wyrażony w jednostkach ryzyka początkowego (R). Ryzykowałeś 200 USD — zarobiłeś 460 USD → wynik to +2,3R. Straciłeś 200 USD → –1,0R. Zamknąłeś ze stratą 140 USD (przed SL) → –0,7R.

Formuła

R-multiple = Wynik transakcji (PLN/USD)Ryzyko początkowe (PLN/USD)

Przykłady

TradeRyzyko (1R)WynikR-multiple
EUR/USD long250 USD+625 USD+2,5R
GBP/JPY short300 USD−300 USD−1,0R
AUD/USD long150 USD+90 USD+0,6R
USD/CAD short200 USD−120 USD−0,6R (wyjście przed SL)
EUR/GBP long180 USD+810 USD+4,5R

R-multiple normalizuje wyniki. Trade za +500 USD na rachunku 50 000 USD z ryzykiem 1% to +1,0R. Ten sam trade na rachunku 5 000 USD z ryzykiem 10% to nadal +1,0R — ale poziom ryzyka jest nieporównywalny. R-multiple pozwala porównywać systemy, trade'y i okresy niezależnie od wielkości rachunku.

R-multiple — trzy warstwy: planned R z planu trade, realized R po zamknięciu, execution R leak zjedzony przez spread drift i slippage
R-multiple — trzy warstwy: planned R z planu trade, realized R po zamknięciu, execution R leak zjedzony przez spread drift i slippage

Trzy warstwy R — większość retailu mierzy tylko pierwszą

Większość materiałów edukacyjnych mówi o R:R tak, jakby istniała tylko jedna warstwa. Dlatego retail nie wie, gdzie znika wynik. W praktyce są trzy warstwy R:

  • Planned R — wynik z planu przed wejściem. Entry 1,0850, SL 1,0820, TP 1,0910. Planned R:R = 1:2,0
  • Realized R — wynik po faktycznym zamknięciu. Trader zamknął na 1,0885, bo „bał się zwrotu". Realized R = +1,17R zamiast planowanego +2,0R
  • Execution R leak — część wyniku zjedzona przez tarcie egzekucyjne: spread drift na wejściu (+0,3 pipsa gorszy fill), slippage na SL (+1,2 pipsa gorszy fill), partial close z gorszą ceną, manual intervention pod presją. Execution leak to 0,05–0,25R na transakcję, w zależności od instrumentu, godziny i modelu brokera

Trader może mieć dobry system z planned expectancy +0,40R, ale ujemną realized expectancy, bo execution leakage zjada 0,15R i manual intervention kolejne 0,30R. Żeby to zobaczyć, loguj dla każdej transakcji:

PolePrzykład long EUR/USD
Planned entry1,0850 (ask)
Actual fill1,08503 (+0,3 pipsa gorszy)
Planned SL1,0820
Actual SL fill1,08187 (−1,3 pipsa gorszy)
Planned TP1,0910
Actual exit1,0885 (manual close)
Planned R+2,0R
Realized R+1,17R
Execution leak0,05R (spread drift + fill)
Manual leak0,78R (przedwczesne zamknięcie)
Jeśli realized avgWin systematycznie odbiega w dół od backtestu — problem zwykle leży w egzekucji i dyscyplinie, nie w samym wzorze. Zyskowne pozycje zamykane przedwcześnie z obawy przed zwrotem, straty trzymane „na jeszcze trochę luzu" — to klasyczny wzorzec, który zmienia planned expectancy +0,40R w realized –0,05R. Rozbieżność planned R vs realized R jest ważniejsza niż sama expectancy. Mierz ją. Loguj ją.

Checklista journala — pełny log execution leak

Kompletny wpis w dzienniku transakcji powinien zawierać:

  • Instrument — np. EUR/USD
  • Sesja i godzina — Londyn overlap, 15:22 CET
  • Typ setupu — breakout D1, pullback H4, mean reversion itp.
  • Planned entry — cena, po której planowałeś wejść
  • Actual fill — cena, po której broker zrealizował zlecenie
  • Planned SL — cena stop loss z planu
  • Actual SL fill — cena realizacji SL (jeśli trafiony)
  • Planned TP — cena take profit z planu
  • Actual exit — cena wyjścia (TP, SL, manual)
  • Spread w momencie entry — odczytany z platformy
  • Slippage — różnica actual fill vs planned (w pipsach)
  • Swap — jeśli pozycja overnight
  • Planned R — wynik planowany
  • Realized R — wynik faktyczny
  • Manual deviation (Y/N) — czy zamknięcie odbyło się poza planem
  • Notatka o latencji/brokerze — rekwotowania, opóźnienia, anomalie feedu

Ten log pozwala wyliczyć execution leak, porównać planned vs realized expectancy i zidentyfikować, czy problem leży w systemie, w brokerze, czy w tobie.

Rozkład R-multiple to rentgen — ale skaner nie mówi ci, czy jesteś zdrowy. Mówi, co konkretnie jest nie tak: mediana poniżej zera przy średniej powyżej zera = system żyje na outlierach. Jeśli jeden trade w roku ciągnie całą expectancy, system jest outlier-dependent. To nie dyskwalifikuje strategii (cały trend-following działa właśnie tak), ale wymaga osobnego testu odporności: co dzieje się z equity, jeśli wytniesz top 5% wygranych z historycznej próbki? Dopóki nie masz za sobą 200+ transakcji na koncie live (nie na demo), twój R-multiple to statystyczny szum ubrany w cyfrę. System, który nie przetrwał zmiany sentymentu rynkowego i przynajmniej jednego reżimowego zwrotu, nie został jeszcze przetestowany[1].

Procedura mierzenia slippage — nie wystarczy „czuć", że broker cię kroi

Eksportuj historię transakcji z platformy do CSV (MT4: Account History → Save as Detailed Report; cTrader: History → Export; FIX API: log z timestampami w ms). Licz slippage osobno dla czterech kategorii:

  • Wejścia — różnica planowanego entry vs actual fill (w pipsach i w R)
  • TP — różnica między planowanym TP a realizowaną ceną wyjścia po dotknięciu poziomu
  • SL — różnica między planowanym SL a actual SL fill
  • Manual close — różnica między planem (TP/SL) a ręczną decyzją wyjścia

Dla każdej kategorii policz: medianę, 90. percentyl, kierunkowość (czy poślizg jest symetryczny czy systematycznie negatywny). Dopiero ta tabela mówi, czy poślizg jest funkcją rynku, czy funkcją egzekucji u twojego brokera. Jedno przeczucie nie jest dowodem. Mediana slippage z 200 transakcji już nim może być.

Waterfall destrukcji edge: Planned R → Execution leak → Manual deviation → Realized R (schemat edukacyjny dla pojedynczego trade'u w normalnych warunkach; w okolicach CPI/NFP czerwony słupek execution leak potrafi zjeść całą zieloną resztę)
Pojedynczy trade z planned R = +2,0R +2,0R 0R +1,0R Planned R +2,00R plan z setupu − Execution leak −0,15R spread + slippage + latencja − Manual deviation −0,68R manual close przed TP Realized R +1,17R to ląduje na rachunku
War story: najdroższy leak nie siedzi na serwerze brokera. Najczęstszy execution leak siedzi między oczami tradera. Po trzech stratach z rzędu zaczyna brać +0,4R, bo „rynek wygląda ciężko". Po dwóch wygranych przesuwa SL, bo „tym razem setup jest mocny". Po 100 transakcjach system z planowanym +0,30R ma realne –0,04R. Nie dlatego, że rynek się zmienił. Dlatego, że trader handlował innym systemem niż ten, który testował. Manual deviation bywa większy niż leakage egzekucyjny — i jest jedynym leakiem, na który trader ma bezpośredni wpływ.

Minimalny journal CSV — standard danych

Bez ujednoliconego formatu zapisu transakcji procedury z tego artykułu są nie do zoperacjonalizowania. Poniżej minimalny zestaw kolumn, który pokrywa wszystkie obliczenia (slippage per kategoria, planned vs realized R, manual deviation, segmentacja per reżim makro):

KolumnaTyp / formatPo co
dateYYYY-MM-DD HH:MMSegmentacja per sesja, dzień tygodnia, godzina
instrumentEUR/USD, GBP/JPY, XAU…Segmentacja per instrument
sessionasia / london / overlap / ny_lateReżim spreadu i płynności
setup_typebreakout / pullback / mean_reversion / newsExpectancy per typ setupu
planned_entrycenaPunkt odniesienia dla slippage_entry
actual_entrycenaRealny fill (ask dla long, bid dla short)
planned_sl / planned_tpcenaPlan z setupu
actual_sl / actual_exitcenaRealna cena wyjścia (SL, TP albo manual)
spread_entrypipsySpread w momencie wejścia z platformy
commissionUSD lub RCzęść all-in cost
swapUSD lub RCzęść all-in cost (overnight)
slippage_entry / slippage_exitpipsyKomponent execution leakage
planned_R / realized_Rliczba RTrzy warstwy R z sekcji 3
manual_deviationY/N + opisCzy zamknięcie było zgodne z planem
macro_eventNFP / CPI / FOMC / ECB / brakFiltr reżimu makro przy expectancy
brokernazwaPorównanie execution drag między brokerami w czasie

Gotowy nagłówek do skopiowania do CSV / Google Sheets:

date,instrument,session,setup_type,planned_entry,actual_entry,planned_sl,planned_tp,actual_sl,actual_exit,spread_entry,commission,swap,slippage_entry,slippage_exit,planned_R,realized_R,manual_deviation,macro_event,broker

Skopiuj ten nagłówek do nowego arkusza i loguj każdą transakcję. Po 100 wierszach masz materiał do bootstrappingu, segmentacji per reżim i porównania planowanego edge'u z realnym. Bez tego loga reszta artykułu jest dla ciebie literaturą.

4. Formuła expectancy — edge brutto vs edge netto

Expectancy to liczba, która powie ci, ile tracisz albo zarabiasz na każdy trade — zanim rynek pokaże ci, jak bardzo myliłeś się co do reszty. Działa pod warunkiem, że liczysz ją na sensownej próbce (200+ transakcji) i po kosztach. Z 40 transakcjami expectancy to szum statystyczny ubrany w cyfrę.

Formuła podstawowa

Expectancy = WR × avgWin − (1 − WR) × avgLoss

Gdzie:

  • WR — win rate (ułamek, np. 0,45 = 45%)
  • avgWin — średni zysk wygranych transakcji (w R)
  • avgLoss — średnia strata przegranych transakcji (w R, wartość bezwzględna)

Uproszczona formuła (gdy avgLoss = 1R)

Jeśli zawsze trzymasz SL i straty wynoszą dokładnie –1R:

Expectancy = WR × avgWin − (1 − WR)

Przykład liczbowy: System A

  • WR = 45%, avgWin = 2,1R, avgLoss = 1,0R
  • Exp = 0,45 × 2,1 − 0,55 × 1,0 = 0,945 − 0,55 = +0,395R

Na każdej transakcji zarabiasz średnio 0,395 jednostki ryzyka. Przy 1% ryzyka per trade i 15 transakcjach miesięcznie: 0,395 × 15 = +5,93% equity miesięcznie (przed compoundingiem).

Przykład liczbowy: System B

  • WR = 72%, avgWin = 0,6R, avgLoss = 1,2R
  • Exp = 0,72 × 0,6 − 0,28 × 1,2 = 0,432 − 0,336 = +0,096R

72% trafności — a expectancy jest ponad 4× niższa niż systemu A z 45% WR. Bo avgLoss = 1,2R (trader przesuwał SL, dawał „więcej luzu") i avgWin = 0,6R (zamykał zyski za wcześnie). WR maskował kiepski R:R.

Porównanie expectancy dwóch systemów — System A (WR 45%, avgWin 2,1R) vs System B (WR 72%, avgWin 0,6R) z obliczeniami i equity curve
Porównanie expectancy dwóch systemów — System A (WR 45%, avgWin 2,1R) vs System B (WR 72%, avgWin 0,6R) z obliczeniami i equity curve

Edge brutto vs edge netto

Formuła powyżej daje edge brutto — expectancy bez kosztów transakcyjnych. W realu płacisz:

  • Spread — koszt wejścia i wyjścia. Na EUR/USD w overlapie Londyn/NY: 0,1–0,8 pipsa. W rolowaniu o 23:00 CET: 2–15 pipsów. Na egzotykach: 10–40 pipsów. Spread nie jest stałą — to zmienna stanu rynku
  • Prowizja — na kontach ECN/STP: 3–7 USD za lot RT
  • Swap — koszt utrzymania overnight. Na parach z dużym dyferencjałem stóp (np. USD/TRY) swap short może wynosić –30 USD/lot/dzień
  • Slippage — asymetryczny: gorszy na SL (rynek idzie przeciw tobie szybko, płynność znika) niż na TP (rynek idzie na korzyść, fill lepszy). Na majors w normalnych warunkach: 0,1–0,5 pipsa. W news: 3–20 pipsów. W flash crash: setki pipsów

Expectancynetto = Expectancybrutto − Kosztper trade (w R)

Jeśli Twój SL = 30 pipsów i łączne koszty (spread + prowizja + średni slippage) = 2,5 pipsa → koszt w R = 2,5/30 = 0,083R. System A: 0,395 − 0,083 = +0,312R netto. System B: 0,096 − 0,083 = +0,013R netto. Przy 3 pipsach kosztu System B nie ma edge'u. Nie jest konserwatywny — jest ujemny.

Backtest zakłada wykonanie planu bez zmęczenia, presji i ręcznych odstępstw. Live pokazuje, ile z tego planu faktycznie potrafisz wykonać. SL na round number (1,0800, 1,1000) zostaje wystrzelony przez algorytmy w ciągu milisekund po przełamaniu. Fill następuje 3–8 pipsów poniżej — i tego nie ma w żadnym backteście na świecach dziennych. Backtest nie uwzględnia też: (1) spreadu zmiennego (nocą, w news, w niskiej płynności), (2) luk weekendowych, (3) rekwotowań u brokera market maker, (4) emocji. Live pokazuje wynik po kosztach, poślizgu i błędach człowieka. Różnica bywa większa niż sam edge.

Edge brutto → koszty → edge netto: trzy style

StylEdge brutto (R/trade)All-in cost (R/trade)Edge netto (R/trade)% edge'u zjedzony przez koszty
Scalping (SL 8 pipsów, EUR/USD ECN)+0,18R−0,11R+0,07R61%
Day trading (SL 25 pipsów, EUR/USD ECN)+0,28R−0,06R+0,22R21%
Swing (SL 80 pipsów, EUR/USD + swap 4 dni)+0,45R−0,07R+0,38R16%

Wartości ilustracyjne — twój realny rozkład zależy od brokera, instrumentu, godziny i częstotliwości handlu. Sens jest niezmienny: im krótszy SL, tym większy procent edge'u zżerają koszty. Scalper z brutto +0,18R i kosztem 0,11R może mieć dodatnie netto, dopóki nie wjedzie w reżim podwyższonych spreadów; jego margines bezpieczeństwa to ~0,07R, czyli mniej niż jedna źle policzona transakcja w news. Swing trader oddaje w kosztach 16% i ma znacznie szerszy bufor.

War story: NFP jako test ekstremalnego slippage. Pierwszy piątek miesiąca, 14:30 CET. Non-Farm Payrolls. Masz setup na 1:3 R:R i wąski SL. Ułamek sekundy przed odczytem algorytmy HFT wycofują płynność. Spread EUR/USD rozszerza się z 0,8 do 8–15 pipsów. Twój SL na 1,0820 zostaje zrealizowany po 1,0813 — 7 pipsów gorzej, bo market maker pokrywa delta ryzyka przed newsem. Nie –1R, ale –1,23R. Sekundę później cena idzie w stronę twojego TP, rysując idealny ruch w dzienniku. Zysk w Excelu: +3R. Zysk na koncie: –1,23R. Reguła operacyjna: zamknij pozycje o 14:15, jeśli jesteś w trade'dzie z małym SL, albo wlicz podwójny slippage w kalkulator expectancy dla strategii działającej w okolicach newsów.
COT jako filtr reżimu — nie trigger, ale kontekst. Raport Commitments of Traders[12] (CFTC, co piątek, bezpłatny) pokazuje pozycjonowanie Large Speculators na głównych parach. Gdy spekulanci są w ekstremalnych percentylach historycznego pozycjonowania, część strategii podążania za ruchem staje się bardziej podatna na wyczerpanie trendu lub gwałtowne odreagowanie. COT warto traktować jako filtr kontekstu, nie jako mechaniczny sygnał zmiany win rate. Raport jest opóźniony (dane z wtorku, publikacja w piątek) i nadaje się do filtrowania reżimu, nie do precyzyjnego timingu wejścia. Expectancy wyliczona na danych historycznych nie mówi nic o tym, czy rynek jest w reżimie korzystnym dla twojego systemu — COT pomaga to ocenić.

All-in cost — jedna formuła, jedno narzędzie

Zbierz wszystkie koszty w jedną liczbę:

All-in cost = spread + commission + E[slippage] + E[swap]

Liczony per trade, per godzinę handlu, per instrument, w pipsach i w R. Jeśli nie znasz swojego all-in cost dla każdego reżimu rynku, nie znasz realnego edge'u. Przelicz go na kalkulatorze pipsów, porównaj z expectancy brutto i sprawdź, ile R zostaje po tarciu.

5. R:R a styl tradingu — scalping vs trend-following

Zwiększanie targetu zwykle obniża trafność, bo rynek rzadziej realizuje dalszy zasięg. To trade-off, nie magia. Nie da się mieć jednocześnie WR 70% i R:R 1:3 — poza krótką serią szczęścia lub selekcją danych.

To przekłada się bezpośrednio na to, jak wygląda twój dzień przed ekranem:

StylTypowy R:RTypowy WRBreakeven WRMarginesProfil operacyjny
Scalping1:0,7–1:1,260–75%45–59%5–20 ppCienka marża na edge — koszty transakcyjne zjadają 50–70% brutto expectancy
Day trading1:1,2–1:245–60%33–45%10–20 ppZbalansowany — ale wrażliwy na spread w news i na otwarciu
Swing trading1:2–1:435–50%20–33%10–20 ppNiższy koszt transakcyjny w R, ale swap overnight i weekend gap risk
Trend-following1:3–1:10+25–40%9–25%10–20 ppDługie serie strat (8+ z rzędu to normalny event), outlier-dependent

To heurystyka edukacyjna, nie benchmark branżowy. Realny WR i R:R zależą od instrumentu, godzin handlu, modelu egzekucji i tego, czy twój broker realizuje zlecenia rynkowo czy syntetycznie. Nie traktuj żadnego wiersza jako celu — traktuj jako punkt odniesienia do własnych danych z journala. Liczb z tabeli nie sprzedawaj nikomu jako „typowych" — sprzedawaj je sobie jako pierwszy szkic do weryfikacji.

Zależność R:R od stylu tradingu — scalping (niski R:R, wysoki WR) vs trend-following (wysoki R:R, niski WR) z typowymi parametrami
Zależność R:R od stylu tradingu — scalping (niski R:R, wysoki WR) vs trend-following (wysoki R:R, niski WR) z typowymi parametrami
Dwa systemy z identyczną expectancy +0,35R — różne profile WR i R:R (ta sama expectancy, inna psychologia)
System Scalper Win Rate:70% Avg Win:0,88R Avg Loss:0,88R Expectancy:+0,35R 0,70 × 0,88 − 0,30 × 0,88 = 0,616 − 0,264 System Trend Win Rate:32% Avg Win:3,22R Avg Loss:1,0R Expectancy:+0,35R 0,32 × 3,22 − 0,68 × 1,0 = 1,030 − 0,680 Equity curve (50 transakcji) Equity curve (50 transakcji)

Ta sama expectancy nie oznacza tej samej ścieżki kapitału. O wyniku doświadczenia tradera decydują wariancja, długość serii strat, udział outlierów i czas potrzebny, by edge się ujawnił. Trend-follower z +0,35R po 8 kolejnych stratach (przy WR 32% prawdopodobieństwo takiej serii: 0,688 ≈ 5%, czyli raz na ~20 serii) porzuca system w najgorszym momencie — tuż przed tą jedną wygraną, która ciągnęła całą expectancy. Pytanie nie brzmi „który system jest lepszy" — pytanie brzmi: który z tych wykresów jesteś w stanie oglądać przez 500 transakcji na prawdziwych pieniądzach, kiedy seria strat uderza w miesiąc, w którym rata kredytu poszła w górę, a szef patrzy na twój P&L na koniec kwartału.

Scalping jest skrajnie wrażliwy na koszty i jakość egzekucji. Przy SL 8 pipsów i spreadzie 0,8 pipsa, koszt transakcji to 10% ryzyka (0,1R) — na każdym trade. Przy 40 transakcjach dziennie i expectancy brutto +0,15R → 40 × 0,15 = +6R/dzień. Po kosztach: 40 × (0,15 − 0,10) = +2R/dzień. Koszty zjadły 67% edge'u. Trend-follower z SL 120 pipsów i tym samym spreadem: koszt = 0,007R. Scalping wymaga ultraniskich spreadów (konto ECN, kolokacja, tier-1 LP). Na M1 nie walczysz z drugim gościem z MT4. Walczysz z kimś, kto widzi flow szybciej i taniej niż ty. Im ciaśniejszy SL, tym bardziej ta przewaga infrastrukturalna boli.

6. Pułapka sztywnego R:R — dlaczego „zawsze 1:2" to zła reguła

Popularna rada: „nigdy nie wchodź w trade z R:R gorszym niż 1:2". Brzmi rozsądnie. W praktyce to jedno z najbardziej destrukcyjnych uproszczeń w edukacji tradingowej. Oto dlaczego:

Problem 1: Sztywny TP ignoruje strukturę rynku

Wchodzisz long na EUR/USD z SL 30 pipsów. Reguła „1:2" nakazuje TP = 60 pipsów. Ale 45 pipsów wyżej jest silna strefa podaży (daily resistance), o którą cena odbijała 4 razy w ciągu ostatnich 3 miesięcy. Ustawiasz TP 60 pipsów — cena dochodzi do 44, odbija, wraca do entry, potem łapie SL. Wynik: –1R. Gdybyś postawił TP na 42 pipsach (R:R 1:1,4), zamknąłbyś +1,4R. „Reguła" kosztowała cię 2,4R.

Pułapka sztywnego R:R — TP ustawiony za strefą oporu (1:2) vs TP na poziomie strukturalnym (1:1,4) z różnicą wyniku 2,4R
Pułapka sztywnego R:R — TP ustawiony za strefą oporu (1:2) vs TP na poziomie strukturalnym (1:1,4) z różnicą wyniku 2,4R

Problem 2: Filtruje dobre setupy

System breakoutowy na GBP/JPY. SL pod konsolidacją: 45 pipsów. Pierwszy realny target (następna strefa): 55 pipsów. R:R = 1:1,22. „Reguła 1:2" mówi: nie wchodź. Ale twój backtest na 300 transakcjach pokazuje, że te setupy z R:R 1:1,0–1:1,5 mają WR 62% i expectancy +0,32R. Odfiltrowanie ich obniża łączną expectancy systemu, bo eliminujesz RENTOWNE transakcje.

Problem 3: Fałszywe poczucie bezpieczeństwa

Trader z „zasadą 1:2" myśli: „muszę trafiać tylko 34%, żeby wyjść na zero". Prawda — ale dopiero w teorii. W praktyce, jeśli systematycznie ustawiasz TP daleko od entry, twój realizowany WR spada poniżej 34%, bo TP jest za strefami oporu, za ATR-em dziennym, za NFP. Potem zaczynasz przesuwać TP bliżej — i nagle twój „1:2" to 1:1,3 realizowany.

TP nie służy do tego, żeby Excel wyglądał ładnie. TP to najbliższa realna bariera: strefa oporu/wsparcia, Fibonacci extension, VWAP, daily ATR. TP ma stać tam, gdzie rynek realnie może dojść, zanim zabije cię podaż, ATR albo news. Jeśli bariera jest 1,4R od entry — twój TP to 1,4R. Jeśli 3,8R — to 3,8R. Reguła powinna dotyczyć MINIMALNEGO R:R (np. „nie wchodzę poniżej 1:1 po kosztach"), nie STAŁEGO R:R odmierzanego od SL kalkulatorem.
Okrągłe poziomy koncentrują uwagę rynku. TP ustawione równo na 1,1000 albo 150,00 ma skondensowany problem: tam koncentrują się zlecenia i uwaga rynku. Cena często reaguje kilka pipsów przed poziomem — część uczestników realizuje zysk wcześniej, a część algorytmów antycypuje klaster płynności. Cena dochodzi do 1,0997, odwraca się, twój TP nie wchodzi, rynek wraca. Operacyjnie: jeśli docelowa strefa to 1,1000, ustaw TP na 1,0995–1,0997 albo zostaw porcję pozycji na trailing — zaoszczędzony 0,1–0,3R na fill ratio jest realnym wkładem do expectancy, a nie ozdobą.

Poprawne podejście: SL na punkcie invalidacji. TP na najbliższym realnym targecie. Wynikowy R:R to efekt analizy, nie jej przyczyna.

War story: polowanie na stop lossy. Rynek nie „poluje" na twój stop personalnie. Ale płynność siedzi tam, gdzie leżą stop lossy tłumu. EUR/USD zbliża się do 1,1000. Cena łamie 1,0998, 1,0999, 1,1000 — setki zleceń SL i pending sell orders czekają tuż poniżej (retail ustawia SL „pod okrągłą liczbą"). Duzi uczestnicy i algorytmy mają zwykle lepszy obraz lokalnej płynności niż detalista handlujący na uproszczonym feedzie CFD — na rynku OTC nie ma jednego centralnego order booka. Cena wbija do 1,0992, zbiera SL, wraca do 1,1005. Twój SL: zrealizowany. Ruch: fałszywy. Konkluzja: SL ustawiony pod kątem ładnego R:R, a nie pod kątem realnej invalidacji i struktury płynności, jest biletem do bycia fillem dla kogoś większego. Przesuń o 5–8 pipsów za punkt strukturalny — nie poprawia R:R, ale daje SL szansę na przeżycie szumu.

7. Koszty transakcyjne i reżimy spreadu

Koszty transakcyjne to podatek od edge'u. Im krótszy SL, im niższy timeframe, im częściej handlujesz — tym większy % expectancy zjadają. Ale uwaga: koszty nie są stałe. Mają reżimy.

Spread — zmienna, nie stała

Tabela kosztów w sekcji 4 zakłada spread 0,8 pipsa na EUR/USD jako stałą. W praktyce:

Reżim rynkuSpread EUR/USDSpread GBP/JPYUwaga
Overlap Londyn/NY (14:00–17:00 CET)0,1–0,6 pips0,8–1,5 pipsMaksymalna płynność — najniższe koszty
Londyn open (09:00–10:00 CET)0,3–0,8 pips1,0–2,0 pipsDobra płynność po pierwszych 15 min
Azja (01:00–07:00 CET)0,8–2,5 pips2,0–5,0 pipsNiska płynność na EUR/USD i GBP
Rollover 23:00 CET2–15 pips5–25 pipsLP zdejmują zlecenia — pułapka na SL
NFP / CPI / FOMC (pierwsze 3 sekundy)5–20 pips10–40 pipsKsięga zleceń pustoszeje w ułamku sekundy
Flash crash / black swan50–500+ pips100–1000+ pipsKlasyczny SL nie gwarantuje ceny wykonania — po aktywacji działa jak zlecenie rynkowe

Wartości w tabeli są ilustracyjne i zależą od brokera, LP, typu konta, wydarzenia makro oraz rzeczywistego bid/ask w danym momencie. Przed użyciem w modelu zastąp je własnym spread logiem.

Ten sam system może być dodatni o 10:30 CET, a martwy o 22:15 CET, mimo tej samej geometrii setupu. Jeśli Twój broker na EUR/USD na otwarciu Londynu daje spread > 1,2 — rozważ zmianę na ECN.

Wykres spreadu EUR/USD w funkcji godziny dnia — od 0,1 pipsa w overlapie Londyn/NY do 15 pipsów w rolowaniu 23:00 CET z zaznaczonymi oknami NFP i ECB
Wykres spreadu EUR/USD w funkcji godziny dnia — od 0,1 pipsa w overlapie Londyn/NY do 15 pipsów w rolowaniu 23:00 CET z zaznaczonymi oknami NFP i ECB

Prowizja

Konta ECN: często 3–7 USD za lot roundturn (zależy od brokera, typu konta i wolumenu). Konta spread-only: 0 prowizji, ale spread szerszy. All-in cost (spread + prowizja) bywa porównywalny — nie patrz na „zero commission" bez sprawdzenia efektywnego spreadu.

Swap (rollover)

Koszt utrzymania overnight. Na parach z dużym dyferencjałem stóp (np. USD/TRY) swap short może wynosić –30 USD/lot/dzień. Swing trader trzymający 5 dni: –150 USD. Przy SL 500 pipsów (=500 USD) → swap = 0,3R. To istotna część expectancy. Dla par carry-positive swap może być pozytywny i dodawać do expectancy.

Slippage — asymetryczny i reżimowy

Slippage jest asymetryczny: gorszy na SL (rynek idzie przeciw tobie szybko, płynność znika) niż na TP (fill lepszy). To nie jest bug — to struktura rynku. Klasyczny stop loss działa jak stop order: po aktywacji przechodzi do egzekucji po najlepszej dostępnej cenie rynkowej, nie po cenie, którą wpisałeś.

Pułapka 23:00 CET (rollover / triple swap) — dlaczego płynność znika. W oknie rolloveru (operacyjnie 22:55–23:10 CET, dla bezpieczeństwa szersze 22:00–00:00 CET) dostawcy płynności (LP) ograniczają lub zdejmują kwotowania, bo to moment przeliczania pozycji overnight i rolowania księgi przez banki — część LP ogranicza głębokość kwotowań albo poszerza bid/ask, żeby nie przyjmować niechcianej ekspozycji w oknie rozliczenia dnia (dlatego w środy spread jest dodatkowo wypaczony przez rolowanie z piątkową wartością „triple swap"). Spread na głównych parach może wystrzelić z 0,5 do 15 pipsów na kilkadziesiąt sekund. Klasyczny SL postawiony zbyt blisko zostaje zrealizowany po cenie odpowiadającej rozszerzonemu spreadowi, mimo że sam rynek się nie ruszył w sensie kierunkowym. Krótkoterminowe systemy trzymające pozycje przez rollover powinny wliczać ten spike w koszty albo zamykać pozycje przed 22:55.

Spread log — instrukcja zbierania własnych danych

Bez własnego loga spreadu ten artykuł jest dla ciebie literaturą. Z logiem — narzędziem decyzyjnym. Minimalny protokół (wystarczy 2 tygodnie):

  • 5 dni normalnych — co minutę zapis spreadu z platformy (MT4/MT5: Market Watch → kolumna Spread; cTrader: Symbol Specifications; lub eksport tickowy z Dukascopy/TrueFX)
  • 1 dzień NFP — pełny zapis 14:25–14:45 CET na EUR/USD i GBP/USD
  • 1 dzień CPI / FOMC / ECB — to samo okno wokół godziny publikacji
  • Rollover — co minutę 22:55–00:05 CET przez 5 kolejnych dni (ze wskazaniem środy z triple swap)

Dla każdej kategorii policz medianę, 90. percentyl i maksimum spreadu. Zestaw to z twoim typowym SL i policz koszt w R per reżim. Twoja realna mapa ryzyka kosztów wyjdzie z tego logu, nie z cudzej tabeli.

Rollover bez teorii spiskowej — czysta ekonomia kwotowania. W rolloverze nie musisz zakładać złej woli. Wystarczy ekonomia kwotowania: LP ograniczają ekspozycję w oknie zamknięcia dnia, szerokość spreadu rośnie, a zlecenia stop działają na realnym bid/ask, nie na środkowej cenie z wykresu. Dla tradera z ciasnym SL efekt jest ten sam: stop może zostać aktywowany przez sam spread, mimo że kierunkowy ruch rynku był minimalny. Na crossach z PLN, TRY czy ZAR spread w oknie 22:55–23:05 potrafi rozjechać się z kilku do kilkudziesięciu–kilkuset pipsów na chwilę. Wniosek operacyjny: nie trzymaj krótkoterminowej pozycji przez rollover bez policzenia 90. percentyla spreadu z własnego logu. Zamknij pozycję przed 22:55 albo poszerz SL o ten percentyl.
Scenariusz dealer-side (relacja, nie protokół regulacyjny). Z prywatnej rozmowy z byłym dealerem instytucjonalnym — fragment, którego nie da się zacytować ze źródła, więc traktuj jako anegdotę, nie dowód: o 22:59 algorytmy części dostawców płynności po prostu wyciągają wtyczkę z order booka. Spread na crossach z PLN, TRY czy ZAR rozjeżdża się na kilkadziesiąt do kilkuset pipsów w ułamku sekundy. Ekonomia handlowa jest prosta: w oknie minimalnej płynności szerokie kwotowanie pozwala obsłużyć stop ordery przy bardzo małej ekspozycji kierunkowej, po czym o 23:02 rynek wraca do normalnej kwotacji. Jeśli zostawiasz ciasnego stopa na rollover, jesteś częścią tego flow — niezależnie od tego, czy nazwiesz to spiskiem, czy ekonomią. Wniosek: dla tradera operacyjnie obydwie wersje (regulacyjna i dealer-side) sprowadzają się do tego samego — twój SL trzeba albo wyciągnąć z okna 22:55–23:10 CET, albo poszerzyć o realny 90. percentyl spreadu. (Status: relacja z drugiej ręki, bez przypisu źródłowego.)
Gapy weekendowe — operacyjny konkret. Pobierz historię M15 z 5 lat dla głównej pary (OANDA API, Dukascopy, MT5 Strategy Tester) i policz różnicę między ostatnią ceną piątkową a pierwszą poniedziałkową. Liczy się tylko luka niekorzystna względem twojej pozycji — gap w stronę zysku nie wpływa na koszt SL. Histogram pokazuje rozkład gap size w pipsach. 90. percentyl niekorzystnej luki (np. ~35 pipsów na EUR/USD, ~95 pipsów na GBP/JPY w obserwowanych próbkach) wstaw do formuły: E[weekend_gap_cost_in_R per trade] = P(holding over weekend) × E(adverse_gap_pips | weekend hold) / SL_pips. Jeśli 40% wszystkich transakcji systemu jest trzymanych przez weekend, a SL wynosi 60 pipsów, oczekiwany koszt niekorzystnej luki rozłożony na wszystkie transakcje systemu to ~0,4 × 35 / 60 ≈ 0,23R per trade. Dla samej pozycji trzymanej przez weekend koszt warunkowy wynosi 35 / 60 ≈ 0,58R. To nie jest opcjonalna pozycja w tabeli kosztów — to zmiana edge'u systemu, której większość traderów nigdy nie policzyła.

Łączny koszt per trade w funkcji SL

SL (pips)Koszt w R (normalny)Koszt w R (rollover 23:00)Koszt w R (NFP pierwsze 5s)
80,225R1,5–2,5R2,5–4,0R
200,090R0,60–1,0R1,0–1,6R
400,045R0,30–0,50R0,50–0,80R
800,023R0,15–0,25R0,25–0,40R
1500,012R0,08–0,13R0,13–0,21R

EUR/USD, konto ECN. „Normalny" = overlap Londyn/NY (spread ~0,8 + prow. 0,7 + slip 0,3 = 1,8 pips). Rollover = spread 8–15 pips + slip 2 pips. NFP = spread 15–25 pips + slip 5–8 pips. Scalper z SL 8 pipsów trzymający pozycję przez rollover: koszt 1,5–2,5R na jednym trade. System z expectancy brutto +0,15R schodzi poniżej zera przy pierwszym nieplanowanym rolowaniu.

Koszt w pipsach jest stały (~1,8 na EUR/USD). Koszt w R jest odwrotnie proporcjonalny do SL. Scalper z SL 8 pipsów oddaje 22,5% ryzyka na koszty. Swing trader z SL 80 pipsów — 2,3%. Dziesięciokrotna różnica.

Destrukcja expectancy: ten sam system (+0,20R brutto) w trzech reżimach rynku
NORMALNY ROLLOVER 23:00 NEWS FLASH Edge brutto: +0,20R Edge brutto: +0,20R Edge brutto: +0,20R Spread 0,8 + slip 0,3 pips Koszt: −0,09R Spread 8,0 + slip 2,0 pips Koszt: −0,22R Spread 15 + slip 8,0 pips Koszt: −0,35R Netto: +0,11R Netto: −0,02R Netto: −0,15R System dodatni po kosztach System na granicy System ujemny po kosztach SL = 20 pipsów, EUR/USD. Ten sam system, ten sam setup — trzy różne wyniki w zależności od godziny.
War story: CHF, 15 stycznia 2015 — mit twardego stop lossa. SNB znosi peg EUR/CHF bez ostrzeżenia. EUR/CHF spada z 1,2000 do 0,8500 w ciągu minut — 3 500 pipsów. Detaliści mieli ustawione żelazne SL. Expectancy wyliczone w Excelu na 5 lat do przodu. Płynność wyparowała w ułamku sekundy. W CHF 2015 część klientów nie dostała stopa tam, gdzie go wpisała — dostała fill tam, gdzie po panice znalazła się płynność, miejscami z ujemnymi saldami wielokrotnie przewyższającymi depozyt. To różnica między stratą kontrolowaną a rachunkiem z dziurą. Alpari UK — wniosek o niewypłacalność po szoku CHF[18]. FXCM — ujawniona strata ok. 225 mln USD i pakiet ratunkowy od Leucadia, de facto koniec niezależności firmy[19]. Żaden wzór na expectancy z backtestu tego nie przewidzi. Jedyna ochrona: broker z guaranteed stop loss (GSLO) — który kosztuje dodatkowy pips per trade i w normalnych warunkach wygląda jak niepotrzebny wydatek. Do czasu.

8. Model brokera: A-Book vs B-Book a realizowany R:R

Expectancy liczona bez jakości egzekucji brokera jest niepełna. W CFD broker nie jest neutralnym tłem — wpływa na twój realizowany R:R tak samo jak twoja strategia, czasem mocniej.

A-Book (STP/ECN)

Broker przekazuje twoje zlecenia do puli płynności (LP). Zarabia na prowizji i/lub markup do spreadu. Twój zysk nie jest jego stratą — konflikt interesów jest mniejszy. W normalnych warunkach jakość egzekucji bywa bardziej rynkowa i mniej asymetryczna niż w modelu internalizacji, ale nie oznacza to automatycznej symetrii filli. Na stopach poślizg nadal będzie częściej negatywny, bo rynek idzie agresywnie przeciw tobie — to nie wymaga złej woli brokera, to struktura rynku.

Prime of Prime (PoP) — markup, którego nie widzisz w specyfikacji

Kiedy klikasz Buy u swojego brokera, twoje zlecenie przejeżdża przez 2–3 warstwy marży, zanim trafi do banku tier-1. Każda warstwa dokłada swoje. Mali brokerzy CFD nie mają bezpośredniej relacji z bankami tier-1; łączą się przez agregatorów Prime of Prime, którzy z kolei łączą się z LP banków. „ECN" u twojego brokera detalicznego to ECN z dodatkową warstwą marży, która nie jest osobno wykazana w specyfikacji konta — może dokładać ułamki pipsa do efektywnego spreadu (raporty dostawców infrastruktury wskazują rzędy wielkości od kilku setnych do około pipsa, zależnie od kontraktu z PoP, wolumenu brokera i instrumentu). Drobne na pojedynczym trade'dzie — istotne, gdy pomnożysz to przez 200 transakcji miesięcznie. Wniosek: porównuj brokerów po efektywnym all-in cost (mediana spreadu z twojego loga + prowizja), nie po tabeli marketingowej.

Łańcuch egzekucji zlecenia detalicznego — gdzie powstaje markup (schemat edukacyjny; rzeczywiste warstwy zależą od konkretnego brokera, kontraktu z PoP i typu konta)
Każda warstwa dokłada swoje — to nie jest osobno na fakturze Klient Klika Buy / Sell Widzi spread brokera w platformie Retail broker CFD / FX broker (MT4/MT5/cTrader) spread + prowizja Prime of Prime Agregator płynności + prime broker access + PoP markup LP tier-1 Bank inwestycyjny / market maker raw spread + last look + markup brokera spread vs raw + PoP markup ułamki pipsa raw spread + last look risk Spread, który widzisz na platformie = raw spread tier-1 + PoP markup + markup brokera + (czasem) prowizja All-in cost = suma wszystkich warstw — nie patrz na „zero commission" bez sprawdzenia efektywnego spreadu z własnego logu.

B-Book (Market Maker / Dealing Desk)

Broker jest drugą stroną twojej transakcji. Twój zysk = jego strata. Twoja strata = jego zysk. Matematyka jest brutalna: broker zna statystyki — w risk warningach brokerów CFD pod MiFID II często widać wartości rzędu 70–80% rachunków detalicznych tracących pieniądze w danym okresie raportowym (raport intervencyjny ESMA z 2018 r.[7] podawał szerszy historyczny zakres 74–89% przy okazji wprowadzania ograniczeń produktu). Internalizacja flow detalicznego jest więc zyskowna statystycznie. Problem zaczyna się, gdy twój system wychodzi na plus:

W modelu internalizacji klient musi szczególnie monitorować jakość egzekucji:

  • Asymetryczny slippage — w raportach execution quality brokerów regulowanych można sprawdzić, czy poślizg na SL jest statystycznie gorszy niż na TP. Asymetryczny slippage na stopach może wynikać z samej dynamiki rynku (płynność znika szybciej, niż wraca) — to powód do głębszej diagnostyki, nie dowód B-Booka. Jeśli mierzysz to systematycznie i widzisz drift mimo normalnych warunków, masz konkret do rozmowy z brokerem albo regulatorem
  • Rekwotowania (requotes) — platforma proponuje gorszą cenę, szczególnie na szybko poruszającym się rynku. Częstotliwość rekwotowań i ich kierunek to diagnostyka jakości brokera
  • Anomalie feedu (spikes) — cena na platformie brokera robi ruch niewidoczny u innych dostawców. Porównuj notowania z więcej niż jednym niezależnym feedem referencyjnym (np. Dukascopy, LMAX, dane CME). Porównanie feedów to podstawowy test
  • Reklasyfikacja flow (toxic flow) — zyskowny flow detaliczny bywa uznawany przez LP za niepożądany. Może prowadzić do pogorszenia warunków egzekucji, ale to trzeba zmierzyć, nie zakładać. Konkretny test: po każdym miesiącu zysku eksportuj historię i policz średni czas egzekucji w ms oraz kierunkowość slippage. Jeśli czas egzekucji rośnie o > 200 ms a slippage na SL pogarsza się o > 0,3 pipsa względem pierwszych miesięcy — masz dane do decyzji o zmianie konta, bez spekulowania o złej woli brokera
  • Last Look — okno kontrolne stosowane przez część LP przed akceptacją transakcji (typowo dziesiątki milisekund). Zgodnie z FX Global Code (Principle 17) powinno być transparentne, proporcjonalne i nieużywane do nieuczciwego wykorzystywania informacji zlecenia. W praktyce: gdy broker STP wysyła zlecenie do LP, dostawca ma to okno na decyzję o akceptacji; jeśli akceptacja zostanie odrzucona, ty dostajesz rekwotowanie albo fill u kolejnego dostawcy. To element struktury rynku, który trzeba uwzględnić w kalkulacji execution leakage, niezależnie od oceny intencji konkretnego LP
  • Latencja w milisekundach — slippage to często nie zła wola, tylko czas. Twój klik → broker → agregator PoP → LP → akcept/odrzut → fill. Każdy hop to dziesiątki ms. Profesjonalne deski mają kolokacjowane serwery 1 ms od matchingu — ty masz 50–250 ms zwykłego internetu domowego. Na timeframe'ach M1–M5 to wystarczy, żeby twój planowany R:R przesunął się o 0,1–0,3R przy każdym SL/TP w aktywnym rynku
Diagnostyka opóźnień egzekucji w czasie — bez teorii spiskowej. W historii rynku detalicznego FX zdarzały się narzędzia serwerowe do zarządzania flow klienta (klasyczny przykład: pluginy typu Virtual Dealer w starszych instalacjach MT4, opisane w postępowaniach regulacyjnych z poprzedniej dekady). Nie zakładaj tego z góry wobec twojego brokera — mierz empirycznie. Zrób trzy snapshoty: pierwszy miesiąc konta, miesiąc po pierwszym dłuższym okresie zyskowności, miesiąc po skalowaniu wolumenu. Dla każdego: średni czas egzekucji (ms), odsetek rekwotowań, kierunkowość slippage na SL. Jeśli widzisz monotoniczną degradację — masz konkretny argument do rozmowy z brokerem albo regulatorem; jeśli nie — masz dane, że broker działa stabilnie, mimo że jeden konkretny tydzień wyglądał źle. Bez tego logu opowieść o „złym brokerze" jest tylko opowieścią.
Scenariusz: pre-event przed decyzją banku centralnego. Bank centralny komunikuje interwencję w obronie kursu (klasyczne historyczne tło: cykl SNB w okolicach 2014–2015). Para strzela kilkadziesiąt pipsów w ciągu kilkudziesięciu sekund. Traderzy z SL ustawionym typowo „za okrągłą liczbą + 30 pipsów" dostają fill istotnie poza poziomem stopa: cena dotyka klastra, robi spike i wraca po kilku–kilkunastu minutach blisko punktu wyjścia. Execution leak na tej grupie pozycji jest większy niż planowane −1,0R, mimo że samo „naruszenie" SL trwało krótko. Nie dlatego, że broker był nieuczciwy — dlatego, że płynność znikła i stop order zrealizował się po cenie, która w tym oknie była jedyną dostępną. Lekcja: SL na okrągłej cenie + 30 pipsów to klaster, w który wejdzie cała płynność szukająca przeciwstrony.
A-Book vs B-Book — schemat przepływu zleceń: A-Book kieruje zlecenie do LP z symetrycznym slippage, B-Book internalizuje flow z asymetrycznym slippage na niekorzyść klienta
A-Book vs B-Book — schemat przepływu zleceń: A-Book kieruje zlecenie do LP z symetrycznym slippage, B-Book internalizuje flow z asymetrycznym slippage na niekorzyść klienta

Co jest dowodem, a co przeczuciem

SygnałWartość dowodowa
Jeden zły fill na trudnym rynkuPrawie żadna — to szum egzekucyjny
200 transakcji z medianą slippage na SL gorszą niż benchmark / pierwsze miesiące kontaMocny sygnał — masz dane do reklamacji albo zmiany konta
Spike na wykresie widoczny tylko u jednego brokera, nieobecny na 3 niezależnych feedachMocny sygnał — anomalia warta dokumentacji
Pogorszenie czasu egzekucji i kierunkowości slippage po skalowaniu wolumenuSygnał do migracji albo formalnej reklamacji
Emocjonalne „broker mnie kroi" bez logu transakcjiZero — ani dla brokera, ani dla regulatora, ani dla ciebie
Jak weryfikować model brokera. (1) Sprawdź rejestr regulatora (FCA, KNF, CySEC) — sekcja execution policy. (2) Porównaj execution statistics na MyFxBook: fill ratio, średni slippage na SL vs TP, czas egzekucji. (3) Porównaj wykres z kilkoma niezależnymi feedami (Dukascopy, LMAX, CME) — szukaj anomalii nieobecnych u innych dostawców. (4) Otwórz small account i sprawdź, czy egzekucja zmieni się po pierwszych zyskownych miesiącach. Jeśli twój broker na EUR/USD daje spread >1,2 pips na otwarciu Londynu — rozważ przesiadkę.
„Zero commission" nic nie znaczy bez all-in cost. Broker reklamuje „0% prowizji" — ale spread EUR/USD to 1,4 pipsa zamiast 0,1–0,3 pipsa na koncie ECN + 3,50 USD/lot. All-in cost: spread-only = 1,4 pipsa (14 USD/lot). ECN = 0,2 pipsa + 3,50 USD = 5,50 USD/lot. Różnica: 8,50 USD na każdy lot. Przy 200 transakcji miesięcznie i 0,5 lota: „bezpłatny" broker kosztuje cię 850 USD więcej miesięcznie. To 0,17R dodatkowego kosztu na każdy trade przy SL 50 pipsów. Dla systemu z expectancy +0,20R — śmiertelne.

9. Profit Factor, MaxDD i metryki obok expectancy

Expectancy jest fundamentem dla ewaluacji systemu. Ale MaxDD i probability of ruin są fundamentem dla przeżycia. Trader z expectancy +0,40R i MaxDD –45% nie przeżyje do momentu, gdy ta expectancy się zrealizuje — bo albo skończy mu się kapitał, albo psychika zmusi go do zamknięcia konta na dołku.

Profit Factor (PF)

PF = Suma zyskówSuma strat = WR × avgWin(1 − WR) × avgLoss

PF < 1,0 → system traci. PF 1,3–1,8 → solidny edge. PF > 2,5 na próbce >200 transakcji — sprawdź overfitting, bo wysoki PF na krótkiej próbie to sygnał alarmowy, nie powód do dumy. System A: PF = 1,72. System B: PF = 1,29.

Payoff Ratio (realizowany R:R)

Payoff Ratio = avgWinavgLoss

Payoff Ratio poniżej 1,0 oznacza, że przeciętna wygrana < przeciętna strata — system musi nadrabiać wysokim WR. Porównuj planned payoff z realized — różnica to twój execution leak.

Metryki systemu transakcyjnego — PF, Payoff Ratio, MaxDD, Sharpe Ratio z interpretacją i pułapkami
Metryki systemu transakcyjnego — PF, Payoff Ratio, MaxDD, Sharpe Ratio z interpretacją i pułapkami

Maximum Drawdown (MaxDD) i długość obsunięcia

Największy spadek equity od szczytu do dołka. MaxDD nie jest funkcją samej expectancy — system z +0,50R może mieć MaxDD –25% przy skumulowanej serii strat. Ale MaxDD to tylko połowa obrazka. Druga połowa to czas trwania drawdownu (length of drawdown). System, który ma MaxDD –15%, ale odrabia to w 3 tygodnie, jest psychologicznie łatwiejszy niż system z MaxDD –12%, który siedzi w drawdownie 4 miesiące. To length of drawdown — nie głębokość — najczęściej łamie dyscyplinę tradera.

Probability of Ruin — ile trzeba, żeby zbankrutować

Expectancy i MaxDD nie odpowiadają na pytanie: jakie jest prawdopodobieństwo, że mój rachunek zejdzie do zera? Uproszczona formuła (Vince[9]):

P(ruin)(1 − edge1 + edge)units

Gdzie edge = expectancy / avgLoss, units = kapitał / ryzyko per trade. To przybliżenie działa tylko przy silnych założeniach: stały sizing, stabilny edge i uproszczony rozkład wyników (jak w rzucie monetą). W realnym tradingu — szczególnie w systemach trend-followingowych z grubymi ogonami — probability of ruin najlepiej testować przez symulację Monte Carlo na własnym rozkładzie R-multiple. Mimo ograniczeń, formuła pokazuje kluczową zależność:

ExpectancyRyzyko/tradeJednostkiEdgeP(ruin)Interpretacja
+0,35R1%1000,35< 0,01%Znikome — solidny system z konserwatywnym sizingiem
+0,10R2%500,10≈ 0,01%Wciąż bezpieczne, ale edge jest wąski
+0,10R5%200,10≈ 1,9%Jeden na 50 traderów z tym sizingiem zbankrutuje
+0,05R5%200,05≈ 14,5%Jeden na siedem — poziom nieakceptowalny. Edge nie zdąży się ujawnić
+0,05R3%330,05≈ 5,2%Jeden na 20 — wciąż zbyt dużo dla poważnego tradingu

Wartości orientacyjne — pokazują kierunek zależności, nie precyzyjną prognozę dla każdego systemu.

Uproszczony wzór zakłada stabilny edge, stały sizing i uproszczony rozkład wyników. W prawdziwym tradingu (grube ogony, luki weekendowe, interwencje banków centralnych) symulacja Monte Carlo na własnym rozkładzie R-multiple zwykle daje bardziej realistyczny obraz ryzyka bankructwa. Przy edge +0,05R i ryzyku 5% realne ryzyko może być bliższe 25–35% niż 14,5% z tabeli.

Monte Carlo na własnym rozkładzie R-multiple — krok po kroku

Wzór Vince'a zakłada, że twój rozkład R-multiple jest stabilny jak rzut symetryczną kostką. Twój system prawdopodobnie nim nie jest — jeśli ma grube ogony (jeden +8R, dziesięć –1R), zmienny sizing albo clustering strat w korelowanych regimach, formuła systematycznie niedoszacowuje ryzyko. Monte Carlo liczy to uczciwie. Procedura:

  1. Z journala wyciągasz listę R-multiple — np. 200 wartości: [+2,4, −1,0, −1,1, +1,8, …]
  2. Losujesz z powtórzeniami (sampling with replacement) sekwencję 500 transakcji z tej puli
  3. Symulujesz equity przy stałym sizingu (np. 1% per trade), zaczynając od 100% kapitału
  4. Zapisujesz końcowe equity, MaxDD i fakt zejścia poniżej progu ruiny (np. −50% lub −80%)
  5. Powtarzasz 10 000 razy
  6. Z 10 000 ścieżek liczysz: rozkład końcowego equity, mediana MaxDD, 95. percentyl MaxDD, odsetek ścieżek schodzących poniżej progu ruiny

Dopiero ta liczba mówi ci, jakie jest prawdopodobieństwo, że twój system zniknie zanim się zrealizuje. Dla traderów z niewielką próbką (80–120 transakcji) bootstrapping daje też test stabilności expectancy: jeśli mediana 10 000 średnich z 200 losowań jest blisko twojej historycznej średniej, expectancy jest stabilna; jeśli rozkład jest szeroki i zawiera ujemne wartości — nie masz wystarczającej próbki, żeby cokolwiek twierdzić.

Różnica między 1% a 5% ryzyka per trade przy niskim edge to różnica między matematyką przeżycia a matematyką bankructwa.

Heatmapa P(ruin) — expectancy netto (oś Y) × ryzyko per trade (oś X) (wartości szacunkowe z uproszczonej formuły Vince'a, kapitał = 100 jednostek ryzyka, próg ruiny = 0)
P(ruin) — bezpieczne (zielone) vs ruina (czerwone) 0,5% 1% 2% 3% 5% 7% 10% +0,40R +0,30R +0,20R +0,12R +0,08R +0,05R +0,03R <0,1% <0,1% <0,5% <1% ~2% ~5% ~9% <0,1% <0,5% <1% ~2% ~6% ~12% ~20% <0,5% <1% ~2% ~5% ~14% ~24% ~36% <1% ~2% ~5% ~12% ~25% ~38% ~52% ~2% ~4% ~10% ~22% ~38% ~55% ~70% ~5% ~12% ~25% ~42% ~62% ~78% ~88% ~10% ~22% ~40% ~60% ~78% ~89% ~95% Oś X: ryzyko per trade · Oś Y: expectancy netto · Wartości schematyczne, dla planowania, nie precyzyjna prognoza Każdy ruch w prawo dolnym rogu to wykładniczy wzrost ryzyka ruiny — sizing tnie szybciej niż edge buduje.
War story: risk-off squeeze na JPY i pułapka „to tylko seria". Trader systemowy, trend-following na crossach JPY, expectancy historyczna +0,28R na 600 transakcjach backtestowych i 80 live. Ryzyko: 3% per trade. P(ruin) z tabeli: poniżej 1%. Wchodzi okno risk-off — gwałtowny squeeze JPY (typowy schemat: dane z rynku pracy USA + carry unwind), wszystkie crossy AUD/JPY, NZD/JPY, GBP/JPY tracą jednocześnie. 6 kolejnych strat — przy WR 35% to normalna seria. Trader podwaja sizing: „system działa, to tylko seria, odrabiam". Kolejne 4 straty przy 6% ryzyka per trade i rosnącej korelacji crossów (z ~0,6 do bliskiej 1,0): drawdown −34% w 3 tygodnie. Konto zamknięte. Tabela P(ruin) zakładała stały sizing i niezależne transakcje. Jedna ludzka decyzja o podwojeniu plus konwergencja korelacji — i matematyka przeżycia przestała działać. Przy zmieniającym się sizingu i clusteringu strat wzór Vince'a jest dekoracją; Monte Carlo na własnym rozkładzie R-multiple z modelowaniem decyzji o sizingu i korelacji jest jedyną rzetelną odpowiedzią.
MetrykaCo mierzyOrientacyjna wartośćPułapka
ExpectancyŚredni zysk per trade (w R)> +0,10R netto+0,10R może wystarczyć, ale jest wyjątkowo wrażliwa na koszty i degradację
Profit FactorZyski / straty1,3–2,5PF > 2,5 na >200 trade'ów = sprawdź overfitting
Payoff RatioRealizowany R:R> 1,0 (zależy od stylu)Porównaj z planned — różnica = execution leak
MaxDDNajgłębszy spadek equity< 20% (przy 1% risk)Głębokość to nie wszystko — liczy się też długość
Length of DDCzas w drawdownie< 3 miesiąceTo najczęściej łamie dyscyplinę, nie sama głębokość
P(ruin)Prawdop. bankructwa< 1%Wrażliwa na sizing — przy 3% ryzyka/trade skok jest wykładniczy

10. Najczęstsze błędy w interpretacji R:R i expectancy

Błąd 1: Ocena systemu po WR bez R:R

„Mam win rate 68% — mój system jest dobry!" Jeśli avgWin = 0,5R a avgLoss = 1,3R → expectancy = 0,68 × 0,5 − 0,32 × 1,3 = −0,076R. 68% trafności, a system traci. Bo przesuwasz SL (avgLoss > 1R) i obcinasz zyski (avgWin < 1R).

Błąd 2: Backtest expectancy = live expectancy

Klasyczny problem w retail FX: backtest pokazuje +0,22R, trader ryzykuje 1%, wszystko wygląda sensownie. Potem wchodzi live: gorszy spread w złych godzinach, kilka wejść w news, dwa paniczne manual close'e, jeden przesunięty SL, kilka overtrade'ów. Po 80 transakcjach zostaje +0,02R albo minus. Backtest nie zabił systemu. Zabiły go spread, slippage, złe godziny handlu i ręczne grzebanie przy pozycji.

Backtest expectancy vs live expectancy — schemat degradacji edge: planned +0,30R przez slippage, spread reżimowy, emocje i execution leak do realized +0,12R
Backtest expectancy vs live expectancy — schemat degradacji edge: planned +0,30R przez slippage, spread reżimowy, emocje i execution leak do realized +0,12R

Błąd 3: Za mała próbka — i jak to obejść bootstrappingiem

30 transakcji i expectancy +0,45R? Przy WR 50% i 30 transakcjach, 95% CI dla WR wynosi ±18%. Twoje „50%" może być 32% lub 68%. Minimum: 100 transakcji dla wstępnej oceny, 200+ dla decyzji operacyjnych. Im niższy WR, tym większa wymagana próbka.

Jeśli masz 80–120 transakcji i nie chcesz czekać kolejnych 100 zanim cokolwiek powiesz o expectancy — zrób bootstrap: losuj z powtórzeniami (sampling with replacement) próby po 200 wartości z twojej istniejącej puli i policz średnią dla każdej próby; powtórz 10 000 razy. Rozkład 10 000 średnich to przybliżenie rozkładu twojej expectancy. Jeśli 95% przedział ufności obejmuje wartości od +0,12R do +0,38R — twoja expectancy jest stabilnie dodatnia. Jeśli przedział to od −0,05R do +0,30R — nie masz jeszcze danych do twardych twierdzeń, mimo dodatniej średniej. Bootstrap zrobisz w Excelu (LOSUJ.ZAKR + tablica), w Pythonie (numpy.random.choice z replace=True) albo w R (sample z replace=TRUE) — bez zewnętrznego oprogramowania finansowego.

Błąd 4: Ignorowanie dystrybucji R-multiple i outlierów

System D: wyniki to +8R, –1R, –1R, –1R, –1R, –1R, –1R. Średnia: +0,29R. Usuń jedną dużą wygraną — expectancy schodzi do –0,85R. Jeśli >30% expectancy pochodzi z <5% transakcji — system jest kruchy i podatny na regimowe zmiany rynku. Mierz medianę, percentyle i udział outlierów.

Błąd 5: Przesuwanie SL „żeby poprawić R:R"

Setup z naturalnym SL 50 pipsów i TP 60 pipsów (R:R 1:1,2). Trader zacieśnia SL do 30 pipsów → R:R 1:2. Ale SL jest teraz w szumie cenowym, nie na punkcie invalidacji. WR spada z 58% do 35%, expectancy z +0,30R do –0,05R. SL jest funkcją struktury rynku, nie funkcją R:R.

Błąd 6: Expectancy bez segmentacji

Trader handluje EUR/USD, GBP/JPY, złotem. Liczy jedną expectancy: +0,18R. Wygląda OK. Ale GBP/JPY ma +0,39R, a krypto –0,15R. Agregat maskuje problem. Licz expectancy osobno:

  • per instrument (EUR/USD, GBP/JPY, XAU)
  • per sesja (Azja, Londyn, Londyn/NY overlap, NY late)
  • per typ setupu (breakout, pullback, mean reversion)
  • per reżim makro — system momentum może mieć expectancy +0,40R w risk-on (silny trend, niska korelacja wewnątrzrynkowa) i −0,10R w risk-off (wszystkie pary korekcyjne, VIX powyżej 25–30, spread na em-FX eksploduje). VIX > 25 albo gwałtowny ruch DXY warto traktować jako filtr systemowy: przy włączonym filtrze redukujesz size lub odpuszczasz setupy, które historycznie nie działają w tym reżimie

System może mieć edge na EUR/USD w overlapie i nie mieć edge na EUR/USD w Azji. Może mieć edge w trendzie i tracić w konsolidacji. Bez segmentacji — handlujesz uśrednioną iluzją.

Błąd 7: Ignorowanie korelacji ekspozycji (VaR)

Trader ma „5 setupów" — long EUR/USD, long GBP/USD, long AUD/USD, short USD/JPY, short USD/CHF. Myśli, że dywersyfikuje. W praktyce to jeden zakład: short USD. Korelacja EUR/USD–GBP/USD na D1 wynosi 0,85+. Jeśli USD rośnie — wszystkie 5 pozycji tracą jednocześnie. Expectancy portfelowa ≠ suma expectancy poszczególnych pozycji, jeśli pozycje są skorelowane. W instytucjach to liczy się jako Value at Risk (VaR) — jedna liczba mówiąca, ile możesz stracić na portfelu przy danym prawdopodobieństwie. W retail wystarczy prostsze narzędzie: licz ekspozycję netto na walutę, nie na pary. Jeśli 4 z 5 pozycji to de facto short USD — twoje ryzyko na USD jest 4× większe, niż myślisz.

Błędy w ocenie expectancy — segmentacja po instrumencie i godzinie, korelacja ekspozycji walutowej przy 5 pozycjach short USD
Błędy w ocenie expectancy — segmentacja po instrumencie i godzinie, korelacja ekspozycji walutowej przy 5 pozycjach short USD
War story: weekend gap i swing trader. Piątek 22:00 CET, zamykasz biuro. EUR/USD na 1,0850, twój SL na 1,0820. W weekend niespodziewane oświadczenie Fed, geopolityczny event. Poniedziałek 00:00 CET, rynek otwiera się na 1,0780. Twój SL realizuje się po 1,0780 — 40 pipsów poniżej zamiast planowanych 30 od entry. Nie –1R, ale –2,33R. Jeden weekend gap co kwartał, przy swing tradingu — i twoja expectancy ląduje 0,15–0,3R niżej rocznie, niż pokazuje backtest na danych intraday. Wlicz historyczną wielkość gapów (dostępne z danych OANDA/Dukascopy) w kalkulator oczekiwanego slippage overnight.
War story: pięć par, jeden zakład. Klasyczny retailowy samobój: pięć pozycji, każda „tylko 1% ryzyka". Long EUR/USD, long GBP/USD, long AUD/USD, short USD/CHF, short USD/JPY. Trader czuje dywersyfikację, bo widzi pięć różnych tickerów. Desk widzi jeden trade: short USD. Korelacja EUR/USD–GBP/USD na D1 wynosi typowo 0,80+; w risk-off skacze do 0,9+. Gdy USD robi gwałtowny squeeze po danych z rynku pracy, pięć pozycji nie traci 1%. Traci jak portfel zbudowany z jednego przelewarowanego poglądu — sumarycznie 4–5%. Operacyjnie: licz ekspozycję netto na walutę, nie liczbę tickerów. Cztery longi anty-USD = jedna pozycja short USD o łącznym ryzyku ~4%; jeśli twój portfolio heat ma być max 3%, jedna z tych pozycji nie powinna istnieć.
Ekspozycja netto na walutę dla portfela 5 pozycji „dywersyfikujących" (przykład z war story — pięć tickerów = jedna koncentracja USD)
Pięć tickerów → jedna ekspozycja short USD USD EUR GBP AUD CHF JPY Long EUR/USD (1%) −1 +1 0 0 0 0 Long GBP/USD (1%) −1 0 +1 0 0 0 Long AUD/USD (1%) −1 0 0 +1 0 0 Short USD/CHF (1%) −1 0 0 0 +1 0 Short USD/JPY (1%) −1 0 0 0 0 +1 Ekspozycja netto: −4 +1 +1 +1 +1 +1 Łączne ryzyko per waluta: ~4% ~1% ~1% ~1% ~1% ~1% Pięć pozycji × 1% ≠ 5% rozłożone w czasie. To ~4% short USD plus pięć przeciwwag po ~1%. W risk-off (USD squeeze, korelacje > 0,9) pięć tickerów schodzi razem — efektywnie jedna pozycja short USD.

11. Na co patrzeć zanim otworzysz pozycję

Zanim klikniesz „Buy" albo „Sell" — masz znać trzy liczby:

  1. R:R tego konkretnego setupu — ile R zyskujesz, jeśli trade pójdzie na TP. Nie „mój system ma R:R 1:2" — bo każdy trade jest inny. R:R wynika z setupu (SL na invalidacji, TP na strukturze)
  2. Expectancy netto twojego systemu — nie brutto z backtestu, ale po kosztach, slippage i execution leakage. Jeśli nie znasz tej liczby, nie wiesz, czy masz przewagę
  3. Wielkość pozycji — z modelu position sizingu dopasowanego do rachunku, ryzyka i P(ruin)

Przykład: expectancy netto przeliczona na miesięczny wynik

Bez tego liczbowego przykładu cała sekcja jest abstrakcją. Masz system z expectancy +0,18R brutto, koszt all-in 0,07R per trade → expectancy netto +0,11R. Ryzyko 1% per trade, 12 transakcji miesięcznie. Oczekiwany wynik: 12 × 0,11 × 1% = +1,32% miesięcznie przed błędami człowieka. Nie 10%, nie 30%, nie bajka z TikToka. To jest realna pula, z której odejmij manual deviation, miesiące słabego reżimu i okazjonalny gap weekendowy. Roczny CAGR oczekiwany przy stabilnym wykonywaniu: rzędu 10–14%. Jeśli plan zakłada znacznie więcej, pokaż, z której zmiennej równania to wynika — albo przyjmij, że plan jest życzeniem, nie modelem.

Checklista przed wejściem w pozycję — TAK/NIE

PytanieOdpowiedź problemowaDecyzja
Czy SL jest na punkcie
invalidacji setupu (nie w szumie)?
NieNie wchodzisz
Czy TP jest na realnej
barierze (struktura, ATR, VWAP),
nie odmierzony jako 2× SL?
NiePrzesuń TP albo odpuść
Czy R:R po doliczeniu
twojego all-in cost mieści się
powyżej breakeven dla twojego WR?
NieNie wchodzisz
Czy w ciągu 60 min jest
publikacja makro (NFP, CPI, FOMC, ECB)?
TakBrak trade'u albo zmniejszony size + GSLO jeśli dostępny. Nigdy nie zdejmuj SL na
5 minut przed newsem
— najczęstszy powód śmierci kont detalicznych
Czy pozycja przejdzie
przez rollover 22:00–00:00 CET?
TakZamknij przed 22:55 albo poszerz SL o 90. percentyl spreadu rolloverowego
Czy expectancy systemu
w tym reżimie (sesja, instrument,
makro) jest dodatnia?
Nie / nie wiemNie skaluj — testuj minimalnym sizem
Czy ta pozycja koreluje
z otwartymi (ekspozycja netto
USD/EUR/GBP > 2%)?
TakTraktuj sumę jako jedno ryzyko, redukuj size
Czy planowany R:R jest
na okrągłej cenie
(1,1000, 150,00)?
TakPrzenieś TP 2–5 pipsów przed poziom
Czy mój journal ma planned
R, actual fill i slippage
z ostatnich 30 dni?
NieWróć do logowania zanim podejmiesz większą decyzję

Jeśli na którekolwiek z tych pytań odpowiedź jest zła — nie tracisz okazji. Okazja, w którą wejdziesz bez tej checklisty, kosztuje cię więcej niż ta, którą odpuściłeś.

Pre-trade checklist R:R / expectancy — 9 pytań przed kliknięciem (narzędzie operacyjne; brak któregokolwiek punktu = nie masz procesu)
9 pytań TAK/NIE zanim klikniesz 1 SL na punkcie invalidacji Nie w szumie cenowym, nie odmierzony jako % od entry 2 TP na realnej barierze rynku Struktura, ATR, VWAP, Fibonacci — nie 2× SL z kalkulatora 3 R:R po kosztach > breakeven WR All-in cost (spread + prowizja + slippage + swap) wliczony 4 Brak NFP / CPI / FOMC / ECB w 60 min Albo brak trade'u, albo zmniejszony size + GSLO. SL zostaje 5 Pozycja nie przejdzie przez 22:55–23:10 CET Albo zamknij przed 22:55, albo poszerz SL o 90. percentyl 6 Expectancy w tym reżimie jest dodatnia Sesja, instrument, makro — segmentacja z journala 7 Brak korelacji ekspozycji > 2% per waluta Cztery longi anty-USD = jedna pozycja, nie cztery 8 TP nie stoi dokładnie na 1,1000 / 150,00 Przesuń o 2–5 pipsów przed klaster zleceń detalu 9 Journal aktualny: planned R, slippage, 30 dni Bez logu nie wiesz, czy realny edge jeszcze istnieje Wszystkie 9 = TAK → Buy / Sell Choć jedno NIE = okazja, którą lepiej odpuścić. Okazja, w którą wejdziesz bez tej checklisty, kosztuje cię więcej niż ta odpuszczona.

Operacyjne zasady — krótka lista

  • Loguj planned R, realized R i execution leak — każda transakcja, bez wyjątków
  • Segmentuj expectancy: per instrument, per sesja, per typ setupu, per reżim makro, per broker
  • Sprawdzaj reżim kosztów: ten sam setup o 10:30 i o 22:15 to dwa różne trade'y
  • Monitoruj jakość filli w czasie: porównaj pierwsze 3 miesiące z kolejnymi po skalowaniu wolumenu
  • Przy expectancy brutto poniżej +0,12R i koszcie per trade powyżej 0,05R margines bezpieczeństwa systemu netto jest poniżej 0,07R — jeden reżim podwyższonych spreadów zeruje tygodniowy zysk
  • Minimalna próbka do oceny: 100+ transakcji. Decyzyjna: 200+. Na live, nie na demo
  • MaxDD i length of drawdown decydują o przeżywalności — expectancy decyduje o rentowności. Potrzebujesz obu

Expectancy mierzy system na papierze — realizujesz ją na żywym rynku, trade po trade'dzie, w warunkach zmiennego spreadu, zmęczenia i presji. W następnym artykule (9.7) przechodzimy do tego, co robić z pozycją PO otwarciu: trailing stop, częściowe zamknięcia i techniki wyjścia, które decydują o tym, czy realizowany R:R będzie choć zbliżony do planowanego.

Twarde pytania, twarde liczby (FAQ)

Jaki minimalny R:R powinienem mieć na każdą transakcję?
Minimalne R:R to takie, które po odjęciu twojego średniego execution leakage i po uwzględnieniu najgorszej historycznej serii strat wciąż trzyma rachunek z dala od margin call. Scalper z R:R 1:0,7 na papierze jest rentowny — w reżimie podwyższonej zmienności jeden rozszerzony spread zeruje mu tydzień zysków. Reguła: R:R wynika z setupu (SL na invalidacji, TP na strukturze), nie z reguły w zeszycie. Jeśli wynikowy R:R po uwzględnieniu kosztów reżimowych jest poniżej breakeven — nie wchodź.
Jak raport COT zmienia ocenę expectancy systemu?
COT (Commitments of Traders) nie zmienia samej formuły expectancy — zmienia kontekst, w którym expectancy się realizuje. Gdy leveraged funds są w ekstremalnych pozycjach względem własnej historii, część strategii podążania za ruchem staje się bardziej podatna na wyczerpanie trendu lub gwałtowne odreagowanie. COT to filtr reżimu: mówi, czy twój edge ma wiatr w plecy czy w twarz. Nie daje sygnału wejścia — daje powód, żeby wstrzymać się od wejścia albo zmniejszyć sizing, kiedy rynek jest skrajnie zatłoczony w jedną stronę.
A-Book czy B-Book — jak rozpoznać model brokera?
Sprawdź execution policy w rejestrze regulatora (FCA, KNF, CySEC). Porównaj statystyki egzekucji: fill ratio, średni slippage na SL vs TP, czas egzekucji. Asymetryczny slippage (gorszy na SL niż na TP) to powód do głębszej diagnostyki, nie automatyczny dowód B-Booka — może wynikać też z samej dynamiki rynku. Porównuj notowania z więcej niż jednym niezależnym feedem referencyjnym (Dukascopy, LMAX, dane CME) — szpile nieobecne u innych dostawców to anomalie warte zbadania. Otwórz small account i obserwuj, czy czas egzekucji i kierunkowość slippage zmieniają się po zyskownych miesiącach. Bez własnego logu transakcji opowieść o „złym brokerze" jest tylko opowieścią.
Jak R:R i expectancy łączą się z position sizingiem?
Expectancy mówi, ile R zarabiasz per trade. Position sizing przekłada R na loty. Razem: expectancy × transakcje × risk% = wzrost equity. Przykład: +0,35R × 15/mies. × 1% = +5,25%/mies. Fixed fractional z artykułu 9.5 pilnuje, żeby to 1% było konsekwentne. Expectancy bez sizingu to liczba. Sizing bez expectancy to precyzyjne zarządzanie stratami.
Jak uwzględnić swap w kalkulacji expectancy?
Oblicz średni koszt swapu na transakcję: (średnia liczba dni w pozycji) × (swap dzienny) / (ryzyko w USD). Np. swing EUR/USD, 4 dni, swap –5 USD/lot/dzień, 0,30 lota, ryzyko 250 USD → koszt = 4 × 5 × 0,30 / 250 = 0,024R per trade. Dodaj do all-in cost. Dla par carry-positive (long na walucie z wyższą stopą) swap może być pozytywny i dodawać do expectancy.
Ile transakcji potrzebuję, żeby expectancy była wiarygodna?
Przy WR 50% i 30 transakcjach, 95% przedział ufności dla WR wynosi ±18%. Twoje „50%" może być 32% lub 68%. Minimum: 100 transakcji dla wstępnej oceny, 200+ dla decyzji operacyjnych. Im niższy WR (trend-following), tym większa wymagana próbka — bo większość wyniku pochodzi z kilku dużych wygranych. Licz na live, nie na demo — demo nie uwzględnia execution leakage.
Czy tick volume z MT4/MT5 wystarczy do oceny siły ruchu?
Na Forex spot nie ma centralnego wolumenu (rynek OTC). MetaTrader pokazuje wolumen tickowy — liczbę zmian ceny na jednostkę czasu. Na głównych parach tick volume często bywa silnie skorelowany z aktywnością obserwowaną na rynku futures, ale nie jest to to samo co scentralizowany wolumen rynku. W momentach kluczowych (flash crash, low-liquidity gap) ta korelacja odpada. Alternatywa: wolumen z CME futures (EUR/USD futures) jako proxy dla prawdziwego flow. Nie buduj fałszywej pewności na tick volume, jakby to był scentralizowany tape.

Źródła i bibliografia

  1. Tharp V.K., Trade Your Way to Financial Freedom, McGraw-Hill, 2006. R-multiple, dystrybucja R, expectancy, position sizing game.
  2. Tharp V.K., Definitive Guide to Position Sizing Strategies, IITM, 2008. Rozszerzenie koncepcji R-multiple i expectancy w kontekście sizingu.
  3. Schwager J.D., Market Wizards, Wiley, 2012. Wywiady z traderami — WR, R:R, zarządzanie ryzykiem, psychologia serii strat.
  4. Kaufman P., Trading Systems and Methods, Wiley, 2019 (6th ed.). Profit Factor, expectancy, metryki systemowe, backtesting biases.
  5. Pardo R., The Evaluation and Optimization of Trading Strategies, Wiley, 2008. Overfitting, sample size, walk-forward analysis.
  6. Faith C., Way of the Turtle, McGraw-Hill, 2007. Breakeven WR, R:R w systemie trend-following, equity curve profil.
  7. ESMA, Final Report: Product intervention measures on CFDs, 2018 — historyczne ramy regulacyjne i statystyki strat klientów detalicznych (zakres 74–89% rachunków stratnych raportowany przy okazji wprowadzania ograniczeń produktu). Aktualne risk warningi brokerów CFD pod MiFID II publikują bieżący odsetek (typowo 70–80%) w ostrzeżeniu na stronie głównej; sprawdź wartość u swojego brokera, nie cytuj liczby z 2018 r. jako bieżącej.
  8. Lo A.W., Hasanhodzic J., The Evolution of Technical Analysis, Wiley, 2010. Degradacja edge'u, regime change, backtesting biases.
  9. Vince R., The Mathematics of Money Management, Wiley, 1992. Expectancy, optimal f, probability of ruin, relacja sizing–expectancy–drawdown.
  10. Covel M., Trend Following, FT Press, 2009. Profil WR/R:R systemów trend-following, psychologia niskiego WR, outlier dependency.
  11. BIS, Triennial Central Bank Survey: OTC Foreign Exchange Turnover, 2022. Struktura rynku FX, wolumen, fragmentacja płynności.
  12. CFTC, Commitments of Traders Reports. Pozycjonowanie spekulantów i hedgerów jako kontekst dla expectancy systemowej.
  13. Global Foreign Exchange Committee, FX Global Code, edycja aktualna — Principle 17 (last look), zasady transparentności egzekucji w electronic FX (kontekst dla execution leakage detalu).
  14. CME Group, FX Futures and Options product specifications (6E EUR/USD, 6B GBP/USD, 6J USD/JPY) — wolumen, open interest i godziny sesji jako proxy dla rzeczywistej aktywności OTC FX.
  15. Dukascopy / TrueFX / OANDA API — niezależne tickowe / M15 dane historyczne do weryfikacji egzekucji u brokera, mierzenia 90. percentyla gap size weekendowych i logu spreadu reżimowego.
  16. Efron B., Tibshirani R., An Introduction to the Bootstrap, Chapman & Hall, 1993 — metodologiczne podstawy bootstrappingu używanego do oceny stabilności expectancy na małych próbkach 80–120 transakcji.
  17. ESMA / FCA, MiFID II — RTS 27 / RTS 28 best execution reporting — historyczne ramy raportowania jakości egzekucji. Status raportowania po 2021–2024 r. zmieniał się; własny log planned vs executed risk pozostaje najbardziej aktualnym źródłem prawdy o egzekucji u twojego brokera.
  18. Alpari (UK) Limited — FCA Special Administration / FSCS, ogłoszenia z 19.01.2015 i kolejnych miesięcy. Niewypłacalność brokera detalicznego po szoku EUR/CHF z 15 stycznia 2015 (zniesienie peg przez SNB).
  19. FXCM Inc. (obecnie Global Brokerage / Stratos) — komunikaty inwestorskie i raporty 8-K z 16–19.01.2015 dot. ekspozycji klientów po szoku CHF oraz pakietu finansowania awaryjnego od Leucadia National Corp. (ok. 300 mln USD), publikowane na SEC EDGAR.

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