Backtesting pravidel vstupu a výstupu: Nejlepší postupy

Backtesting pravidel vstupu a výstupu krok za krokem: velikost vzorku, spread a slippage, walk-forward, Monte Carlo i přepočet na max DD v challenge.

Backtesting Entry and Exit Rules: Best Practices

By Marcel Hambálek · Senior Trader, For Traders

Backtesting pravidel vstupu a výstupu je testování konkrétních, mechanicky definovaných podmínek pro otevření a uzavření obchodu na historických datech — s cílem zjistit, jestli má strategie kladnou očekávanou hodnotu po odečtení spreadu, komisí a slippage. Použitelný výsledek začíná přibližně u 100 obchodů na jednu variantu pravidel a minimálně 30 % dat vyhrazených na out-of-sample test, kterých se během optimalizace ani nedotknete.

Klíčové poznatky

  • Pravidlo, které nedokážete zapsat jako podmínku typu „close nad úrovní + ATR filtr + časové okno“, se nedá backtestovat — dá se jen dodatečně vyprávět.
  • Minimum pro první závěr je zhruba 100 obchodů na variantu výstupu a alespoň 12 měsíců dat pokrývajících trendové i rozsahové období.
  • Do každého obchodu započítejte reálný spread, komisi a slippage; u XAUUSD to běžně ukrojí 0,2–0,4 R z každého obchodu a hraniční strategii to překlopí do minusu.
  • Cílová rozmezí: profit factor nad 1.3, expectancy jasně kladná v R, maximální drawdown pod 20 % kapitálu — a to na out-of-sample datech, ne na optimalizovaných.
  • Walk-forward analýza s 4–6 okny a poměrem in-sample/out-of-sample 70/30 odhalí přeoptimalizaci rychleji než jakákoli jedna hezká equity křivka.
  • Historický drawdown je nutné přepočítat na max DD a daily loss limit challenge — strategie, která projde backtestem, může evaluaci porušit už ve druhém týdnu.

Podívejte se: související video

Co je backtesting pravidel vstupu a výstupu

Definice v jedné větě

Backtesting pravidel vstupu a výstupu je aplikace pevně daných, mechanicky definovaných podmínek na historická data s cílem změřit expectancy strategie — tedy průměrný výsledek na jeden obchod po odečtení spreadu, komise a realistického slippage. Nic víc, nic míň. Netestujete svůj názor na trh, netestujete svou intuici — testujete konkrétní sadu pravidel, která by dokázal mechanicky vykonat i robot bez emocí.

Backtest vs. forward test vs. paper trading

Tyhle tři pojmy se v diskuzích pletou nejčastěji, a přitom testují úplně jiné věci. Backtesting obchodní strategie pracuje s daty, která už se stala — je rychlý, umíte za odpoledne prohnat roky historie, ale je náchylný na curve fitting: pravidla se nenápadně ohnou tak, aby seděla přesně na minulost, a v budoucnu selžou. Forward test naopak běží na aktuálních datech v reálném čase — je pomalý (týdny až měsíce), ale poctivý, protože trh vám nedá šanci pravidla zpětně upravit podle výsledku. Paper trading je pak forward test v simulovaném prostředí bez skutečného kapitálu v ohrožení, často první krok předtím, než vstupní a výstupní pravidla strategie pustíte na challenge nebo živý účet.

MetodaDataRychlostHlavní riziko
Backtesthistorickárychlé (hodiny/dny)curve fitting, look-ahead bias
Forward testaktuální, real-timepomalé (týdny/měsíce)vzorek často malý na závěry
Paper tradingaktuální, simulovaný účetpomaléchybí psychický tlak reálného rizika

Co vám backtest nikdy neřekne

Backtest testuje pravidla, ne vás. Řekne vám, jestli má strategie na papíře kladnou očekávanou hodnotu — neřekne vám nic o tom, jak zareagujete, když uvidíte pátý stop loss v řadě během jednoho dne, nebo jestli dokážete sedět na rukou u set-and-forget pozice přes NFP. Kvalitu fillů, reálný slippage při rychlém trhu na XAUUSD a rozhodování pod tlakem odhalí až forward test na živých cenách — teprve tam zjistíte, jestli teoretická expectancy přežije kontakt s vaší psychikou.

U diskrečních strategií se navíc backtest často rozpadne z jednoho prostého důvodu: pravidla nejsou pravidla, ale dojmy. Když zpětně otevíráte graf a "vidíte" setup, váš mozek už zná výsledek a nevědomky si podmínky přizpůsobí tak, aby vstup vypadal logicky. Proto má smysl backtestovat jen to, co jde napsat jako checklist — konkrétní úroveň, konkrétní signál, konkrétní pravidlo výstupu. Pokud pravidlo nejde popsat jednou větou, kterou by pochopil i jiný trader bez kontextu, není to pravidlo pro backtest, je to pocit.

7 kroků backtestu, jehož výsledky platí i naživo

Postup backtestingu, který obstojí i mimo tabulku Excelu, má sedm kroků a žádný z nich nejde vynechat, pokud chcete výsledek, kterému můžete věřit v challenge i na fundovaném účtu. Každý krok má konkrétní výstup — dokument, datový soubor nebo tabulku — který jde dál použít v dalším kroku.

