Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Automatické obchodní systémy: životnost a risk-management (1/3)


Doporučené příspěvky

  • Odpovědí 42
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Dejvid,

záleží, čemu říkáte aktualizace.
Re-optimalizace parametrů spíše nepomůže, občas však může. Záleží také, zda-li systém už od začátku stavíte a testujete s cílem pravidelné re-optimalizace. Pak musíte mít ale několik walk-worfard analýz a u každé simulovat re-optimalizaci. Tj. historická data rozdělit do několika re-optimalizačních "oken" a přímo otestovat, jak pak vypadají výsledky, pokud se dělá pravidelná re-optimalizace.
Změna timeframe občas pomoci může. Je to ale často už taková loterie. Nedá se však paušalizovat - je to dost individuální, systém od systému.

Link to comment
Sdílet pomocí služby

Ja som využíval AOS trochu inak. Mal som ho nastavený len „demo“ s tým, že keď sa mnou nastavené podmienky v AOS na trhu splnili tak som dostal SMS. Po tomto upozornení som buď situáciu zoobchodoval alebo nezobchodoval live / posudzoval som diskréčne/. Keď že som dostával 1-3 signály za týždeň tak mi to pripadalo veľmi vhod. Škoda by bolo prepásť každý signál. Teraz však moja platforma toto neumožňuje a ja prichádzam o obchodné signály. Tiež konzistencia môjho obchodovania utrpela. Neostáva mi nič iné ako sa tejto situácii prispôsobiť. :S

Link to comment
Sdílet pomocí služby

sals3r0:
Chtěl jsem to dát do tvého vlákna o predikci časových řad, ale sem se to možná hodí více. Zajímal by mě tvůj (nebo kohokoliv jiného) názor na následující hypotetický experiment:

Řekněme, že bych ti dal časovou řadu (třeba OHLCV data, nebo cokoliv bys chtěl), která by byla generovaná čistě náhodným procesem v exaktním slova smyslu (a nikoliv s normálním rozdělením). Tato řada by měla ze statistického hlediska „všechny“ vnější podobnosti se skutečnými trhy (rozdělení s tlustými konci, shlukování volatility, návrat volatility výnosů k průměru, korelace volatility a objemu, absence autokorelace výnosů na větších TF atd.). Ty bys ale neměl informaci, že se jedná o náhodná data, to bych věděl jen já. Ponechme zatím stranou diskuzi jestli lze nebo nelze udělat náhodný generátor který to generuje a předpokládejme že ano (možný přístup k tomuto je přes Agent Based Modeling).

Když si ta moje náhodná data zobrazíš do grafu, tak uvidíš všechny možné patterny TA – double top/bottom, head and shoulders, odrazy od Fibonacci levelů, odrazy od MA, trendy na všech time framech, range úseky, trendové kanály, kulaté hodnoty na cenové ose, které fungují jako S/R, klasické S/R, různé candlestick formace, mean reverting, patterny pro RSI, CCI atd. – prostě uvidíš cokoliv (subjektivně i objektivně pomocí SW pro vyhledávání objektivně definovaných patternů). To pochopitelně uvidíš i na datech generovaných třeba geometrickou náhodnou procházkou s normálním rozdělením, což si můžeš ověřit třeba v excelu. Záměrně jsem proto uvedl „složitější“ náhodný proces, abych ti zabránil sofistikovanějšími postupy odhalit, že se jedná o „falešná“ náhodná data a ne o skutečný trh.

Ty teď na moje data nasadíš nějaké svoje metody pro předpovídání dalšího vývoje, které bez ohledu na sofistikovanost použité metody VŽDY v principu vycházejí z minulých dat a z toho, že rozpoznají v uvedených datech „nějaký obecný pattern“ – nikoliv nutně pouze cenový – ve smyslu že když se stalo tohle, tak pak je statisticky významně větší pravděpodobnost, že se v nějakém časovém horizontu stane něco jiného. Oprav mě prosím, pokud je tomu jinak.

