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.
1. Hodnota je "-1" - to se omlouvám, hodnotu jsem dával na poslední chvíli a asi jsem tedy rozeslal slide před touto korekturou
2 - QQQ
3 - na close dne se signálem
Dobrý den, Petře,
děkuji za odpověď k exekuci. Ještě jeden dotaz k sobotní prezentaci, ke strategiím MRL1–3 (zscore = (C − MA(C,5)) / StdDev(C,5) < zscorepar, přikoupení pod předchozím vstupem, výstup C > EMA(C,5)). Chtěl bych si je přetestovat a hodnota prahu na slidu není. Mohl byste prosím napsat:
Jakou hodnotu zscorepar používáte? Je pro MRL1, 2 a 3 stejná?
Na jakém podkladu a období je backtest ze slidu (CAGR 8,44 %, 1 082 obchodů): QLD, nebo QQQ/NDX?
Vstup i výstup jsou na close (LOC/MOC), nebo až na open dalšího dne?
Díky, Ondřej
Měl jsem s tímto brokerem pár obchodů – terminál je hladký a poplatky jsou jasné, žádné skryté náklady. Zkušenost s výběrem peněz byla rychlá, obvykle se zpracovává během dne. Myslím, že FAQ může pomoci s konkrétními dotazy.
Ahoj.
Kym mam cestu nastavenu niekam do Windows, stahovanie tls a csv prebehne v poriadku. Ak to nastavim tak, ako je v ReserachOS, t.j.
tls : \\wsl.localhost\Ubuntu\home\claude-user\ResearchOS\data\universe\yahoo\
dostanem chybu:
========= YAHOODATA ver4.2 =========
------ TLS ------
Mazani puvodnich TLS souboru probehlo uspesne
Program byl z duvodu chyby ukoncen
========= YAHOODATA ver5.1 =========
------ TLS ------
Mazani puvodnich TLS souboru probehlo uspesne
Traceback (most recent call last):
File "yahoodata.py", line 39, in delete_old_files
for file in os.scandir(path):
FileNotFoundError: [WinError 3] The system cannot find the path specified: '\\\\wsl.localhost\\Ubuntu\\home\\claude-user\\ResearchOS\\data\\universe\\yahoo\\temp/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "yahoodata.py", line 391, in <module>
delete_old_files(config.get('Paths', 'tls')+'temp/', '.tls')
File "yahoodata.py", line 48, in delete_old_files
save_to_log("Chyba behem mazani %s souboru" %ext)
UnboundLocalError: local variable 'ext' referenced before assignment
[7136] Failed to execute script yahoodata
Do adresara \\wsl.localhost\Ubuntu\home\claude-user\ResearchOS\data\universe\yahoo\
sa preklikam, ci uz cez Prieskumnika, alebo Total Commander.
Sortino a sharpe jsou si velmi podobné. Rozdíl je v tom, že sortino měří jen zápornou volatilitu (ztráty), sharpe měří celkovou volatilitu. Sám jsem zvyklý na sharpe, ale dokáži si představit, že někdo jiný bude vše posuzovat podle sortino.
Zdravím Petře, mám jen takový obecný dotaz. V kurzu Workshop profitabilního obchodování od A do Z jste ve výukových videích ukazoval co sledujete u svého portfolia. Myslím tím win rate, denní drowdown v %, celkový drowdown v %, zisk v %, sharpe ratio atp. A já při různém studiu o tradingu jsem narazil na tzv. Sortino ratio a jen mě zajímá jestli člověk vašich zkušeností sleduje a zohledňuje i toto nebo ne a proč. Děkuji
Ano, exekuce jsou klíčové. A myslím, že v tomto nám právě aktuální situace s AI nahrává, protože si lze stavět exekuce podle vlastních potřeb a které nejsou v běžných retailových řešení třeba vůbec dostupné (zejména u opcí). Já tuto strategii exekuuji výhradně limitem - a to i na stopu. Na stopu tedy limit posouvám.
Co se srovnání týče - určitě záleží jak to backtestujete. Já i stop backtestuji jako limit. Na druhou stranu nbbo data mám jen za poslední rok, takže delší backtesty jsem dělal na vteřinových close datech (s tím, že jsem tam "kalibroval" určitý skluz, který jsem odhadoval s porovnáním s nbbo daty). Celkově mi vychází srovnání live vs. backtest příznivě. Hlavně u stopu jsem byl překvapený, jak dobře funguje a sedí s backtesty.
Sám jsem tuto strategii bral hlavně jako ověření konceptu. Podle mě je to dlouhodobě profitabilně udržitelné, nicméně sám také dál toto rozvíjím do podoby, kde bude průměrný obchod vyšší.
Věřím že to už bude ok. Já mám své autotradery postavené dost na principu, že co není dovoleno je zakázáno, takže když se objeví něco specifického a nového, raději se zastaví. To negativní id obchodu ho zmátlo, stím jsem nepočítal..
Zkoušel jsem otestovat jestli se tam objeví ty hlášky ohledně té FX pozice hned při spuštění a vypadá to, že ok ... moc díky za update.
2026-11-11 07:07:28,617 - INFO - Logging initialized: version=2.13 level=INFO debug=False
2026-11-11 07:07:28,645 - INFO - Trade log trade_log.csv loaded: 15 rows.
2026-11-11 07:07:28,646 - WARNING - Telegram configured incompletely; running without it.
2026-11-11 07:07:28,647 - INFO - Heartbeat disabled (healthchecks_url not set).
2026-11-11 07:07:29,792 - INFO - IB trade connection up (port=xx clientId=68574, generation 1).
2026-11-11 07:07:30,511 - INFO - IB data connection up (port=xx clientId=68575).
2026-11-11 07:07:30,687 - INFO - Daily limiter rebuilt for 2026-11-11: sequences=[] premium_base=0.00 (log=0.00 ib=0.00 tracker=0.00) close_only=False
2026-11-11 07:07:30,690 - INFO - ==== 0DTE bot startup summary ====
2026-11-11 07:07:30,690 - INFO - markets: ['QQQ']
2026-11-11 07:07:30,691 - INFO - risk: mode=fixed_usd fixed_usd=2000 percent=0.01
2026-11-11 07:07:30,691 - INFO - strike: rule=OTM1 window_pct=1.0 min_distance_usd=0.00 (from the trigger)
2026-11-11 07:07:30,692 - INFO - times NY: warmup=9:28 start=9:31 last_order=14:00 end=15:58
2026-11-11 07:07:30,692 - INFO - entry: confirmation=bar_close_1m price_source=bid level_comparison=strict max_attempts=0 quote_max_age_s=30 max_spread_pct=0
2026-11-11 07:07:30,693 - INFO - close: ladder=[('ask', 10), ('mid', 10), ('mid', 10), ('bid', 10), ('bid', 10), ('bid_minus_pct', 1, 15)] chase_pct=10 expire_recheck_every_s=30 (no market orders - final = last ladder pct; chase limit re-pegged every 10 s, paused while the order shows no progress at IB)
2026-11-11 07:07:30,693 - INFO - settle: trade residuals on the bot's own conIds until 16:13 NY, keep watching + alerting until 16:16; a residual (short or long) is closed with the SAME close ladder + chase (no market orders); cover_shorts=True
2026-11-11 07:07:30,693 - INFO - safety: max_trades_per_day=100 max_contracts_per_trade=200 check_available_funds=True state_file=state/fired_signals.json
2026-11-11 07:07:30,693 - INFO - broker: host=127.0.0.1 trade_port=xxx/clientId=68574 data_port=xxx/clientId=68575 account=U1*****11
2026-11-11 07:07:30,694 - INFO - telegram: enabled=False
2026-11-11 07:07:30,695 - INFO - healthchecks: enabled=False (ping every 300 s)
2026-11-11 07:07:30,695 - INFO - ==== End of startup summary ====
2026-11-11 07:07:31,605 - INFO - FX CZK->USD = 0.045817 (fetched fresh for 2026-11-11).
2026-11-11 07:07:31,606 - INFO - account reads primed: NetLiq=4XXX CZK AvailFunds=xx0.81 fx_cached=True
2026-11-11 07:07:31,609 - INFO - Waiting for premarket warmup (09:28:00 NY)...
Aktualizovali jsme verzi bota na 2.13
Update řeší problémy, které má se spuštěním @flyboy - tedy že konverze vygenerovala negativní ID. Nově bot ignoruje záporné id obchodu pokud to není s jeho orderref a současně ignoruje informace z ostatních účtů (pokud jich je v rámci TWS několik).
Update je trochu větší - sám budu testovat následující dny na paper účtu. Nepředpokládám ale, že by se měla předchozí funkcionalita jakkoliv pokazit.
Zrovna jsem to měl rozepsané, jelikož v tom teď ležím a snažím se na to přijít. Ano botovi se nelíbí FX obchod směny korun na dolary viz screen s jeho permId.
Navíc tato transakce proběhla na jiném účtu než má bot obchodovat opce. Tak je otázka jestli je to takto správně? Že se bot kouká do všech účtů u IB?
T.
Teď už je v logu vidět, na čem se to seká - je to to negativní permId -999726117 u té forexové exekuce. Toto jsme tedy opravovali v 2.12, ale ještě je to v kódu na jednom místě. V průběhu večera publikujeme opravu a zítra už by to mělo fungovat.
Zdravím,
omlouvám se, odkaz měl omylem předvolenou Latest verzi.
Osobně používám raději odladěnou Stable verzi, pro případnou reinstalaci přepněte odkaz na Stable v menu a nainstalujte TWS případně ještě jednou. Starou verzi stačí odinstalovat a nahradit novou.
B
Tak jsem aktualizoval verzi na 2.12 a bohužel pořád to stejné ... zasílám výpis z logu. Vidím tam, že je problém s nějakou otevřenou pozicí a připojení s IB, ale vůbec nechápu čím to může být. TWS mám klasicky spuštěné pořád stejně. V logu je zmíněná nějaká otevřená pozice, ale nedokážu identifikovat co to může být.
Je tam zmíněná forexová pozice USD.CZK, což nevím kde by mohla viset.
Má někdo nějakou radu?
T.
2026-11-10 15:27:23,806 - INFO - Logging initialized: version=2.12 level=INFO debug=False
2026-11-10 15:27:23,920 - INFO - Trade log trade_log.csv loaded: 15 rows.
2026-11-10 15:27:23,923 - WARNING - Telegram configured incompletely; running without it.
2026-11-10 15:27:23,924 - INFO - Heartbeat disabled (healthchecks_url not set).
2026-11-10 15:27:24,613 - WARNING - evidence: ignored an execution that is not the bot's, with an unreadable identity field (execId 0000d5db.6f3463fe.01.01 2026-11-05 19:33:26+00:00 CASH USD USD.CZK BOT 0.5 orderRef '' account U2*****74 clientId 0 orderId 0 permId -999726117)
2026-11-10 15:27:24,627 - INFO - IB trade connection up (port=7xx clientId=68574, generation 1).
2026-11-10 15:27:24,856 - INFO - IB data connection up (port=7xx clientId=68575).
2026-11-10 15:27:24,906 - WARNING - IB evidence unavailable: malformed execution record (permId missing): execId 0000d5db.6f3463fe.01.01 2026-11-05 19:33:26+00:00 CASH USD USD.CZK BOT 0.5 orderRef '' account U2*****74 clientId 0 orderId 0 permId -999726117
2026-11-10 15:27:24,907 - CRITICAL - CLOSE-ONLY MODE for the rest of the day: startup evidence unavailable: IB evidence read failed. Entries are disabled; closing, /stop and alerts keep running.
2026-11-10 15:27:24,908 - CRITICAL - Startup: IB evidence UNAVAILABLE (IB evidence read failed) - close-only, the post-close watch will not trade, known quantities preserved. MANUAL ATTENTION.
2026-11-10 15:27:24,917 - WARNING - Close-only already active (startup evidence unavailable: IB evidence read failed); also: IB evidence (executions/open orders) unavailable
2026-11-10 15:27:24,918 - INFO - Daily limiter rebuilt for 2026-11-10: sequences=[] premium_base=0.00 (log=0.00 ib=0.00 tracker=0.00) close_only=True
2026-11-10 15:27:24,918 - INFO - ==== 0DTE bot startup summary ====
2026-11-10 15:27:24,920 - INFO - markets: ['QQQ']
2026-11-10 15:27:24,920 - INFO - risk: mode=fixed_usd fixed_usd=2000 percent=0.01
2026-11-10 15:27:24,921 - INFO - strike: rule=OTM1 window_pct=1.0 min_distance_usd=0.00 (from the trigger)
2026-11-10 15:27:24,921 - INFO - times NY: warmup=9:28 start=9:31 last_order=14:00 end=15:58
2026-11-10 15:27:24,921 - INFO - entry: confirmation=bar_close_1m price_source=bid level_comparison=strict max_attempts=0 quote_max_age_s=30 max_spread_pct=0
2026-11-10 15:27:24,922 - INFO - close: ladder=[('ask', 10), ('mid', 10), ('mid', 10), ('bid', 10), ('bid', 10), ('bid_minus_pct', 1, 15)] chase_pct=10 expire_recheck_every_s=30 (no market orders - final = last ladder pct; chase limit re-pegged every 10 s, paused while the order shows no progress at IB)
2026-11-10 15:27:24,923 - INFO - settle: trade residuals on the bot's own conIds until 16:13 NY, keep watching + alerting until 16:16; a residual (short or long) is closed with the SAME close ladder + chase (no market orders); cover_shorts=True
2026-11-10 15:27:24,924 - INFO - safety: max_trades_per_day=100 max_contracts_per_trade=200 check_available_funds=True state_file=state/fired_signals.json
2026-11-10 15:27:24,925 - INFO - broker: host=127.0.0.1 trade_port=xxx/clientId=68574 data_port=xxx/clientId=68575 account=U1*****11
2026-11-10 15:27:24,929 - INFO - telegram: enabled=False
2026-11-10 15:27:24,929 - INFO - healthchecks: enabled=False (ping every 300 s)
2026-11-10 15:27:24,931 - INFO - ==== End of startup summary ====
2026-11-10 15:27:25,587 - INFO - FX CZK->USD = 0.045967 (fetched fresh for 2026-11-10).
2026-11-10 15:27:25,590 - INFO - account reads primed: NetLiq= CZK AvailFunds=fx_cached=True
2026-11-10 15:27:25,591 - INFO - Waiting for premarket warmup (09:28:00 NY)...
2026-11-10 15:28:00,857 - INFO - Waiting for trading start (09:31:00 NY)...
2026-11-10 15:31:03,320 - INFO - QQQ: today's open = 672.59
2026-11-10 15:31:03,331 - INFO - Evaluating individual sub-conditions:
2026-11-10 15:31:03,341 - INFO - abs(Open - CloseD1) > abs(OpenD1 - CloseD1) => False
2026-11-10 15:31:03,342 - INFO - Open > CloseD1 => False
2026-11-10 15:31:03,342 - INFO - Open > 0 => True
2026-11-10 15:31:03,343 - INFO - Complete context condition: 'abs(Open - CloseD1) > abs(OpenD1 - CloseD1) and Open > CloseD1 and Open > 0' => False
2026-11-10 15:31:03,343 - INFO - **** QQQ: context negative - not trading today.
2026-11-10 15:31:03,344 - CRITICAL - CLOSE-ONLY mode ACTIVE (startup evidence unavailable: IB evidence read failed) - no new entries today; closing, /stop and alerts keep running.
Měl jsem to samé – stačí v menu „Add Account“ vybrat paper a odeslat žádost. Myslím, že IBKR obvykle vytvoří účet rychle, ale záleží na různých faktorech. Pokud nechcete hned přispívat peníze, můžete využít jejich Free‑Trial, který je zdarma a neomezený.
Poslal jsem vám e-mail - update co jsem dával včera by to měl vyřešit. Podle všeho si bot nerozumí s nějakým jiným obchodem, který máte v historii. Nově se bot stará jen o obchody se svým orderref.
Posílal jsem vám log do mailu ... dneska mi bohužel bot kvůli výše zmíněné chybě neotevřel pozice. Chci říct, že TWS normálně spuštěné mám a bot také. Zkoušel jsem ho restartovat, ale nepomohlo .... tak nevím.
Dobrý den,
aktuální offline verze TWS najdete na stránce https://www.interactivebrokers.com/en/trading/download-tws.php?p=offline-latest
Já jsem původní verzi nejdříve odinstaloval a pak spustil instalátor nové.
B.
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!