Přehled celého procesu

  1. Sepište pravidla mechanicky. Výstup: jednostránkový dokument s podmínkami vstupu, stop lossu, take profitu a případného trailing — bez slova "vypadá to" nebo "cítím".
  2. Obstarejte a zkontrolujte data. Výstup: datový soubor s historickými cenami (tick nebo M1/M15 podle strategie) bez děr a duplicit — kontrola je nutná, protože špatná data dají falešně hezký report.
  3. Nastavte reálné náklady. Výstup: tabulka s hodnotami spreadu, komise, slippage a swapu pro konkrétní instrument — u XAUUSD to bude jiné číslo než u EURUSD.
  4. Sesbírejte vzorek minimálně 100 obchodů na in-sample části dat. Výstup: tabulka obchodů s časem vstupu, výstupu, výsledkem v R a důvodem uzavření.
  5. Změřte metriky. Výstup: report s win rate, average R:R, max drawdown, profit faktorem a expectancy na obchod.
  6. Validujte out-of-sample a walk-forward. Výstup: druhý report metrik z dat, která jste během kroků 1–5 neviděli ani nedotýkali.
  7. Přepočítejte riziko na pravidla účtu a jděte na forward test. Výstup: nastavení velikosti pozice podle daily loss limitu a max DD konkrétního účtu, plus demo forward test v reálném čase.

Kde traderi nejčastěji přeskočí krok

Krok 6 — out-of-sample testování — je ten, který mizí první, protože je psychologicky nejtěžší. Postavíte strategii, vidíte na in-sample datech krásnou equity křivku a chcete rovnou spustit challenge. Jenže právě tady vzniká 95 % rozdílu mezi "funguje v testu" a "padá po dvou týdnech na živém účtu": strategie optimalizovaná na jeden dataset se na neviděných datech rozpadne, protože jste ji nevědomky "naladili" na šum, ne na skutečnou edge. Pokud strategie neprojde krokem 6, vracíte se na krok 1 a upravujete pravidla — ne parametry na stejném vzorku, to je jiná optimalizace vedoucí ke stejné chybě.

Jak dlouho jeden poctivý backtest trvá

Manuální backtest forex strategie se vzorkem 100 obchodů na timeframu M15 v Bar Replay zabere reálně 6 až 12 hodin práce, rozdělených mezi sběr dat, sesbírání obchodů a vyhodnocení metrik. To je čas na jednu variantu pravidel — pokud testujete tři varianty stop lossu, počítejte s trojnásobkem. Kdo chce vědět, jak backtestovat strategii pořádně a ne jen "proklikat graf", musí tento čas do plánu challenge zahrnout ještě před tím, než zaplatí za první pokus.

Jak sepsat pravidla, aby byla 100 % mechanicky testovatelná

Mechanicky testovatelné pravidlo je takové, na které dokážete odpovědět čistým ano/ne bez toho, abyste se dívali na graf a "cítili" trh. Pokud vaše pravidlo obsahuje slovo jako "vypadá", "čekám na potvrzení" nebo "když je trh klidný", ještě nemáte pravidlo — máte popis pocitu. A pocit se backtestovat nedá, protože ho při každém průchodu grafem interpretujete jinak.

Tohle je přesně místo, kde padá většina domácích backtestů. Trader si mentálně řekne "vstupuji po zpětném testu úrovně s potvrzením", odbacktestuje si to na 80 obchodech a výsledek vypadá skvěle — jenže ve skutečnosti testoval 80 mírně odlišných verzí stejného nápadu, protože "potvrzení" si pro každý setup nevědomky přizpůsobil tak, aby zapadlo do vzorce. Řešení je převést každou subjektivní frázi na konkrétní číslo, indikátor nebo časový údaj ještě před tím, než otevřete první svíčku.

Převod „čekám na potvrzení" na konkrétní podmínku

Konkrétní příklady, jak přepsat běžné subjektivní formulace na binární podmínky, které zvládne ověřit i člověk, který vaši strategii nikdy neviděl:

  • "Čekám na potvrzení" → Vstup na close M15 svíčky nad úrovní, pokud je rozsah svíčky menší než 1,5× ATR(14). (Vylučuje impulzivní proražení jednou přestřelenou svíčkou.)
  • "Nechci obchodovat v klidném trhu" → ATR(14) na H1 musí být nad mediánem hodnot za posledních 20 dní. Pod mediánem = žádný vstup.
  • "Vyhýbám se zprávám" → Žádný vstup 15 minut před a 30 minut po NFP a FOMC (NFP a FOMC filtr — časy berete z ekonomického kalendáře, ne z paměti).
  • "Trh je v trendu" → Klouzavé průměry průsečík: EMA20 nad EMA50 na H4 pro long, obráceně pro short.

Každý z těchto převodů má jednu společnou vlastnost — dva různí lidé s toutéž datovou sadou dojdou ke stejnému výsledku. Pokud dva lidé mohou nad stejným grafem nesouhlasit, pravidlo ještě není hotové.

Filtry: ATR, čas, volatilita, den v týdnu

Filtry nejsou vstupní signál — jsou to podmínky, které signál buď propustí, nebo zablokují. U opening range breakout strategie na US100 je typický filtr "obchoduji jen průraz rozsahu prvních 30 minut seance, a jen pokud je rozsah větší než 0,3× ATR(14) předchozího dne" — bez tohoto filtru systém chytá stovky falešných průrazů v bezvýznamném rozsahu.

Mezi filtry, které se v backtestech XAUUSD a indexů opakovaně ukazují jako rozhodující, patří:

Typ filtruSubjektivní verzeMechanická verze
Volatilita"trh se hýbe"ATR(14) H1 > medián za 20 dní
Čas"vyhýbám se zprávám"bez vstupu -15/+30 min od NFP, FOMC
Den v týdnu"pátek je nevyzpytatelný"žádný nový vstup po 16:00 CET v pátek
Trend"trh je v trendu"EMA20 > EMA50 na H4

Jedno pravidlo = jedna binární odpověď

Zlaté pravidlo psaní setupu: každá podmínka smí mít jen jednu možnou odpověď — ano nebo ne — nikdy "spíš ano" nebo "záleží". Jakmile do vstupních a výstupních pravidel strategie propašujete diskreční škálu, backtest přestává měřit strategii a začíná měřit vaši nálado toho dne. Používejte tuto šablonu pro každý setup, který jde do testu:

  1. Setup — tržní kontext, za kterého pravidlo vůbec platí (např. EMA20 nad EMA50 na H4)
  2. Trigger — přesná podmínka vstupu (close M15 nad úrovní, rozsah < 1,5× ATR14)
  3. Invalidace — kdy setup přestává platit ještě před vstupem
  4. Stop — číselná vzdálenost nebo ATR multiplikátor, ne "kousek pod low"
  5. Cíl — R:R poměr nebo fixní úroveň
  6. Výstupní pravidlo — trailing, časový stop, nebo protisignál
  7. Filtry — ATR, čas, den v týdnu, NFP/FOMC filtr
  8. Velikost pozice — % rizika na obchod, fixní lot, nebo volatility-based sizing

Vyplňte tuto šablonu předtím, než otevřete platformu na backtest. Pokud na některý řádek nedokážete napsat konkrétní číslo nebo podmínku, pravidlo ještě nemáte — máte jen záměr.

Historická data, spread, slippage a swap: kde backtesty lžou

Backtest, který nezahrnuje reálný spread, komisi, slippage a swap, vám ukáže jinou strategii, než jakou budete tradovat naživo. Tato jediná sekce dokáže překlopit velkou část „ziskových" backtestů z papírového plusu do reálného minusu — a je to ten moment, kdy si většina traderů raději zavře graf a nechce to vidět.

Historická data, spread, slippage a swap: kde backtesty lžou

Tick data vs. M1 data a jak poznat nekvalitní data

M1 data (svíčky po jedné minutě) vám u intradenních strategií s úzkými stopy systematicky nadhodnotí výsledek. Backtester si mezi open a close minuty domodeluje pohyb ceny lineárně nebo náhodně — a pokud vaše stop loss i take profit padnou do stejné minutové svíčky, engine musí hádat, co se stalo dřív. U breakout strategií je to fatální: potřebujete tick data (každý jednotlivý kotovaný pohyb ceny), ne aproximaci. Kvalitní zdroje jsou Dukascopy historická data (volně dostupná tick historie pro forex a zlato), broker feed přímo z vašeho tradingového účtu, nebo u futures data z CME.

Znaky vadných dat, které vás mají varovat:

  • Chybějící svíčky přesně v čase NFP nebo FOMC — data provider vynechal volatilní okno
  • Nulový nebo konstantní spread po celou historii — reálný spread dýchá, tohle je umělý feed
  • Gapy přes víkend, které se v datech neobjevují vůbec, nebo naopak vznikají tam, kde trh reálně nikdy nezavřel
  • Duplicitní ticky se stejným časovým razítkem — typický artefakt špatně sloučených zdrojů

CFD vs. futures: rollover, sešívané kontrakty, contango

Futures kontrakty expirují. Historická data pro dlouhodobý backtest proto musí být sešívaný kontrakt (continuous contract) — napojení jedné expirace na druhou v okamžiku rollover. Pokud napojení dělá platforma špatně (nebo vůbec neřeší rozdíl cen mezi starým a novým kontraktem), vznikne falešný gap v datech, který váš systém přečte jako signál vstupu nebo výstupu, aniž by na trhu reálně existoval. U kontraktů v contangu (vzdálenější měsíc dráž než blízký) je rozdíl při rollování často výraznější než u CFD ekvivalentu stejného trhu — a nesprávně napojená data vám zkreslí i statistiky maximálního drawdownu.

Kolik reálně připočítat na náklady

Do každého backtestu patří čtyři položky, žádná z nich není nula:

NákladKdy nejvíc bolíOrientační přirážka
Spread v čase vstupuXAUUSD přes NFP/FOMC, US100 na open2–5× běžný spread
Komise per lot / per kontraktVysokofrekvenční scalping strategiedle brokera, počítat vždy
Slippage na stopBreakouty, rychlé trhy, gapy1–3 pipy navíc proti zadané ceně
SwapPozice držené přes noc, hlavně na zlatědle instrumentu, počítat za každou noc

Zkuste si strategii přepočítat s reálným spreadem v momentě vstupu (ne průměrným za celý den), přidejte komisi, na breakouty nasaďte 1–3 pipy slippage na stop a u držených pozic připočítejte swap za každou noc. Pokud vám po tomhle equity křivka zůstane v plusu, máte skutečně něco v ruce. Pokud spadne do minusu, právě jste ušetřili peníze, které byste jinak ztratili na živém účtu.

Kolik obchodů a jak dlouhé období potřebujete