Vzhledem k tomu, že tvůj „backtest“ nebo „učení“ proběhlo na KONKRÉTNÍM a KONEČNÉM vzorku dat a vzhledem k tomu, že náhodný proces z principu neobsahuje žádnou šanci na předpovězení budoucích hodnot z minulých hodnot (předpovědní hodnota jakéhokoliv statistického „paternu“ je pro hodně velkou nebo „nekonečnou“ délku dat 50/50), tak přesto téměř JISTĚ při backtestu objevíš nějaké patterny se statisticky významnou hodnotou úspěšnosti - pokud projedeš dostatečně velkou množinu pravidel a parametrů. Ty „úspěšné“ patterny ale půjdou vždy pouze na vrub náhodných statistických fluktuací, tj. konkrétnímu průběhu mnou dodaných náhodných dat pro backtest a říká se tomu přeoptimalizace, curvefitting apod. Trendy nebudou ani perzistentní, ani antiperzistentní z dlouhodobého hlediska, leda tak z hlediska konkrétního „relativně krátkého„ backtestovaného vzorku.

Pokud bys na těch „patternech“ nebo “pravidlech pro obchodování“ založil obchodní systém, tak by mohl klidně třeba chvíli vydělávat, třeba i delší dobu, ale z principu věci z dlouhodobého hlediska by byl na nic. Vzhledem k mean reverting by pravděpodobně při dobrých výsledcích v backtestu šel ke dnu hned po nasazení na živá data (tj. aplikaci na další kus náhodné časové řady, kterou bych ti dodal později).

Ty tedy aplikuješ své metody, najdeš patterny (vstupy a parametry pro „předpovídání budoucnosti“) a s výkřikem heuréka se vrhneš na „trh“. Jak to dopadne je z krátkodobého hlediska ve hvězdách, ale z dlouhodobého hlediska je to bez šance.

A teď druhá varianta. Co kdyby ta mnou dodaná data nebyla čistě náhodná, ale obsahovala nějakou využitelnou informaci, „zašuměnou“ náhodnou složkou. Z vnějšího statistického pohledu by se neodlišovala od těch prvních náhodných. Tvoje metody a systémy by také našly nějaké statisticky významné „vstupy, patterny a pravidla“. Jaká je šance takového systému ve srovnání s tím předchozím případem náhodných dat? Klíčová otázka: Jak poznáš, jestli tyhle nové patterny a pravidla nevychází také pouze z náhodných statistických fluktuací a že skutečně využívají část informace, obsažené v backtestovací množině? Můžeš si samozřejmě udělat Monte Carlo simulace a intervalové odhady apod., ale faktem zůstává, že to stejně nepoznáš, resp. ne včas.

Výše popsané je mimo jiné v kostce důvod, proč mají obchodní systémy obecně krátkou životnost - protože vycházejí nikoliv z nějakého skutečného „edge“ (natož časově stabilního), ale z náhodných statistických fluktuací tj. nejčastěji z iluze. Pod pojmem „pochopení edge“ mám na mysli využití částečné neefektivity tj. částečné nenáhodnosti trhu skrze porozumění struktuře trhu tj. charakteru procesu, který generuje časové řady cen, volume apod. Edge v žádném případě neznamená, že budeš mít samé výhry, ale že z dlouhodobého hlediska jsou karty rozdány ve tvůj prospěch. Z čistě náhodného procesu žádné edge nejde vytěžit ani sebesofistikovanější metodou. Samozřejmě že na skutečných datech teoreticky lze narazit na edge i tvým přístupem, ale jak říkám, nikdy nebudeš vědět, jestli to není díky náhodné fluktuaci a při menším drawdownu systém zbytečně odstavíš díky pochybnostem. Taky lze s libovolným systémem mít štěstí klidně i dlouhou dobu, pokud bude trh naladěn na stejnou notu jako obchodní systém. Sám uvaž, jestli např. tenhle problém může nějak vyřešit často doporučovaný walk forward přístup.

Není to jen nějaká sranda poznámka na okraj. Jedná se o zásadní problém technické analýzy, backtestování, návrhu obchodního systému, automatických obchodních systémů, obecně systematického tradingu jako takového.

Výše uvedené je sice pouze můj osobní pohled na věc, ale není nijak osamocený. Zajímal by mě tvůj (nebo kohokoliv) pohled na tenhle problém, nebo jak to řešíš. Díky.

Link to comment
Sdílet pomocí služby

