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.
Log jsem zanalyzoval. Co se stalo - ze tří SPY kontraktů na paper účtu bot IB exekuovalo jeden a následně TWS komunikovalo výrazně pomaleji, než kdykoliv předtím u mě. Bot čekal 10 vteřin na potvrzení exekuce, protože běžně toto chodí v řádech nižších vteřin. Ale potvrzení přišlo až po 10s (konkrétně 10.4s) a robot spadl do režimu "děje se něco nestandardního - informuji uživatele a na pozici už nesahám".
Uzavírání na SPY/QQQ je delikátní proto, že do celého procesu může na malém účtu zasáhnout risk management IBKR, který často sám podobné ITM opce začne likvidovat. Bot je tak ostražitý v jakékoliv situaci, kdy je na účtu méně pozic než očekává. Což se stalo u vás na paperu včera - bot viděl najednou jen 2 pozice místo 3 a nepřišel mu včas fill update, ze kterého by bylo jasné co se děje. Bot se pokusil s TWS komunikovat ale odpověď zase přišla později, tak se zastavil.
Řešení - tady to vypadá, že stačí jen nepatrně zvýšit prodlevy, kdy bot čeká na komunikaci z TWS, protože ty informace se minuly jen velmi krátce. Připravím update, otestuji a publikuji.
Je potřeba se podívat do logů, proč k prodeji nedošlo. Bot je stavěn tak, aby obchody ukončoval a zatím se mi s ním nestalo ani na paper ani live, že by cokoliv zůstalo otevřené. Pošlete mi případně log na petr@podhajsky.cz
Tak dnes poprvé od nastavení bot provedl obchody - paper a debug na true.
Dopadlo to tak, že se mu nepodařilo prodat dvě opce ze tří - vše však perfektně hlásil na Telegramu.
Preferoval bych automatické dokončení, co bych pro to mohl udělat?
Veškeré nastavení mám přesněz v2.08, pouze jsem dal 700USD pro více vstupů.
Pomalu dodělávám celý referenční manuál/výuku k obchodování breakoutů pomocí 0DTE kde budou i testy pro obchodování s OTM opce a podobně. Tato nová nastavení pak budou umět toto reprodukovat na účtu.
strike_min_distance_usd: 1 - nastavuje minimální dolarovou vzdálenost od aktuální ceny.
Například dnes obchodujeme první ITM strike. Breakout úroveň je například 600.9 první ITM strike pro put je pak 601 - technicky je v penězích, ale velmi blízko aktuální ceně. S nastavením strike_min_distance_usd: 1 se vybere až 602 - aby strike byla aspoň dolar od breakout úrovně.
strike_window_pct je jen technická proměnná - kolik strike cen má bot načíst. Čím vyšší rozmezí, tím více dat se stahuje = vše je pomalejší. Tedy toto souvisí s tím, jaký kdo obchoduje trh a jak vzdálené například OTM opce chce obchodovat.
Osobně tato nastavení zatím na živo nepoužívám. Obchoduji vše tak jako dříve - tj. první ITM opci.
Zdravím Petře,
co se přesně nastavuje hodnotami:
strike_window_pct: 4.0 # 4.0 = +/-4 % z open
strike_min_distance_usd: 1 # aspon 1 USD od triggeru
A jaké nastavení používáte vy?
T.
To je zajímavé. Vyzkouším. Moc díky.
Chápu správně, že je to rada přímo od VPS providera a nemusím se teda bát, že by mu nějak vadilo, že relace bude permanentně aktivní a bude permanentně spotřebovávat nějaké zdroje?
Odpověď od VPS:
Why the TWS restart fails when you're disconnected
We've helped other customers with this same TWS behavior, so we can point you in the right direction. The cause is slightly different from what the AI suggested. When you close your Remote Desktop window, Windows doesn't put any graphics hardware to sleep. Instead, it keeps your session running in a disconnected state. Your applications keep running, but Windows stops drawing the desktop for that session. TWS's automatic restart needs to open and interact with its login window, which it can't do properly while the session isn't being displayed. That's why the restart works while you're connected and fails once you disconnect.
The solution: hand the session over to the console before disconnecting
Instead of closing the Remote Desktop window, you can transfer your session to the server's console. Your desktop then stays fully active, just as if a monitor were attached, and TWS can restart and log in normally while you're away.
The easiest way is to create a shortcut on the VPS desktop:
1. On the VPS, right-click the desktop and select New, then Text Document.
2. Open it and paste in the following line:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (%windir%\System32\tscon.exe %%s /dest:console)
3. Save the file, then rename it to Disconnect.bat. Make sure the name ends in .bat and not .txt.
4. When you're ready to leave, right-click Disconnect.bat and select Run as administrator.
Your Remote Desktop window will close, but your session will stay active on the server, and TWS will be able to restart on its own. When you want to check in, just connect with Remote Desktop as usual, and you'll be back in the same session with everything still running.
Please use this file each time you leave the VPS instead of closing the Remote Desktop window directly.
Tak mně to nepomohlo. Pokud jsem k VPS přihlášený, proběhne restart bez problémů, pokud nejsem, tak špatný. Podle AI to souvisí s tím, že VPS při zavření RDP odpojí grafiku nebo co:
"Některé verze Windows Serveru (obzvlášť na moderních VPS poskytovatelích) ignorují globální politiky GPO pro udržení relace, pokud detekují, že uživatel nemá otevřené okno RDP. Systém prostě virtuální grafickou kartu po odpojení uspí."
Zkoušel jsem podle doporučení nastavit NSSM, ale taky bez úspěchu.
Napadá vás něco?
Děkuju
Dobrý den,
v rámci zpracování výstupní podmínky se zřejmě nenačetla správně nějaká hodnota z lokální databáze, nebo případně cena a testované pole mělo prázdný obsah.
Chybu si případně můžete podrobněji debugovat https://www.financnik.cz/forum/topic/4775-archiv-tutorialu/page/9/#findComment-313576
B.
Zdravím, nevíte co znamená tato chyba: Chyba pri zpracovani vystupu HPQ: The truth value of an empty array is ambiguous. Use `array.size > 0` to check that an array is not empty.
12.10. strategie MRZ otevřela pozici HPQ, profit target nezasažen, 13.10. nový profit target, ten byl normálně zasažen, vše proběhlo správně, ale v logu mám tuto chybu.
Petře děkuji, už to dnes vše funguje OK. Neměl jsem nastavené sdílení dat na paper účtu a fakt to trvalo do druhého dne, dál jsem se musel odhlásit z ibkr, nestačilo app zavřít. Navíc jsem přenastavil na pc a v tws gate utc-6, ale tady si nejsem jistý zda to má vliv, pro mě je to lepší pro orientaci v log. Každopádně pokrok.
Pokud je DEEPDIP v souboru výše než MRZ, tak má v případě stejného tickeru prioritu a neotočí se to, pokud to neotočím ručně. Zamýšlím se nad tím, proč je DEEPDIP důležitější... Nebo je to z dlouhodobého pohledu detail?
Aktualizovali jsme bota na verzi 2.08.
Hlavní novinky:
pokud IB zruší limitní příkaz kvůli tomu, že je moc daleko od aktuální ceny, bot vytvoří nový.
Risk na obchod lze nastavovat i na úrovni jednotlivých tickerů
Lze nastavovat výběr strike opcí - ITM vs OTM plus definování pásma jak daleko musí být strike minimálně od breakout úrovně
Zeditovali jsme také dokumentaci, která je nyní čitelnější. Plus přibyl soubor ZAKLADNI_INFORMACE.md se základní orientací.
Dobrý den,
Signaltrader vychází z logiky, kde bylo určeno, že stejný ticker se nesmí ve dvou systémech ve stejnou dobu obchodovat.
Prioritu můžete měnit změnou pořadí strategií, je ale otázkou jestli to dává smysl, protože tím vyřešíte aktuální situaci, která se může příště otočit.
Případně můžete provozovat dva Signaltradery paralelně, každý s jiným ClientID a tím toto pravidlo obejdete.
B.
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!