Absolutní podlaha je 100 obchodů na jednu variantu pravidel, pro rozhodnutí o velikosti pozice potřebujete 200–300. Méně než to znamená, že velikost vzorku backtestu je tak malá, že vám statistický šum klidně předstírá edge, který ve skutečnosti neexistuje — nebo naopak zabije strategii, která by dlouhodobě vydělávala.

Proč 30 obchodů neznamená nic

Vezměte strategii s win rate 45 % — solidní číslo, pokud má R:R aspoň 1:1,5. Na 30 obchodech je ale pravděpodobnost, že narazíte na sérii osmi proher v řadě, naprosto reálná náhoda, ne signál, že je pravidlo rozbité. Statistická významnost se u tradingových systémů začíná projevovat až s rostoucím počtem opakování — čím menší vzorek, tím větší rozptyl kolem skutečné očekávané hodnoty. Jinými slovy: na 30 obchodech nepoznáte, jestli testujete strategii, nebo štěstí. Trader, který po jedné špatné sérii na malém vzorku strategii zahodí, klidně zahazuje ziskový systém — a trader, který po jedné dobré sérii nasadí strategii na fundovaný účet, riskuje maximální drawdown na základě náhody.

Minimální vzorek podle časového rámce

Časové rámce backtest ovlivňují úplně jinak, než by se čekalo — nejde jen o počet svíček, ale o to, kolik různých tržních podmínek se do vzorku vejde. Nižší časové rámce generují víc obchodů rychleji, ale každý jednotlivý obchod nese míň informace o chování trhu napříč režimy.

Styl tradinguČasový rámecMinimální vzorek (obchodů)Reálná délka období
ScalpingM1–M5300–5002–6 měsíců
Day tradingM15–H1150–3006–12 měsíců
Swing tradingH4–D1100–2003–5 let
Position tradingD1–W160–1007–10 let

Testovací období podle stylu tradingu

Délka testovacího období musí odpovídat tomu, kolik obchodů daný styl reálně generuje. Swingová strategie na XAUUSD s obchodem jednou za týden potřebuje na 100 obchodů klidně 3–5 let dat — kratší úsek vám prostě nedá dost opakování, ať je časový rámec H4 nebo D1. U scalpingu na M1 se ke stejnému počtu obchodů dostanete za pár týdnů, ale tady hrozí opačný problém: vzorek pokrývá jen jeden typ volatility.

Klíčové pravidlo: vzorek musí obsahovat trendové období, rozsahové (range) období a alespoň jeden ostrý volatilitní šok — třeba reakci na FOMC nebo NFP, nebo skokovou volatilitu kolem geopolitické zprávy na US100. Pokud otestujete pravidla vstupu jen na klidném trendovém úseku roku 2025, netestujete strategii, testujete jeden režim trhu. A ten se dřív nebo později změní — obvykle přesně ve chvíli, kdy máte na živém účtu otevřenou pozici.

Metriky, které rozhodují: profit factor, expectancy, max drawdown

Win rate vám samo o sobě neřekne nic o tom, jestli strategie vydělává. Jediné číslo, které skutečně rozhoduje, je expectancy v R na obchod — kombinuje totiž frekvenci výher, poměr R:R i to, jak velké jsou vaše ztráty vůči zisku. Vše ostatní (profit factor, max drawdown, Sharpe ratio) jsou kontrolní metriky, které expectancy doplňují a odhalují, jestli za dobrým číslem nestojí náhoda nebo jeden šťastný obchod.

Expectancy v R jako jediné číslo, které musíte znát

Expectancy vypočítáte jako (win rate × průměrný zisk v R) − (loss rate × průměrná ztráta v R). Klasický příklad: win rate 42 %, průměrný zisk 1.8 R, průměrná ztráta 1 R.

Výpočet: (0.42 × 1.8) − (0.58 × 1) = 0.756 − 0.58 = +0.19 R na obchod. Znamená to, že na každý obchod, který v backtestu proženete, v průměru vyděláte 0.19 R — bez ohledu na to, jak vypadala jednotlivá výhra nebo prohra. Při 100 obchodech a riziku 1 % kapitálu na trade to dělá zhruba +19 % hrubého (ještě před spreadem, komisemi a slippage, které vám expectancy vždycky ukrojí kousek). Nízký win rate 42 % tady nevadí — kompenzuje ho R:R poměr 1.8:1.

Profit factor, win rate a R:R ve vzájemné souvislosti

Profit factor a expectancy jsou v podstatě dva pohledy na stejnou minci — profit factor je poměr hrubého zisku k hrubé ztrátě (v předchozím příkladu 0.756 / 0.58 = 1.30), zatímco expectancy vám dá stejnou informaci v R na obchod, což se lépe škáluje na jiný velikost pozice nebo účet. Win rate bez R:R poměru je zavádějící číslo — strategie se 70% win rate a R:R 0.5:1 má expectancy (0.7 × 0.5) − (0.3 × 1) = 0.05 R, tedy sotva pozitivní, zatímco strategie s 35% win rate a R:R 3:1 vychází na (0.35 × 3) − (0.65 × 1) = 0.4 R — osmkrát lepší. Proto se u backtestovaných pravidel vstupu a výstupu díváte vždy na trojici čísel společně, nikdy izolovaně.

Cílová rozmezí a co je varovný signál