Heron:
Tak tohle je rozhodne velmi zajimavy prispevek, moje obecna odpoved by byla asi "tezko rict"...kazdopadne bych to moc rad vyzkousel :)
Moje postrehy:
1) Bude asi pomerne slozite navrhnout takovy random generator, ktery bude splnovat vyse uvedena pravidla...osobne netusim, jak bych to resil...ty bys byl schopny takovy nejaky vyvinout?
2) Otazka je, pokud s danym generatorem nahodnych rad splnis vsechny parametry vyse uvedene, jestli uz tam z principu nejake patterny nezavleces (patterny, ktere se budou opakovat jak na mnozine kterou mi poskytnes, tak na mnozine, kterou si nechas pro sebe - out of sample)...do jake miry to bude porad jeste "nahodna rada"
3) Pokud opravdu nebudou existovat zadne patterny, ktere by se opakovaly, tak zrejme uz to selze primo na walk forward procesu (ano, walk forward analyza je zakladem meho frameworku, dokonce v nekolika vrstvach, pouzivam walk forward zejmena na optimalizaci vstupnich features a SVM parametru a dalsi testy) - tady uz to imho skonci s podezrele spatnym vysledkem, protoze na trenovacich mnozinach budou jine "patterny" nez na validacnich/testovacich mnozinach, tim padem si SVM zrejme vubec neskrtne...

Kazdopadne dik za dobry napad, bylo by pro me dobry mit nejakou takovou testovaci umelou radu jako "benchmark" pro srovnani s vysledky testovani realnych trhu...

Obchodni systemy maji obecne kratkou zivotnost, protoze - bud na zadnem edge nestoji a funguji jen nahodou, nebo se edge pomalu vytrati...ja se snazim jit jinou cestou - o vyvoj systemu, ktery je schopen urcite male (ale postacujici) edge znovu a znovu sam nalezat...samozreme do nekonecna to fungovat nebude, ale je vetsi sance, ze to bude fungovat dele nez klasicky postup jak vytvaret AOS (myslenka - overeni - implementace - backtest - optimalizace - papertrading - real trading - drawdown - ukonceni - myslenka - overeni - ....)

Link to comment
Sdílet pomocí služby

sals3r0:
Díky za odpověď. Technickou stránku problému ponechme stranou. Byl to jen takový myšlenkový experiment. Nejspíš by to bylo opravdu velmi těžké udělat tak, aby to bylo čistě náhodné a přitom to mělo všechny parametry skutečného trhu – proto jsem záměrně napsal slovo „všechny“ do uvozovek – myslel jsem jen takové, abys nepoznal podvrh. Jakmile totiž dokážeš poznat náhodný podvrh od skutečnosti, tak tím zároveň dokážeš odhalit jaký je mezi nimi rozdíl tj. nenáhodnou složku – a to je to co potřebuješ najít pro funkční systém. Patternů tam samozřejmě bude mnoho a mnoho, všechny ale budou pro reálné využití k ničemu. Podstatu mojí narážky jsi ale zřejmě pochopil viz tvůj závěr proč je krátká životnost obchodních systémů: buď nikdy žádné edge nevyužívaly nebo se vytratilo s časem. Přitom téměř všichni byli přesvědčeni, že mají skutečné trvalé nebo aspoň dlouhodobé edge.

Svým předchozím příspěvkem jsem v zásadě chtěl říci asi tohle:
Existují různé přístupy k návrhu/work flow/backtestování/používání obchodních systémů, v zásadě ale spadají někam do následujících skupin:

1) Rozumím vnitřní struktuře procesu, který generuje vstupy pro můj OS (znám jak funguje trh „zevnitř“) tj. vycházím z REALITY (zejména trhu) a z POROZUMĚNÍ této realitě. Pokud v tom naleznu nějakou využitelnou neefektivitu, tak vím odkud a proč plyne moje edge a jaké jsou vyhlídky na to, že to bude fungovat v budoucnu. Bude to založeno na něčem, co nějak vychází z pricipu logiky věci. Na základě toho postavím systém. Potom nemusím nic optimalizovat, backtestovat (prakticky samozřejmě backtest provedu pro zjištění ostatních parametrů a abych se ujistil, že to tak opravdu funguje) a můžu být vcelku klidný při živém obchodování, že to bude fungovat bez větších zádrhelů víceméně stejně třeba celý život, nebo vím v jakém rozsahu se to bude pohybovat a proč. Vím tedy, že systém nemá dobré výsledky kvůli náhodě, ale kvůli využívání skutečného reálného edge. Vím potom, jestli je to edge časově stabilní nebo dočasné a na čem závisí. Jsem si plně vědom toho co dělám a proč. Tenhle přístup je mému srdci nejbližší, ale není to taková legrace jak to možná vypadá.

