Pracovní skupina poskytovaná tradery pro tradery. Naleznete v ní odpovědi na své technické otázky týkající se programů Amibroker, Python, InteractiveBrokers TWS a TradeStation Global.
Co znamená "22.02 bol dalsi sold QQQ za cenu 4USD na akciu cize 400 USD."? Já tomu bohužel vůbec nerozumím.
Risk teoreticky může být vyšší než ten zadaný v konfigu pokud se díky skluzu v plnění nakoupí opce za dražší cenu. Tj. při signálu vezme autotrader cenu opce podle poslední ceny a spočítá příslušný počet opcí k otevření a pošle market - cena se může posunout a opce už jsou trochu dražší = risk je vyšší.
Obchodujete z VPS na internetu? Tj. určitě bez výpadků spojení? V adresáři log jsou logy, kde je vidět jak a kdy skript pozice ukončoval.
Mam nastaveny na 15.57. Aj teraz mal som otvorene aj SPY aj QQQ. SPY zavrelo v poriadu. ZAvrelo aj QQQ 21.57 ale 22.02 bol dalsi sold QQQ za cenu 4USD na akciu cize 400 USD. Pritom risk ma na 300 USD. Doteraz mi to islo v poriadku. Config mam takyto.
### Obchodovaný trh
markets:
SPY:
underlying_exchange: "ARCA"
underlying_currency: "USD"
option_ticker: "SPY" #XSP
option_exchange: "SMART" #CBOE
close_option_position: 1
percent_move_to_let_option_expire: 1
QQQ:
underlying_exchange: "ARCA"
underlying_currency: "USD"
option_ticker: "QQQ"
option_exchange: "SMART"
close_option_position: 1
percent_move_to_let_option_expire: 1
context_condition: "abs(Open - CloseD1) > abs(OpenD1 - CloseD1) and Open > CloseD1 and Open>0"
orderRef: "OBKR1"
log_soubor: "trade_log1.csv"
# Debugovani
debug: False #!! True/False. Pokud True, tak se obchody provádí bez ohledu na context_condition!!!!
### Časy obchodování v NY časové zóně
premarket_warmup_time: "9:28" #Čas, kdy se stáhnou historická data a předpočítají hodnoty
trading_start_time: "9:31" #Stáhne se dnešní open cena
trading_last_order: "15:00" #Konec zadávání obchodních příkazů
trading_end_time: "15:57" #Zadávají se uzavírací příkazy
### Parametry breakoutu
risk_per_trade: 300
atr_perioda: 5
atr_nasobek_long: 0.3
atr_nasobek_short: 0.3
### TradeManagement
obchodovat_long_i_short: False #Je-li False obchoduje jen prvni breakout long nebo short. Při true obchoduje jak první short, tak první long.
### Nastavení Interactive Brokers
ib_port: 7496
ib_client: 68574
ib_data_port: 7496
ib_data_client: 68575
ucet: U15884207 #musí byt správně vyplněno
Mě pozici autotrader uzavřel úplně v pořádku. Měsíce mi to funguje na 100%. Osobně uzavírám 2 minuty před koncem obchodní seance.
Jaký čas máte vy? Co skript dělá? Tj. běží v pořádku a pokouší se opci uzavřít?
Dobry den. Vcera mi autotrader otvoril opciu QQQ, ale na zaver seance ho neuzavrel. To iste sa stalo predvcerom s SPY. Viete mi poradit, kde je chyba. Treba nastavit cas na skorsie uzatvaranie pozicii ? Dakujem.
Toto je poměrně komplexní téma ale v zásadě je to tak jak píšete - je potřeba pracovat s tím, že strategie mají prioritu. A když jedna strategie je připravena obchodovat (jako například intradenní breakout, který vystaví příkaz), tak to v mém workflow znamená z pohledu alokace kapitálu to stejné, jako by už pozice byla otevřena. Tj. ano, pokud pravidla říkají - může se obchodovat jen jeden breakout, tak pak se druhý signál vypustí.
Určitě je ale lepší s logikou začít se swingovými strategiemi, kde se to lépe testuje a chápe.
Osobně portfolio stavím tak, že strategiím přiděluji risk, který měřím skrz volatilitu (která má vesměs velkou úměru s drawdownem). Například každé strategii přidělím v portfoliu volatilitu cca 15% (řekněme, že to může odpovídat drawdownu 15-20% na úrovni strategie).
Pak obchoduji například:
NDX SMO (rotační momentum) - 20 % kapitálu
Long mean reversion - 30% kapitálu
xx atd.
Strategie mohou mít sizing z různé alokace, protože jsou jinak volatilní - a tím že mířím na jednotný risk skrz strategie tak toto defacto normalizuji.
A pak postupuji jak jsem psal výše - každá strategie v seznamu (a mám jich cca 20) zadává signály vycházející z kapitálu přiděleného dle risku, pokud je kapitál volný. Za volný kapitál mám takový kapitál, který neodpoví ani zadaným příkazům. Tj. pokud mám například 5 long mean reversion strategií a všechny vypálily po poklesu trhu limitní příkazy - systém sleduje, kolik příkazů je v trhu a reálně se na některé pozice nedostane kapitál a takové signály nejsou přeměněny do příkazů. Toto vše mám samozřejmě podrobně otestované.
Intradenní breakout vnímám v portfoliu jako celek (tj. obchodování SPY + QQQ + MBT) a sizing strategie mám také odvozený od alokovaného risku. Nicméně tedy tato strategie obchoduje v rámci "intradenního marginu" (který jinak u swingových strategií nepoužívám), takže v praxi jsem připraven vždy obchodovat všechny tři trhy najednou.
Dobry den, casto hovorite o spojovani strategii do portfolia. Napr. i v dnesnim tweetu. Vim, ze tohle neni uplne workshop na portfolia, ale presto: Jak to prakticky funguje? Ma-li strategii A a B. Kazde dam jakoby 100% kapitalu a kdyz jedna stoji, tak muze obchodovat druha. Ale co kdyz obe dostanou prikaz na vstup? Je tam nastavena nejaka priorita? Nebo muzu nastavit 200% kapitaku (=2x paka), ale to mam stejny problem: Co kdyz chteji obchodovat obe? Treba tento Indradenni breakout: pokud ma kontext, tak ceka temer celou seanci na vstup (takze jakoby blokuje kapital). Nebo kdyz ho predbehne jina strategie, tak tento IBreakout dostane flag, ze to ma pro dnesek vzdat? Nebo mi to cele nejak unika? (Vim, ze pracujete i s vahami strategii atd., takze to cele muze byt slozitejsi).
Včera 27.1. vypadala situace nejprve nadějně. Byly dva breakouty - short v bitcoinu a long v nasdaqu.
Nakonec ale obchodování skončilo ztrátou.
Takto vypadá aktuální kontinuální backtest systému:
Takto vypadají mé živé výsledky přímo exportované z Interactive Brokers (pracuji s trochu jiným nastavením period pro breaokut - equity má ale pochopitelně stejnou charakteristiku):
Jak jsme si vysvětlovali ve výuce, větší počet ztrát se očekává. Pak ale stačí chytnout jeden silnější trend a equity se rázem může dostat na vrchol.
Dnes je FOMC meeting - vyhlašování úrokových sazeb v USA. Osobně mám breakout v tento den vypnutý. S velkou pravděpodobností seance vypadá tak, že se trh pohybuje v chopu a po vyhlášení bývá v trhu ohromná volatilita, která sice může nakonec vyvolat pěkný pohyb, ale také umí vymést i vzdálenější stop-lossy.
Včera jsme měli v breakoutu long obchod v S&P 500, který nakonec skončil v lehké ztrátě.
Takto vypadá aktuální equity křivka long obchodů strategie:
A takto long a short:
Ty shortované akcie jsou nyní na první pohled minimálně výrazně volatilitější než dříve. Jak jsem zde psal, u MR3000S používám vzdálenější stop-loss, který byl dříve v trhu defacto jen jako teoretická ochrana. Poslední dobou se mi ale stává, že je zasažen skoro každý týden. Volatilita je vidět i na té equity křivce obchodování.
Fundamentální změna, která toto spraví je podle mě nějaký pokles v trzích. Každopádně já dál strategii obchoduji, jen s výrazně nižší alokací. Jakmile uvidím, že volatilita výsledků se snížila a equity znovu začíná pomalu šplhat vzhůru jako dříve, vrátím alokaci zpět.
Já portfolio maestro v TradeStation vůbec nepoužívám - resp. nikdy jsem ani nezkoušel. Portfolio simulace z TradeStation dělám tak, že jednotlivé výsledky exportuji v Excelu a pak si nechám udělat portfolio analýzu v Pythonu. S dnešními LLM schopnostmi toto funguje výborně a vesměs bez chyb.
Dobrý den Petře,
vše jsem si nastavil dle instrukci a funguje. Nicmene bojuju stim kdyz zacnete nastavovat kod pro jine casove zony v TradeStation prostredi a Easylanguage kodu.
Tim ze MNQ, MES a MBT jsou v casove zone CME, to je celkem OK, tam si poradim a nacasuju tak aby sedely casove osy ve formatu grafu na 8:30 - 15:00 Exchange tim (cili 9:30-16:00 NYSE time).
Ale problem nastava kdyz chci nastavit symboly pro COMEX a NYMEX. Ty sice maji stejnou casovou zonu jako NYSE, nicmene podle lehkeho pruzkumu to nejsou peak times pro tyto dve burzy a MGC a MCL maji dost mizerne vysledky v NYSE timezone.
Kdyz je ale nastavim na jejich primarni peak time ktere maji, vychazi mi to vyrazne jinak.
Posledni vec je jak resite nastveni formatu dat a casovych zon TradeStation portfolio Maestro. Tim ze (aspon muj) vychazi z defaultniho casu = cas systemu (ten mam nastaveny na NYSE), musim u kazdeho symbolu nastavovat format dat tak aby to sedelo.
Cili pro MBT, MES, MNQ musim mit trading hours pro symbol nastaveny jako 8:30-15:00 ale PM potom kod exekuuje jako 9:30-16:00 protoze pracuje v casove zone systemu.
Tohle je jeste OK, ale problem anstava jakmile chci testovat portfolio spolecne s MCL a MGC. Tady uz mi to vyrazne nevychazi.
Nemate nejakou obecnou radu jak si dat pozor na nastaveni casovych zon/formatu dat v kodu na grafy vs. kodovani do Portofolio Maestro? Jedu hodne pokus/omyl s kombinaci kontroly vysledku pres Vas skript v chartraderu, ale je tam dost velka odchylka.
Dekuji!
Dobrý deň Petře,
Vďaka za Váš komentár. Rád by som sa spýtal, čo znamená že čakáte, až sa situácia stabilizuje? Čakáte na nejakú konkrétnu fundamentálnu zmenu alebo čo je podľa Vás za tým, že situáciu považujete za nestabilnú?
Ďakujem
J.
Aktualizovaná výkonnost strategií k 26.1.2026:
V lednu zatím nejvíce vydělává SMO NDX, to roste tedy neuvěřitelně.
Celkově mám zatím na účtu lehce negativní výsledek - hlavně díky občasným ztrátám v intradenním breakoutu. Plus ztráty v MR3000S (to ztráty v posledním týdnu stáhlo, nicméně osobně již mám na účtu systém s podstatně nižšími váhami).
Moje aktuální live trading výkonnost intradenního breakoutu (export z IBKR) vs. vývoj SPY (šedá linka):
intradenní breakout obchodovaný sdíleným autotraderem na opce:
Zde chci jednoznačně letos dotáhnout vypisování opcí, čímž se myslím equity křivka pěkně vyhladí. Jinak se mi výsledky líbí.
Co se vyučované long mean reversion MRZ týče, tak mé živé výsledky od spuštění (US + kanada) vypadají takto:
Procentuální zhodnocení v tomto grafu neřeším, protože jde o export z mého většího účtu, kde se sdílí jeden kapitál. Ale tedy mohu ohlásit, že strategie u mě vytvořila v 2026 nové high.
a toto je tedy pohled na MR3000S z mého živého účtu (pozice přeškálovány na risk 10% na účet):
Aktuálně již tedy obchoduji jen s minimální alokací a čekám, až se situace stabilizuje.
Zdravím,
tento týden jsem měl obchod s postupných odprodejem pozic a i tento skript zpracoval správně.
Novou verzi deníku k širšímu testování uvedu tutoriálem s popisem nových částí a postupem instalace po skončení aktuálně probíhajícího minikurzu portfolio analýzy.
B.
Toto se řídí portem zapsaným v konfiguračním souboru (bracket.yaml) - skript komunikuje na tento port a záleží na vás, které TWS na něm poslouchá.
API port je možné v TWS měnit - ukazoval jsem to v tutoriálu. Je proto dobré mít jiné číslo pro paper a jiné pro live TWS.
Pokud se snaží skript komunikovat na TWS s API portem, které neběží, tak se žádná informace nepřenese. Tj. skript se spustí, ale skončí s chybou.
Server od roku 2003 vydává
Centrum finančního vzdělávání, s.r.o. info@financnik.cz
Upozornění: Všechny informace poskytované na Financnik.cz jsou určeny výhradně ke studijním účelům témat týkajících se obchodování na burze a neslouží v žádném případě coby konkrétní investiční či obchodní doporučení. Provozovatel serveru ani jednotliví autoři nejsou registrovanými brokery či investičním poradcem ani makléřem. Jsou-li na stránkách zmiňovány konkrétní finanční produkty, komodity, akcie, forex či opce, vždy a pouze za účelem studia obchodování na burze. Vydavatel serveru není zodpovědný za konkrétní rozhodnutí jednotlivých uživatelů. Burzovní obchodování a investování s finančními instrumenty (a komoditami obzvláště) je vysoce rizikové. Rozhodnutí obchodovat komodity a akcie je odpovědností každého jednotlivce a jedině on sám nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Pamatujte, že burza má svá pravidla, kterým je třeba porozumět, než začnu riskovat své vlastní peníze!