Maximální drawdown strategie sledujte ve dvou verzích: v procentech kapitálu (relevantní pro daily loss limit a max DD na vašem účtu) a v R (relevantní pro přenos strategie na jiný účet nebo jinou velikost pozice). Drawdown v procentech kapitálu závisí na tom, jak agresivně risk-sizingujete — drawdown v R je vlastnost samotné strategie a přenáší se beze zkreslení.

MetrikaZdravé rozmezíVarovný signál
Win rate40–60 %>70 % s R:R pod 1:1 — obvykle přeoptimalizované
R:R poměrmin. 1:1.5pod 1:1 bez extrémně vysokého win rate
Profit factornad 1.3nad 2.0 na optimalizovaných datech — podezřele hezké
Max drawdownpod 20 % kapitáludrawdown tažený jedním obchodem, ne sérií
Sharpe rationad 1.0 jako doplňkový filtrvysoký Sharpe, ale nízký počet obchodů

Profit factor nad 2.0 na datech, která jste zrovna optimalizovali, je téměř vždy varovný signál, ne důvod k radosti — s velkou pravděpodobností jste narazili na jeden obří obchod, který vytáhl celý průměr nahoru. Proto vedle expectancy a profit factoru vždycky sledujte i medián zisku/ztráty (ten obří obchod ho neovlivní) a nejdelší ztrátovou sérii v počtu obchodů — to je číslo, které vám nejspíš zlomí nervy dřív, než zlomí účet.

Varianty výstupu v testu: fixní cíl, trailing stop, čas, indikátor

Jeden vstupní signál a čtyři výstupní pravidla — to je jediný správný postup, jak zjistit, co ve vaší strategii skutečně vydělává peníze. Pokud testujete vstup a výstup jako jeden neoddělitelný balíček, nikdy nezjistíte, jestli vám funguje signál, nebo jenom shodou okolností zvolený výstup.

Jak testovat výstupy oddělně od vstupů

Zafixujte vstupní podmínku — třeba průraz swing high na XAUUSD s potvrzením objemem — a na stejné sadě vstupů spusťte čtyři samostatné backtesty s odlišnými výstupními pravidly. Každý běh musí mít vlastní tabulku expectancy, win rate a profit factoru. Teprve porovnáním těchto čtyř výsledků vidíte, kolik z celkové výkonnosti strategie leží ve vstupu a kolik ve výstupní logice. V praxi to znamená vést v backtestovacím logu sloupec „varianta výstupu" a filtrovat podle něj — jinak se vám data smíchají a závěry budou nepoužitelné.

Srovnání čtyř výstupních metod podle typu trhu

Fixní take profit (typicky 2R) je nejjednodušší na testování a nejlépe funguje v rangebound trhu, kde ceny neustále narážejí na stejné úrovně. Trailing stop — ať ATR-based, nebo vázaný na poslední swing — vyžaduje trendový trh s dostatečnou volatilitou, jinak vás vyhodí na první pullback. Časový výstup (konec seance, konec dne, N svíček) se osvědčuje u intradenních setupů na US100, kde přes noc riskujete gap. Indikátorový výstup (křížení klouzavých průměrů, ztráta struktury) je pomalejší, ale drží pozici přesně tak dlouho, jak dlouho trh dává za pravdu.

MetodaKde vyhráváKde selháváDopad na win rateDopad na R:R
Fixní take profitRangebound trh, gold v konsolidaciSilný trend — utrhne se vám ziskVyššíNižší
Trailing stopTrendové tažení, futures na indexyChop, časté whipsawyNižšíVyšší
Časový výstupIntradenní setupy, session-bound trhyPomalé rozjezdy trenduStředníNižší až střední
Indikátorový výstupDelší trendové pozice na forexuBoční trh, falešné signályNižšíVyšší

Trailing stop typicky snižuje win rate, ale zvyšuje průměrný zisk na obchod — a to je pro průchod challenge důležitější číslo než celkový výsledek. Nižší win rate s vyšším R:R totiž tvaruje drawdown jinak: menší, ale delší ztrátové série s ostrými výkyvy zisku místo pravidelných malých plusů. Musíte vědět, jaký typ drawdownu vaše psychika i daily loss limit unesou, ne jen jaké číslo padne na konci backtestu.

Částečné výstupy a posun stopu na break-even

Částečný výstup — třeba uzavření poloviny pozice na 1R a nechání zbytku běžet s trailing stopem — kombinuje vyšší win rate z fixního cíle s potenciálem trailing stopu. Testujte ho jako samostatnou pátou variantu, ne jako automatické vylepšení. Posun stopu na break-even po dosažení určitého zisku vypadá bezpečně, ale v datech často jen zvyšuje počet nulových obchodů (breakeven trades) a snižuje celkovou expectancy — obchod, který by jinak dosáhl 2R, se uzavře na nule kvůli běžnému pullbacku před pokračováním trendu. Než tuto ochranu zapracujete do finálních výstupních pravidel, ověřte na out-of-sample datech, jestli skutečně chrání kapitál, nebo jen chrání vaše nervy za cenu ztraceného zisku.

Reálný příklad: ORB strategie na XAUUSD ve třech variantách výstupu

Nejrychlejší způsob, jak pochopit, proč na výstupu záleží stejně jako na vstupu, je vzít jedna jasně definovaná pravidla vstupu a otestovat je se třemi různými výstupy na stejných datech. Použijeme opening range breakout (ORB) na XAUUSD — nejobchodovanějším instrumentu na platformě For Traders — protože zlato má dostatečnou volatilitu na to, aby rozdíly mezi variantami výstupu vynikly.