2) Nějakým jiným způsobem (datamining, optimalizace backtestu, pokus/omyl, ...) a to korektním způsobem zjistím pravidla a parametry obchodního systému, který vykazuje v backtestu dobré a robustní výsledky. Potom se snažím pochopit, jak a proč by tato pravidla a parametry měli vyplývat z reality. Pokud na to přijdu, tak jsem objevil edge jiným přístupem, ale vím, že ho mám. Důsledek je stejný jako u 1. přístupu. Jiný přístup, stejné výsledky. Pro mě taky schůdná cesta.

3) Nějakým jiným způsobem (datamining, optimalizace backtestu, pokus/omyl, ...) zjistím pravidla a parametry obchodního systému, který vykazuje v backtestu dobré a robustní výsledky, ale nepodaří se mi najít a pochopit realitu, ze které by to mělo vyplývat. Třeba proto, že díky použité metodě to není z principu možné, nebo na to prostě nepřijdu. Pak to můžu používat, ovšem s vědomím že nevím, jestli využívám nějaké reálné edge nebo jsou dobré výsledky jen dílem náhody. Robustnost z backtestu na tom nic nezmění – může jít jen o dočasnou „robustnost“. Nevím o ničem, jak odlišit takto „z vnějšku“ skutečné edge od náhody. To že jste provedli backtest na 100.000 obchodech a všechno je krásné a robustní ještě není žádnou zárukou, že to bude fungovat i v budoucnu. Totéž platí i pro forward testy. Záleží to na postupu při tvorbě systému a postupu při testování (počet stupňů volnosti, přeoptimalizace - zjištění výsledků z příliš velké množiny pravidel a parametrů bez adjustování výsledků z ohledem na to, atd.). Pokud se to udělá profesionálně, je tady šance i přesto, že neidentifikuji svoje reálné edge. Možný přístup, ale dobrý pocit bych z toho neměl, falešného zlata najdete mnohonásobně více, než pravého. Do téhle kategorie spadá většina mechanických/automatických systémů. Jejich životnost záleží na kvalitě provedení a na náhodě.

4) Naivní přístupy – zjistím nějakým způsobem pravidla a parametry obchodního systému, který vykazuje v backtestu „dobré“ výsledky, ovšem ignoruji při tom důležité zásady pro tvorbu a testování systému, nerozumím ničemu v pozadí trhů ani návrhu systémů a ani mě to nezajímá, hlavně když equity křivka krásně roste. Kašlu na nějaké testy robustnosti apod. Šance na úspěch: téměř nulová. Klasický postup všech začátečníků (PS: všichni si touhle fází prošli, protože zkušenost je nepřenositelná)

Pokud walk forward jenom periodicky optimalizuje nějaké parametry, které s reálným edge nesouvisí, tak se jen adjustuje na minulá data a výsledky obchodování jsou jen dílem náhody. Pokud na to jdeš jinak, pak OK, jen nevím jestli to je ještě walk forward nebo nový cyklus vývoje dalšího systému, ale to je jedno. Na slovech nezáleží, důležité je rozumět tomu co děláš a proč.

Zásadní pro přístup podle 2 a 3 je právě správný úhel pohledu, korektní postup a interpretace výsledků. To že mi to něco najde ještě neznamená, že to k něčemu je – rozumíme si, že :)

Tohle všechno je také jen jedna část problému. Pokud dobrý systém v praxi špatně používáte (špatný risk management), tak je to na nic. Mít edge je podmínka nutná, nikoliv postačující. Mít dobrý risk management je podmínka nutná, nikoliv postačující. A pak ještě konzistence při používání a další věci. Když máte edge a dobrý risk management, tak je trading super zábava. V opačném případě to chce hledat dál. Risk management je rozhodně ta lehčí část.

Link to comment
Sdílet pomocí služby

