Jump to content
Co nového? Mé kurzy
Diskuze Sledované příspěvky Žebříčky
  1. Otevřená sekce

    1. 64
      64 příspěvků
  2. Uzavřené diskuze pro absolventy kurzů Finančníka

    1. TechLab

      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.

      8,4k
      8,4k příspěvků
    2. Trading Room

      Diskuzní skupina v rámci Trading Roomu.

      2,6k
      2,6k příspěvků
    3. 422
      422 příspěvků
      • petr
    4. Základy práce s programem Amibroker

      Uzavřená diskuze pro účastníky online kurzu Základy práce s programem Amibroker.

      194
      194 příspěvků
      • ReDa
    5. FIMS A–Z: Profesionální daytrading orderflow

      Diskuze o intradenním obchodování v rámci informací prezentovaných v kurzu FIMS A–Z: Profesionální daytrading orderflow.

      29,3k
      29,3k příspěvků
      • Jack
  3. Archiv původních anonymních diskuzích

    1. 201,1k
      201,1k příspěvků
  • Statistiky uživatelů

    31 581
    Celkem uživatelů
    797
    Nejvíce online
    Saper81
    Nejnovější uživatel
    Saper81
    Registrace
  • Všechny poslední příspěvky

    • To mi zní jako neprovedená database maintenance po stažení dat. Ale to asi máte ošetřené. Aleš
    • Ahoj, v task scheduleru na severu se snažím rozchodit automatizované generování *.csv souboru s vstupy do nových obchodů. Amibroker mi na serveru běží a nevypínám ho. Celý proces ještě ladím. Jednotlivé úlohy se zpracovávají přibližně takto: - stažení aktuálních dat - ověření zda amibroker běží, pokud ne zapnu ho - přes dávky v amibrokeru vygeneruji *.csv file - spustím autotrader Pokud Amibroker běží a stáhnu aktuální data. Data se okamžitě nepropíší do Amibrokeru a *.csv file je generovaný z neaktuálních dat. Je potřeba vždy po aktualizaci dat Amibroker restartovat nebo lze řešit jiným způsobem? Děkuji
    • Díky moc za přípravu Petře. Otestuju a potvrdím jak funguje.
    • Jelikož nahrávání basket příkazů do TWS nefunguje vždy spolehlivě (občas se nevytvoří příslušné OCO vazby - tedy vztah mezi vstupním a výstupním příkazem), připravili jsme alternativní python skript, který příkazy nahrává přes API (což funguje spolehlivě). Co skript dělá BasketTrader stahuje příkazy z TradingRoom dashboardu a zadává je do Interactive Brokers (TWS nebo IB Gateway) jako bracket ordery (vstup + profit target + stop loss). Požadavky - Python 3.10 nebo novější (https://www.python.org/downloads/) - Interactive Brokers TWS  - Nastavení "sledovat strategii" v Trading Room dashboardu - tj. strategie musí být zobrazena na hlavní stránce dashboardu: https://tradingroom.financnik.cz/dashboard Instalace 1. Vytvoření virtuálního prostředí (venv) - Windows Vytvořte si adresář - například BasketTrader. Otevřete příkazový řádek (cmd) ve složce BasketTrader a vytvořte Python virtuální prostředí: python -m venv venv venv\Scripts\activate Po aktivaci uvidíte (venv) na začátku řádku. 2. Instalace knihoven S aktivovaným venv spusťte: pip install ib_async requests pyyaml 3. Nastavení TWS / IB Gateway V TWS/Gateway je nutné povolit API připojení: 1. Otevřete TWS 2. Menu: Edit -> Global Configuration -> API -> Settings 3. Zaškrtněte Enable ActiveX and Socket Clients 4. Zkontrolujte Socket port (musí odpovídat `port` v config.yaml) 5. Přidejte Trusted IPs: 127.0.0.1 4. Konfigurace skriptu - soubor `config.yaml` Otevřete `config.yaml` v textovém editoru a upravte: port: 7497 - skutečný port v TWS (viz krok 3) account - číslo účtu v IBKR hash - kód, který si můžete zobrazit zde: https://www.financnik.cz/exe/tradingroom1/ systems - systémy, jejichž příkazy chcete přenášet. V konfigu jsou některé zahashované (#) ty se nepřenáší. Pozor: Systém musíte mít v Dashboardu přihlášený k odběru, abyste jej viděli na titulní stránce: identifikátor systému naleznete v URL pro stažení csv: Například MR3000S má URL https://tradingroom.financnik.cz/download/MR3000S/csv - pro stahování příkazů MR3000S tedy do konfiguračního souboru zadám: MR3000S  Pozor, je potřeba respektovat přesné odražení tak, jak je to v ukázkovém konfiguračním souboru. Spuštění Nejprve aktivujte venv a pak zadejte: python basket_trader.py Při každém spuštění skript nahraje do TWS příkazy, které našel u jednotlivých csv.  Takto vypadají přenesené příkazy: Pokud má mít strategie připojený profit target, je zobrazen jako podmíněný - ve sloupci Key je zobrazeno číslo s desetinnou tečkou a ve sloupci OCA je číslo. Primární příkaz je ten bez desetinné tečky a bez čísla v OCA sloupci - jen tento příkaz čeká na exekuci. Pokud sloupce Key a OCA nevidíte, můžete si je do layoutu přidat (pravým tlačítkem myši klikněte do záhlaví tabulky a vyberte nastavit layout). Pokud by i profit targety (případně stop-lossy), tedy příkazy, které mají být v trhu jen pokud je vyplněn vstup, neměly desetinnou tečku v key a vyplněné OCA group, tak je to špatně - u takového příkazu může dojít ke vstupu na výstupním příkazu. Příkazy lze zrušit kliknutím na Cancel. Jak je vidět na screenshotu po odeslání se příkazy přenesou do trhu - tj. pokud budou trhy otevřené, dojde k případnému vyplnění (už se nic nepotvrzuje). Toto je skript v 0.1 - prosím vyzkoušejte a můžeme jej vylepšovat. Skript je určen pro výukové účely - je v něm jasně demonstrováno, jak snadno lze pomocí skriptu zadávat komplexnější příkazy. Používejte na paper účtu. Basket příkazy zadávají jen vstupy. Tento skript má stejnou funkcionalitu jako zadávání stahovaných basket příkazů přes basket funkcionalitu TWS, jen ji řeší přes API. Nejde o kompletní autotrader. Skript neví, kolik pozic je otevřeno v IBKR a proto nemůže z principu zadávat výstupy. Na to je případně potřeba komplexnější autotrader. Například ten, který sdílíme v TechLabu. Skript tedy řeší časově náročné zadávání množství potenciální limitních vstupů, které většinou nejsou vyplněné. Soubory ke stažení: BasketTraderv01.zip
    • Dnes nemám vygenerovaný breakout v žádném trhu.
    • Dobrý den, za dva týdny publikujeme novou verzi deníku, Signaltrader by měl následovat po ukončení dalšího ze série minikurzů. B.
    • Jsem short v obou trzích. Tak si držme palce:
    • Mám zadané příkazy pro breakout v S&P 500 a Nasdaq 100.
    • Dnes to vypadá na breakout v ES a NQ.
    • Dobrý den,  máte nějaký "vysněný" termín kdy budete vydávat novou verzi která bude již umět pracovat s TP, které používá MRZ? Děkuji
    • Dnes u mě žádný breakout vstup.
    • Tak už snad vyřešeno, nevím čím to bylo, čísla portu jsem měl stejná v TWS a příslušném souboru a nešlo to, pak jsem je znovu přepsal a už to funguje...  
    • Dobrý den, přešel jsem s obchodováním na jiný počítač, kde se mi po spuštění skriptu objevuje chybová hláška, že vzdálený počítač odmítl síťové připojení, abych se ujistil, že API port v TWS je "open". Nevíte v čem by mohl být problém? API v TWS mám nastaveno, jak má být včetně čísla portu. Na původním počítači mi to fungovalo. Děkuji.
    • Jsem dnes v longu na MNQ. Mimo gapu mám ještě pár dalších price action setupů kdy vstupuju. Nevím to jistě, ale když se na to tak dívám, řekl bych, že vstoupil na základě strong close minulého dne.
    • Dnes jsem neměl žádný breakout signál.
    • Ďakujem za odpoveď. Neviem prečo, ale zdá sa mi, že chyby, ktoré vyzerajú zložito, sú často práve tie najjednoduchšie. Script diary som aktualizoval a už funguje. Tú druhú chybu budem sledovať a keď sa objaví, budem ju debugovať. Ešte raz ďakujem za pomoc. Timi
    • Dobrý den, publikovali jsme další lekci minikurzu. B.
    • Dobrý den, vidím zde dva problematické body, které ale přímo nesouvisí, takže řešením nebude oprava pouze jednoho z nich. První se týká deníku a informace o chybějícím sloupci "position", tento sloupec je součástí tabulky Diary respektive správný název je "possition", tedy nejdříve bych si otevřel SQL DB browser a podíval se zda v tabulce sloupec zcela chybí, nebo je pouze chyba v názvu a chybí jedno "s". Pokud sloupec chybí a tabulka je prázdná, což by bylo vzhledem k povaze chyby logické, pak doporučuji tabulku Diary smazat, skript deníku si tabulku při dalším spuštění vytvoří se správnou strukturou. Chyba ve sloupci "possiton" nemá vliv na zpracování obchodů, Signal trader nepracuje přímo s tabulkou Diary a proto někde bude druhá chyba a tipuji, že nějak bude souviset se zpracováním výstupů, protože můj průběh skriptu 5.2. vypadal následovně a příkazy se provedly správně. B.
    • Aktualizovaná výkonnost strategií dashboardu k 7.02.2026: Velmi silný začátek roku. Má equity v IBKR je na nových maximech. Kromě SMO NDX mi hodně vydělávají nyní long mean reversion strategie - zejména DeepDIP, byť tam jsou ve výše uvedené tabulce výkonnosti minimálně dva obchody, které se neobjevily v signálech (viz předchozí příspěvky v této diskuzi) a tudíž má live výkonnost není tak dobrá, jako se ukazuje v backtestu. Co se long mean reversion týče - jak jsem zde již psal, long mean reversion strategie obchoduji v portfoliu tak, že celé skupině mám přiřazenou určitou maximální alokaci. Například mohou obchodovat čtyři systémy a každému počítat velikost pozice z 15% portfolio kapitálu. Ovšem současně mám pravidlo, že alokace celé skupiny nesmí být vyšší, než například 25%. Pokud jsou v trzích silné propady, tak se nedostane na všechny signály. Můj portfolio manager jednoduše postupuje po jednotlivých systémech, vybírá signály od nejsilnějších (tak jsou řazeny i signály v dashboardu) a počítá, kolik kapitálu signály zaberou v okamžiku kdy by všechny limity byly vyplněny. Na nejslabší signály se tak často nedostane. To má pozitiva i negativa. Pozitivem je především limitování risku - pokud by propad pokračoval, pak nebudu mít na účtu otevřenou extrémně velikou alokaci dlouhých pozic. Negativem je, že pokud se trh obrátí, vydělám méně. A zrovna letos to zatím vychází tak, že například ztráty v MRZCA přišly z těch slabších signálů (na konci seznamu signálů), které jsem neotevíral. Můj export MRZ + MRZCA z IBKR vypadá tak následovně: Takto pak vypadají mé exportované živé obchody (nikoliv backtest) MRZ + MRZCA + DEEPDIP: Je patrné, že jednotlivé strategie se v portfoliu hezky doplňují. Co se intradenního breakoutu týče. Letos mi jde equity zatím do strany. Breakout na opcích vypadá následovně: Export breakout obchodů na ETF takto:    
×
×
  • Vytvořit...