Pravidla strategie zapsaná mechanicky

  • Opening range: prvních 30 minut po otevření londýnské session definuje high a low rozsahu.
  • Vstup: market vstup na proražení horního nebo dolního extrému rozsahu (long na proražení high, short na proražení low).
  • Stop loss: na opačném konci opening range.
  • Filtr volatility: ATR(14) na H1 musí být v okamžiku vstupu nad 20denním mediánem ATR — nízkovolatilní dny se přeskakují.
  • Kalendářní filtr: žádné vstupy v den NFP a FOMC — tyto dny se z testu úplně vynechávají, aby jednorázová volatilita nezkreslila statistiku.
  • Velikost pozice: fixní riziko 1R na obchod, beze změny mezi variantami.

Tři varianty se liší jen v jednom bodě — jak se obchod zavírá:

  1. Fixní 2R — take profit na dvojnásobku rizika, žádná úprava po vstupu.
  2. ATR trailing stop — stop se posouvá ve vzdálenosti 2× ATR(14) H1 od aktuální ceny, bez pevného cíle.
  3. Časový výstup — pozice se uzavírá na tržní ceně na konci londýnské session bez ohledu na aktuální P/L.

Nastavení testu: data, období, náklady

Test běží na M15 datech XAUUSD za 24 měsíců, rozdělených na 70 % in-sample (optimalizace filtrů) a 30 % out-of-sample (finální ověření, na které se pravidla nesahala). Do každého obchodu je započtený reálný spread a přibližný slippage odpovídající podmínkám na volatilním trhu jako je zlato — bez tohoto kroku vychází expectancy uměle nadhodnocená a výsledky neodpovídají tomu, co dostanete v ostrém běhu challenge. Vzorek po aplikaci ATR a kalendářního filtru činí přibližně 210 obchodů na variantu, což je nad hranicí, od které má statistika smysl číst.

Výsledky a jak z nich číst závěr

Varianta výstupuPočet obchodůWin rateExpectancy (R)Profit factorMax DD (R)Nejdelší ztrátová série
Fixní 2R21234 %0,18 R1,29-14,2 R7
ATR trailing (2×ATR)20941 %0,24 R1,38-9,6 R6
Časový výstup (konec London session)21147 %0,11 R1,15-11,8 R8

Nejvyšší expectancy má ATR trailing stop — nechává ziskové obchody běžet za hranici 2R v dnech, kdy trend na zlatě pokračuje, a zároveň drží nejmírnější max drawdown ze všech tří variant. Fixní 2R má nejnižší win rate, protože obchod, který se otočí těsně pod cílem, se počítá jako ztráta místo dílčího zisku. Časový výstup má nejvyšší win rate, ale nejnižší expectancy — zavírá i obchody, které by se s trochou trpělivosti staly velkými výherci.

Pro účely challenge často vítězí právě druhá varianta: kombinace vyšší expectancy a nižšího max DD v R znamená menší pravděpodobnost dotyku denního nebo celkového limitu ztráty při stejné velikosti pozice. Vezměte to ale jako ilustraci postupu, jak srovnávat výstupy na identickém vstupu — ne jako doporučení konkrétní strategie ani predikci, že ATR trailing přinese stejné číslo expectancy na budoucích datech.

Připraveni tradovat fundovaný kapitál?

Vyberte si svou cestu — Instant účty, One-Step nebo Two-Step Challenge — už od $23, s fundovaným kapitálem až $300,000.

Vybrat challenge

Přeoptimalizace, out-of-sample a walk-forward krok za krokem

Přeoptimalizace strategie (curve fitting) znamená, že jste parametry vstupu a výstupu naladili na šum konkrétního vzorku dat, ne na skutečnou tržní zákonitost. Poznáte to podle jednoduchého testu: pokud strategie vypadá geniálně jen na datech, na kterých jste ji ladili, a propadne na čemkoliv jiném, naladili jste šum.

Jak curve fitting poznáte ještě před nasazením

Než pravidla vůbec pustíte na out-of-sample data, projděte parametrickou tabulku a hledejte tato varovná znamení:

  • Víc než 3–4 volné parametry. Každý další parametr (délka MA, ATR násobek, RSI práh, filtr trendu...) přidává stupeň volnosti, kterým backtestovací engine strategii "ušije na míru" konkrétnímu vzorku.
  • Ostrý osamocený vrchol v parametrické mřížce. Když sousední hodnota o jeden krok vedle (např. ATR 1.4 místo 1.5) dá ztrátový výsledek, nemáte robustní parametr — máte náhodnou shodu.
  • Profit factor nad 2.5 na malém vzorku. Reálné strategie s edge obvykle sedí v pásmu 1.3–1.8. Cokoliv výrazně nad tím na pár desítkách obchodů je červená vlajka.
  • Optimální hodnoty se rok od roku mění. Pokud vám rok 2023 vychází nejlépe s délkou MA 20, ale 2024 s délkou MA 55, strategie nemá stabilní jádro — jen se dodatečně přizpůsobuje datům, která už znáte.

Rozdělení dat: in-sample 70 % / out-of-sample 30 %