Heron:
Děkuji za skvělý příspěvek. Mohl bys prosím trochu rozvést bod 1)? Předpokládám, že do něj můžou spadat např. různé mikroekonomické a makroekonomické teorie, ale pomohl by mi nějaký příklad, abych pochopil, co máš přesně na mysli. Pak bych se chtěl ještě zeptat, jestli se konkrétně Tobě podařilo nějaký AOS, který dlouhodobě úspěšně obchoduješ, již vytvořit, a zda spadá do bodu 1) či 2). Děkuju.

Link to comment
Sdílet pomocí služby

Zaujimave a zavazne informacie. Identifikacia toho, kedy AOS prestal fungovat je z mojho pohladu velky problem.
Bezim par mesiacov jeden trendfollowing AOS v simulatore, za zatial vykazuje obdobne vlastnosti ako v backteste - rok a pol dozadu.
Z pohladu vsetkych uvedenych informacii by to mal byt nekvalitny AOS, pretoze funguje len v jednom TF a s malym rozptylom paramterov a len v jednom trhu.

Priznam sa, ze mi vrta v hlave informacia, ze AOS je vtedy dobry, ked funguje pri roznych nastavenich a pripadne roznych trhoch.
Bolo by skutocne idealne nieco take najst a povazoval by som to za onen "holy grail" o existencii ktoreho sa da uspesne pochybovat. Mam pocit, ze kazdy trh je specificky - iny, a iny je podla mna aj kazdy TF v tom istom trhu.

Moj sucasny zaver je, ze je nutne trh co najviac respektovat a nechat ho dychat. Trhu je jedno, ze si nastavim ze budem riskovat najviac 100$ a ocakavat profit 200$ - ak je takyto zamer v rozpore s trhom, je to 100% cesta do straty - cestou vykrvacania cez stop-lossy.
Dalej - minimum optimalizacii. Pridam BE - vykon AOS ide dole, pridam Trailing stop - vykon AOS dole, vyriesim nejaky problem nejakeho viditelne kriklaveho stratoveho obchodu - vykon AOS ide dole, pridam PT - vykon AOS ide dole.

S cim MOZNO ma AOS problem je vcas identifikovat zmenu aktualnej volatility - je otazka, ci sa to da.
Tiez predpokladam, ze sa v nejakych obdobiach meni celkova povaha trhu - co AOS vonkoncom nedokaze identifikovat - zatial ani ja pohladom na grafy.
K tomu mi ale pasuje napad zastavenia AOS pri 1-2 nasobku max DD z backtestu.

Pokusal som sa to riesit tak, ze som si napisal AOS, ktory pocas svojho behu vnutorne simuluje obchodovanie na viacerych TF naraz a na ostre obchodovanie odporuci ten s najlepsim equity.
Zial, bez podstatneho zlepsenia vykonu AOS.

Ten najlepsi vykon mi dava to, co je najmenej obmedzovane, pricom ponechanym/nutnym obmedzenim je identifikacia chopu, zaciatku a konca trendu.

Berte to prosim ako sucasne zavery vyvjajuceho sa snad v buducnosti tradera.
(momentalne v krize, lebo mi dosli napady na take obmedzenie, ktore by prekonali vykon minimalne obmedzeneho AOS) :)

Link to comment
Sdílet pomocí služby

2 Heron 12:17PM

No tak to je velmi zajimava myslenka na kterou zkusim zareagovat (To vase vlakno jak stavite atomovou ponorku na obezne draze vam necham.. To mi uz hlava nebere) :)
Prvne jedna poznamka... To je vsechno hezky co tam pises a ma to zrejme i hlavu a patu, ale zapominas na jednu vec. A sice psychologii davu. Tim padem tvoje generovana data k pokusu budou o tuto slozku ochuzena a cele to prestava davat smysl (IMHO) Vysvetlim... Ja si postavil (rucne) obchodni system vyuzivajici aspekty chovani davu, a prihodil k tomu nejake sve veci. To cele jsem si pak naprogramoval jako "automat" (pro predstavu... kdyz jsem ladil jen takovou vec jako je krizeni dvou EMA - dilci informace v systemu - tak tento "podsystem" ma 22 vstupnich parametru) a cele to bez problemu funguje, protoze tento system zahrnuje psychologii davu. Otazka zni, jestli je to vubec AOS v te podobe, jaka je zde chapana, prezentovana a diskutovana. Takze co se tyce tveho "pokusu" s generovanymi daty, mas zrejme pravdu, ale takto bych ja system asi nestavel. Pak se lehce dostanes do avizovanych problemu casoveho omezeni.

Paradoxem je, ze i kdyz mi tento system funguje jak na TFku, tak na NQ, protoze je opravdu extremne flexibilni, tak obchoduji "rucne" system trosku modifikovany a vyuzivam jen informace o vystupech, protoze "rucne" dosahuji lepsich vysledku. Takze tak. Ale jak rikam, mozna AOS ve vasem podani (myslim i to vlakno proc nefunguji statisticke analyzy...) je uplne o necem jinem nez jak to chapu ja.

At se dari
Rob

Link to comment
Sdílet pomocí služby

BobSk:
Nevidím důvod proč by tvůj systém nemohl být kvalitní. Stejně tak nevidím jasný "důkaz" že kvalitní je - to můžeš posoudit jen ty. Kvalitní a funkční systém nemusí nezbytně fungovat na všech trzích - pokud byl navržen specificky na jeden konkrétní trh. Hypotetický příklad: řekněme že existuje nějaký fundamentální vztah třeba mezi akciemi a dluhopisy. Ty třeba zjistíš, že trh s dluhopisy zavírá v 15:00 ale akcie se obchodují do 16:00 resp 16:15, a že pokud se dluhopisy chovaly nějak, tak po zavření se akcie chovají nějak. Pokud by tam byla nějaká opodstatněná souvislost (nebo aspoň by to tak podle testů vypadalo), tak můžeš udělat systém který tuto jedinečnou souvislost bude systematicky využívat např. při obchodvání futures na indexy. Je jasné, že na ropě nebo na kukuřici takový systém fungovat nebude, leda čistě náhodou. Zdůrazňuji, že jde o hypotetický příklad a je jasné, že tenhle typ edge by brzo začal každý využívat a postupně by vymizelo.

Pokud ale tvůj systém využívá nějakou obecnější věc, která by měla být nezávislá na konkrétním trhu, tak pak by měl dobrý systém fungovat víceméně stejně na všech trzích (samozřejmě pokud je tak navržený tj. zohledňuje např. volatilitu každého trhu atd.). Pokud malá změna ve vstupních parametrech způsobí velikou změnu ve výstupních parametrech, pak systém není robustní a pravděpodobně jde o přeoptimalizaci - pokud ovšem nemluvíme o případu z prvního odstavce, kde je samozřejmě rozdíl mezi 15:00, 12:00 a 16:00 času - je to nastaveno třeba specificky pro 15:05 hodin. a pro nastavení 14:45 to prostě nefunguje a ani by to nemělo fungovat.

Link to comment
Sdílet pomocí služby

Rob99:
Nevím kam míříš s tou ponorkou na oběžné dráze. Moje sytémy jsou řekl bych až "trapně" jednoduché. Pokud se podíváš na nějaké moje příspěvky v jiných vláknech, tak uvidíš že "psychologie davu" byla zakomponována v příspěvku o behaviorální psychologii, v příspěvku o kvalitě S/R ala Sam Seiden, v příspěvku o přístupu ala OrderFlow Analytic apod. Takže ne že bych si toho nebyl vědom a ne že bych to nevyužíval. Jen se na to dá dívat z různých úhlů a nepužívám křížení EMA s 22 podsystémy, protože to je zase mimo moje chápání :)

Pokud jde o některé moje jiné příspěvky, tak se buď snažím poukázat na některá místa, odkud může vyskočit nečekaný problém, nebo jen tak poukazuji na něco, co mi připadá zajímavé kvůli nějakým souvislostem. Nemusí to být nutně oblast, kterou praktikuju, ale bývají to oblasti které jsem dříve trochu prozkoumal.

Jinak k tvému systému a přístupu - nijak ho nekritizuju. Dělej co sám uznáš za vhodné a rozumné. Moje výhry se neodvíjí od tvého systému nebo přístupu, ale od mého systému a přístupu. To co se osvědčilo mě, nemusí být nutně nejlepší volba pro všechny - byť doufám že to je dostatečně univerzální, minimálně pro inspiraci nebo zamyšlení.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...