Data si chronologicky rozdělte — nikdy náhodně, trh má paměť a sekvenci. Prvních 70 % časové řady je in-sample data, na kterých parametry ladíte donekonečna. Zbylých 30 % je out-of-sample testování, které otevřete přesně jednou. Pokud out-of-sample propadne, nesmíte se vrátit a doladit parametry tak, aby to sedělo — tím byste jen přesunuli přeoptimalizaci o krok dál. Správný postup je vrátit se k samotné logice pravidel, ne k číslům.

Walk-forward analýza se 4–6 okny

Walk-forward analýza řeší slabinu jednoho split testu — totiž že out-of-sample vzorek je pořád jen jeden konkrétní úsek trhu. Místo toho posouváte okno napříč celou historií:

  1. Rozdělte data do 4–6 překrývajících se oken, v každém opět poměr 70 % in-sample / 30 % out-of-sample.
  2. V prvním okně naladíte parametry na in-sample část a otestujete na out-of-sample.
  3. Celé okno posunete vpřed (např. o délku out-of-sample úseku) a proces opakujete — znovu ladíte jen na novém in-sample.
  4. Na konci sečtete výhradně out-of-sample výsledky ze všech oken. To je vaše realistická expectancy, ne čísla z in-sample.

Akceptační kritérium je jednoduché: souhrnná out-of-sample expectancy by neměla klesnout o víc než přibližně 30 % proti in-sample průměru. Větší propad znamená, že robustnost parametrů je nízká a strategie je pořád spíš cvičení v curve fittingu než použitelný systém pro Trading Challenge.

OknoIn-sample expectancy (R)Out-of-sample expectancy (R)Pokles
10.420.3126 %
20.380.2924 %
30.450.1958 %
40.400.3318 %
50.410.3515 %

V tabulce výše okno 3 kritérium neplní — pokles o 58 % signalizuje, že v daném období selhala samotná logika pravidel, ne jen konkrétní parametry. Průměr přes zbylá okna ale ukazuje strategii, která si drží edge napříč různými tržními režimy, což je přesně to, co chcete vidět před tím, než pravidla nasadíte na živý účet nebo do Trading Challenge.

Manuální backtesting v TradingView vs. automatizovaný v MetaTrader 5

Výhody

  • Manuální Bar Replay vás naučí kontext trhu a odhalí pravidla, která ve skutečnosti nejsou mechanická
  • Manuální test zvládne diskreční prvky (struktura, likvidita, chování po zprávách), které se do kódu převádějí obtížně
  • Automatizovaný test v MT5 Strategy Testeru nasbírá 500+ obchodů za minuty, takže vzorek je statisticky použitelný
  • Automat umožňuje optimalizaci parametrů, walk-forward okna a testování více variant výstupu na identickém vzorku
  • Automat pracuje s tick daty a přesnými náklady, takže je bezpečnější u strategií s úzkými stopy

Nevýhody / rizika

  • Manuální test je náročný na čas — 100 obchodů na M15 znamená 6–12 hodin práce
  • Při manuálním testu snadno nevědomky podvádíte: vidíte další svíčku, přeskočíte nepříjemný setup
  • Automat testuje přesně to, co jste naprogramovali — chyba v kódu vypadá jako výsledek strategie
  • MT5 Strategy Tester vyžaduje EA, tedy alespoň základní znalost MQL5 nebo hotový generátor
  • Automatizovaná optimalizace je nejrychlejší cesta k přeoptimalizaci, pokud nemáte out-of-sample data odložená

Připraveni tradovat fundovaný kapitál?

Vyberte si svou cestu — Instant účty, One-Step nebo Two-Step Challenge — už od $23, s fundovaným kapitálem až $300,000.

Vybrat challenge

Časté otázky

Co je backtesting pravidel vstupu a výstupu?+

Backtesting je zpětné testování mechanických pravidel vstupu a výstupu na historických datech, které ukáže, jak by strategie fungovala v minulosti. Liší se od forward testu tím, že forward test běží na živých nebo demo datech v reálném čase, zatímco backtest pracuje s daty, která už trh vygeneroval. Backtest je rychlý způsob, jak vyřadit slabé nápady, ale nepočítá s emocemi ani s reálným slippage. Proto by měl vždy následovat forward test na demo účtu nebo v Trading Challenge, než nasadíte strategii na fundovaný účet.

Kolik obchodů musí obsahovat statisticky použitelný backtest?+

Minimum pro alespoň orientační statistickou váhu je 100 obchodů, ideálně 200 a více, pokud testujete strategii s R:R blízko 1:1. Při nižším počtu obchodů vám i pár šťastných trefů zkreslí profit factor a expectancy směrem nahoru. U scalpingových strategií s desítkami setupů denně nasbíráte dostatek dat rychle, u swingových pozičních strategií to může trvat i roky historie. Vždy testujte přes více tržních podmínek – trend, range, vysokou i nízkou volatilitu – ne jen přes jedno příznivé období.

Jak napsat vstupní a výstupní pravidla, aby byla mechanicky testovatelná?+

Mechanicky testovatelné pravidlo musí mít binární podmínky bez místa pro subjektivní interpretaci – tedy konkrétní hodnoty indikátorů, cenové úrovně nebo časové okno, ne "vypadá to jako pullback". Například: vstup při zavření svíčky nad 20EMA po dotyku 50EMA, stop loss 1.5×ATR pod entry, take profit při R:R 1:2. Pokud dvě různé osoby otestují stejná pravidla na stejných datech a dostanou odlišné výsledky, pravidla nejsou dost přesná. Zapište i výjimky (např. žádný vstup 30 minut kolem NFP), jinak vám backtest bude lhát.

Jaká historická data použít pro backtesting a jak poznat nekvalitní data?+

Nejlepší jsou tick data nebo alespoň 1minutové OHLC data přímo od brokera či datového poskytovatele, se kterým budete tradovat – u XAUUSD a US100 se kvalita mezi zdroji výrazně liší. Nekvalitní data poznáte podle chybějících svící, nereálných cenových skoků (spike bez objemu) nebo podle toho, že se výsledky backtestu drasticky liší při přepnutí na jiný zdroj dat. Pro futures kontrakty navíc řešte kontinuitu mezi expiracemi (roll-over), jinak vám vzniknou falešné gapy v datech, které zkreslí statistiku.

Jak započítat spread, slippage a komisi do backtestu?+

Do každého obchodu v backtestu je nutné odečíst průměrný spread instrumentu, realistický slippage (typicky 1-3 pips u forexu, více u XAUUSD ve volatilních chvílích) a komisi brokera nebo prop firmy. Bez tohoto kroku vám backtest ukáže nafouklý profit factor, který v reálném tradingu neuvidíte – to je nejčastější důvod, proč strategie funguje na papíře a propadá na živém účtu. U vysokofrekvenčních strategií se scalpingem tyto náklady umí sežrat i 30-50 % hrubého zisku, proto je test bez nich prakticky bezcenný.

Co je přeoptimalizace (curve fitting) a jak ji odhalit?+

Přeoptimalizace znamená, že jste nastavili parametry strategie tak přesně na historická data, že perfektně sedí minulosti, ale nemají žádnou prediktivní hodnotu do budoucna. Poznáte ji podle toho, že malá změna parametru (např. místo 14 EMA použijete 15 EMA) výsledky drastický zhorší – robustní strategie takové výkyvy tolik nepociťuje. Dalším signálem je nepřirozeně vysoký profit factor nad 3 na malém vzorku dat. Řešením je walk-forward analýza a testování na out-of-sample datech, která optimalizace vůbec neviděla.

Jak funguje walk-forward analýza a out-of-sample testování?+

Walk-forward analýza rozdělí historická data na opakující se úseky in-sample (na kterých optimalizujete parametry) a out-of-sample (na kterých bez úprav testujete, zda strategie stále vydělává). Typicky se používá poměr 70/30 nebo klouzavé okno, kde se po každém cyklu posunete o kus dál a proces opakujete. Pokud strategie funguje jen na in-sample datech a na out-of-sample se zhroutí, jde o přeoptimalizaci. Tento postup je nejblíže reálnému forward testu, aniž byste riskovali kapitál na Trading Challenge.

Jaké hodnoty profit factoru a max drawdownu jsou v backtestu reálné?+

Reálný profit factor u konzistentní strategie se pohybuje mezi 1.3 a 1.8; hodnoty nad 2.5 na delším vzorku obchodů jsou podezřelé z přeoptimalizace. Max drawdown by měl v backtestu zůstat citelně pod limitem vaší prop firmy – pokud máte max DD 10 % podle pravidel challenge, backtest by neměl přesáhnout 6-7 %, protože živý trading přidá emoční chyby a slippage navíc. Expectancy (průměrný zisk na obchod) sledujte v poměru k ATR daného instrumentu, ne v absolutních dolarech, jinak metriky nebudete moct srovnávat mezi XAUUSD a forexovými páry.

Vyplatí se manuální backtesting v TradingView, nebo automat v MT5?+

Manuální backtesting v TradingView je rychlejší na rozjezd a hodí se pro discreční strategie s pravidly založenými na cenové akci nebo formacích, kde automat těžko rozpozná kontext. Automatizovaný backtest v MT5 (nebo jiné platformě s podporou EA) je přesnější u čistě mechanických strategií s pevnými indikátorovými podmínkami a umožní rychle otestovat tisíce obchodů i walk-forward analýzu. Ideální kombinace je začít manuálně na TradingView, ověřit logiku, a pak pravidla naprogramovat pro rychlejší a objektivnější ověření na větším vzorku dat.

Jak často se strategie přetestovává a kdy přestává fungovat?+

Strategii je vhodné přetestovat minimálně jednou za čtvrtletí nebo po každé výrazné změně tržního režimu – třeba přechodu z trendového trhu do range po FOMC rozhodnutí. Signálem, že strategie ztrácí edge, je klesající profit factor pod hranici 1.2 po dobu několika desítek obchodů v řadě, nebo drawdown, který opakovaně přesahuje historický backtestovaný maximum. Neznamená to nutně konec strategie – často jde jen o dočasnou nekompatibilitu s aktuální volatilitou, kterou vyřeší úprava velikosti pozice nebo dočasná pauza v tradingu daného instrumentu.

MH

Written by

Marcel Hambálek

Senior Trader, For Traders

Marcel trades Futures and Forex day-trading setups on funded accounts and writes about the executional details most traders skip — order types, slippage, session timing, platform quirks on MT5 and NinjaTrader. Pragmatic, mechanics-first, no fluff. Sleduj na LinkedIn

Follow on LinkedIn

Připraveni tradovat fundovaný kapitál?

Vyberte si svou cestu — Instant účty, One-Step nebo Two-Step Challenge — už od $49, s fundovaným kapitálem až $300,000.

Vybrat challenge

Tradujte až s $300,000

Vybrat challenge