Jump to content
Co nového? Mé kurzy
Komunita:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Diskuze Sledované příspěvky Žebříčky

Diskuze

  1. Uzavřené diskuze pro absolventy kurzů Finančníka

    1. Swingový workshop 2019

      Uzavřená pracovní skupina swingového workshopu 2019.

      1 422
      příspěvků
    2. TechLab

      Technická podpora 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.

      769
      příspěvků
      • 4fx
    3. 3 154
      příspěvků
    4. TSG podpora - Interactive Brokers a TradeStation

      Uzavřená skupina podpory klientů brokera TradeStation Global, kteří si otevřeli účet s podporou serveru Finančník.cz.

      104
      příspěvků
    5. 4 194
      příspěvků
    6. Základy práce s programem Amibroker

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

      63
      příspěvků
    7. 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 104
      příspěvků
  2. Archiv původních anonymních diskuzích

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

    30 550
    Celkem uživatelů
    467
    Nejvíce online
    eyeofday007
    Nejnovější uživatel
    eyeofday007
    Registrace
  • Všechny poslední příspěvky

    • Aby fungovala funkce Explore musí být v kódu řádek Filter=..., kterým určíme jaké obchody se mají zobrazit např.: Filter = Buy; //zobrazí pouze nákupy Filter = 1; //zobrazí všechny obchody B.
    • Dobrý den, Děkuji, ale zabralo to pouze částečně, "Explore" stále nefunguje, jde to pouze přes "Scan" a příkazy se generují od roku 2005. Když pak stisknu "Backtest objeví se níže uvedená chyba". Pavel
    • Dobrý den, máte v projektu nastavený range "1 recent bar", což znamená, že testy provádíte pouze v rámci poslední úsečky. Nastavete si volbu "From-To dates", pak se zohlední nastavené rozmezí. B.
    • Dobrý den, jsem trochu pozadu a zkouším teď rozchodit domácí úkolz 1 lekce, napsal jsem script, ale při supštění v Amibrokeruv Explore se nestane nic a žádné údaje se nenačtou. Můžete mi poradit? Děkuji Pavel V
    • Dobrý den, nevím zda jsem správně pochopil zadání, ale použil bych tento zápis: // budeme prodavat pri splneni techto podminek Sell = Cross(MA(C,50), MA(C,20)) // krizeni prumeru AND C > O // rostouci usecka AND C > (ValueWhen(Buy, Ref(O,-1)*1.05)) // close je vyssi nez 1.05 vstupni ceny ; Doporučuji si vypisovat jednotlivé hodnoty do tabulky s výsledky Explore pomocí příkazu AddColumn. Pak přehledně vidíte zda byly daný den splněné všechny podmínky. B.
    • Zdravím, občas se s tím u IB Gateway setkám také a je docela pravděpodobné, že to způsobují výpadky Internetu. Poté co jsem řešení přesunul na VPS, kde je konektivita podstatně stabilnější se počet podobných výpadků podstatně snížil.  Připravím video, ve kterém ukážu jak je to možné ošetřit. B.  
    • Dobrý den, potřebuji v amibrokeru na základě ceny za kterou jsem otevřel pozici, tuto pozici uzavřít (ale až poté co se trh rozjede mým směrem, tak aby se nezavřela na základě signálu i když bude pod mojí nákupní cenou) např:  CenaPozice = ValueWhen (Buy, Buyprice); iff(CenaPozice*1.05 > C, Sell = Cross( MA(C,50), MA(C,20)), Sell=H<L); toto řešení ale nefunguje, pravděpodobně se cena stále upravuje podle aktuální BuyPrice.  Jde mi o to aby pokud je aktuální cena vyšší o 5% než za kterou jsem nakoupil tak se pozice držela dokud MA(C,50) překročí MA(C,20) potom prodat.    Děkuji David.
    • Používám pro připojení do TWS Gateway, kterou spouštím v pondělí ráno a nechám běžet celý týden. Většinou není problém, ale jednou za čas zjistím, že Autotrader se vubec zasekne hned na začátku, zřejmě při pokusu o připojení přes ibsync. Pokaždé pomůže restart Gateway. Vzhled okna gateway při seknutém Autotraderu je v příloze. Mám podezření, že dojde k nějakému chvilkovému přerušení spojení ( třeba krátký výpadek internetu) Gateway se sice znovu připojí, ale už to není funkční. Je to možné? Podobné chování jsem zjistil, když jsem notebook, na kterém Gateway běží, odepnul od síťového kabelu a přepnul na chvíli na wifi. I když se Gateway znovu spojila, Autotrader se kousnul a bylo potřeba Gateway restartovat. Máte s tím někdo podobnou zkušenost?
    • Zdravim, prave som si otvoril u TG ucet a prechadzam si IB klientsky portal, ale nie mi tu jasnych zopar veci. 1) Chcel by som kupit ETF IE00B4L5Y983 z Euronext alebo Xetra v EUR, lenze TG mi tento titul ponuka iba z LSE v GBP. Potrebujem tam nieco aktivovat aby som mal pristup do Euronext alebo Xetra? 2) Ked mam zobrazene data o nejakom titule, je mozne zobrazit pri cenach v akej je to mene? 3) Co sa tyka prevodu penazi, tak v klientskom portale je mozne zadat EUR.USD, ale ked tam chcem zadat USD.EUR, tak mi to dany par nenajde.
    • Amibroker: Zajištění strategie pomocí indexu Pro strategie nakupující akcie může být výhodný tzv. hedging - zajištění prodejem pozice v indexu. Jak takový přístup otestovat, si ukážeme v dnešním tutoriálu. AFL kód pro Amibroker: UseHedge = True; MaxOpenPositions = 5; Hedge = "OEX"; SetOption("InitialEquity", 40000 ); SetOption("MaxOpenPositions", MaxOpenPositions); SetPositionSize( 100/MaxOpenPositions, spsPercentOfEquity ); SetOption("AccountMargin",50); // Funkce pro vypocet ZScore function ZScore( p, MALen, lookback ) { m = MA( p, MALen ); s = StDev( p, lookback ); z = ( p - m ) / s; return z; } // Logika samotneho reverzniho systemu Z=ZScore( C, 14, 3 ); //Vypocitame indikator ZScore HV = StDev(ROC(C,1),252)*sqrt( 252 ); //Historicka volatilita podle ktere radime signaly. PositionScore = 1/HV; //Preferujeme akcie s nizsi volatilitou. Buy = Z <= -2 //Vstupujeme kdyz Zscore je pod -2 ; Sell = False; Short = Cover = False; BuyPrice = SellPrice = ShortPrice = CoverPrice = Close; ApplyStop( stopTypeNBar, stopModeBars, 6, ReEntryDelay = 20 ); isDetailedReport = GetOption("PortfolioReportMode") == 1; SetBacktestMode( backtestRegularRaw); fLongHedge = False; //Hedge akcie prodava SetCustomBacktestProc(""); if (Status("action") == actionPortfolio) { bo = GetBacktesterObject(); // Ziskame objekt backtesteru bo.PreProcess(); // Provedeme prvotni procesovai backtestu dt = DateTime(); dn = DateNum(); pHedge = Foreign(Hedge,"C"); //Do promenne nacteme Close ceny tickeru pouzivaneho pro hedging for (i = 0; i < BarCount; i++) // Prochazime pres vsechny usecky bakctestu { if (isDetailedReport) bo.RawTextOutput(NumToStr(dt[i], formatDateTime)+"\t-------------------"); //Oddelovac pro Detailed Log bo.HandleStops(i); // Nejprve nechame Amibroker zpracovat Stop-lossy // Spocitame pocet otevrenych pozic mimo hedge - musime rucne kontrolovat pocet oteviranych pozic. Cnt = 1; for (openPos=bo.GetFirstOpenPos(); openPos; openPos=bo.GetNextOpenPos()) { if (OpenPos.Symbol == Hedge) { } else { Cnt++; } } // Nejprve zprocesujeme vsechny vystupni pozice for (sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal(i)) { if (sig.IsExit() ) { bo.ExitTrade(i, sig.Symbol, sig.Price, sig.Reason); Cnt--; //Odecteme uzaviranou pozici z celkoveho pocetu otevrenych pozic } } bo.UpdateStats(i, 1); // Nechame Amibroker signaly interne zpracovat // Nyni zprocesujeme vstupy for (sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal(i)) { if (sig.IsEntry() AND Cnt<MaxOpenPositions) // { // Strucny zapis otevirane pozice do Detailniho logu (pokud jej mame zapnuty) if (isDetailedReport) bo.RawTextOutput(NumToStr(dt[i], formatDateTime)+"\tEntry Signal: "+sig.Symbol); // Otevreni pozice bo.EnterTrade(i, sig.Symbol, sig.IsLong(), sig.Price, sig.PosSize, 0, sig.RoundLotSize); Cnt++; //Pricteme oteviranou pozici k poctu otevrenych pozic. } } bo.UpdateStats(i, 1); // Nechame Amibroker signaly interne zpracovat // HEDGE if (UseHedge) { TargetHedgePosSize = 0; CurrHedgePosSize = 0; // Projdeme otevrene pozice a zjistime potrebnou velikost zajisteni for (openPos=bo.GetFirstOpenPos(); openPos; openPos=bo.GetNextOpenPos()) { if (OpenPos.Symbol == Hedge) { CurrHedgePosSize = OpenPos.Shares * pHedge[i]; //Zjistime velikost otevreneho hedge } else // Nacitame velikosti otevrenych pozic (krome hedge) { TargetHedgePosSize += OpenPos.Shares * OpenPos.GetPrice(i,"C"); } } // Otevirani nove pozice hedge if (TargetHedgePosSize == 0) { // Pokud je cilovy hedge 0, tak hedge nepotrebujeme a uzavreme pripadny stavajici bo.ExitTrade(i, Hedge, pHedge[i]); } else { if (CurrHedgePosSize == 0) { // Pokud potrebujeme hedge a zadny nemame, tak otevreneme novou pozici _TRACE(WriteVal(dn[i],8.0,False)+": Oteviram novou pozici hedge o velikosti = "+TargetHedgePosSize); bo.EnterTrade(i, Hedge, fLongHedge, pHedge[i], TargetHedgePosSize); } else { // Pokud je jiz hedge otevreny, tak stavajici pozici upravime _TRACE(WriteVal(dn[i],8.0,False)+": Upravuji stajivaci hedge na velikost = "+TargetHedgePosSize); ScaleSize = TargetHedgePosSize - CurrHedgePosSize; bo.ScaleTrade(i, Hedge, ScaleSize > 0, pHedge[i], abs(ScaleSize)); } bo.UpdateStats(i, 1); } } bo.UpdateStats(i, 1); // Nechame Amibroker signaly interne zpracovat bo.UpdateStats(i, 2); // Nechame Amibroker signaly interne zpracovat } bo.PostProcess(); }  
    • Zdravím, také se připojuji s díky za super návody od Petra. Mám již na VPS vše nainstalováno a nyní dolaďuji plánovač úloh. Dávám dobrý tip pro práci s instalací různých souborů: můžete si na vzdálené ploše zobrazit svůj lokální disk. V Připojení ke vzdálené ploše vyberete Místní prostředky a pak další a vyberete si svůj lokál - viz obrázek. Mám to již nastavené v češtině, ale z obrázků se budete dobře orientovat. Pak můžete v Commaderu snadno kopírovat z lokálu na VPS. Pavel
    • Yahoo data jsou bezplatnou alternativou k datům od Norgate, pokud pro začátek nechcete do dat investovat. Mají pro účely swingového obhodování přijatelnou kvalitu a lze je tak použít k seznámení s prezentovanou látkou i provozování vlastních skenerů signálů. K získání dat z volně dostupných zdrojů je potřeba použít vhodný nástroj, kterým může být program Amiquote (doplněk Amibrokeru) za 99USD nebo níže popsaná aplikace. Ta je vytvořena v Pythonu a poskytnuta ve dvou variantách, jednodušší pro obsluhu spustitelný (exe) soubor a také otevřený py skript, který umožňuje provádět dodatečné úpravy. Aplikace navíc umožňuje stáhnutí aktuálních složení indexů formou tls souborů. Zdrojem jsou kvalitní, každý den aktualizovaná data a není potřeba tak řešit odkud seznamy stáhnout a zda nedošlo k nějaké změně. Instalace Aplikace je poskytována ve dvou verzích, každá z nich pracuje s jinou technikou stahování dat. Je možné vyzkoušet a používat kteroukoliv z nich, ale primárně doporučuji používat verzi 4, která nabízí rychlejší download.  Verze 3 je zde poskytnuta pro případ pokud by verze 4 z nějakého důvodu nefungovala správně. Popis novinek u verze 4: nový způsob stažení dat, nepoužívá se Crumb, ale datový formát json podpora více vláken procesoru a je tak možné stahovat více symbolů současně nepracuje s databází, na začátku se vytvoří seznam jedinečných symbolů napříč všemi tls umožňuje přípravu vlastních tls souborů odstraní mezery z názvu stažených tls souborů přidán čtvrtý režim AQT pro uživatele Amiquote, který upravuje neplatné názvy symbolů a stažené tls soubory uloží přímo do watchlistů Ke stažení jsou na stránkách http://financnik.cz/download/swing/yahoodata_v3.zip a http://financnik.cz/download/swing/yahoodata_v4.zip ve formě zip souboru, ten uložíme a rozbalíme do libovolné složky v počítači. V případě použití formou Py skriptu je potřeba mít nainstalované následující moduly: Pandas, requests, pywin32 a u verze 4 navíc multitasking. Obsah adresáře Složky:       config - obsahuje konfigurační soubor aplikace                     csv - do této složky se stahují csv sobory s daty                     tls - zde se ukládají stažené tls soubory s aktuálním složením indexů Soubory:    yahoodata.log - ukládají se informace o průběhu skriptu, před každým spuštěním se obsah automaticky smaže                     yahoodata_v4.exe - aplikace ve formě spustitelného souboru                     yahoodata_v4.py - aplikace ve formě Python skriptu Verze 3 obsahuje navíc soubor EODdata.db3, jedná se o databázi, do které se ukládají stažená data, slouží zejména ke sledování stažených tickerů, tak abychom zbytečně nestahovali stejná data v rámci jiného indexu, před každým spuštěním se soubor automaticky maže a vytváří znova (v poskytované verzi soubor zcela chybí a vytvoří se při prvním spuštění) Konfigurace před prvním spuštěním je potřeba provést nastavení v souboru settings.ini, který najdete ve složce config. Nutné je nastavení individuálních cest ke složkám a případně nastavení režimu. Ostatní parametry mohou zůstat beze změn. Konfigurační soubor je rozdělen do několika sekcí: Param:           -logfile - název a umístění logovacího souboru                         -datafrom - počáteční datum, od kterého stahujeme data                         -mode - režim spuštění aplikace (vysvětlím níže) Paths:            -amidb - cesta k databázi Amibrokeru (popis jak zjistit je níže)                         -tls - umístění kam se budou ukládat stažené tls soubory, může být jakákoliv tedy i přímo do složky Amiquote                         -csv - do této složky se stahují csv soubory, opět může být kdekoliv Indexes:        -během každého spuštění se oproti staženým tls navíc generuje tls s uvedeným obsahem. Jedná se o indexy a seznam tickerů je možné upravovat TLSfiles:       -seznam všech tls, které jsou k dispozici ke stažení, opět je možné upravovat a stahovat tak pouze některé z nich Nově je možné stahovat a importovat uživatelské tls soubory. Navedl mě k tomu domací úkol, kdy využíváme další watchlist s ETF. Předem připravený tls stačí vložit do podadresáře "custom", který se nachází ve složce tls. Obsah složky custom se nemaže a při každém spuštění se obsah nakopíruje do složky tls mezi stažené soubory. Uživatelský tls se pak zpracuje stejně jako stažené tls, tedy dojde ke stažení symbolů a případnému importu mezi watchlisty. Jak zjistím cestu k databázi Amibrokeru? V menu Amibrokeru klikneme v menu na File - Database settings, v otevřeném okně zjistíme cestu, kterou přepíšeme do konfiguračního souboru.Je potřeba použít klasická lomítka (stejně jako ve výchozí konfiguraci) a jedno přidat na konec řádku. Spuštění Po dokončené konfiguraci můžete aplikaci spustit dvojklikem na soubor yahoodata_ver4.exe a program ihned začne stahovat data. Případně formou python skriptu, oba programy mají shodnou funkci i výsledek. Jak program funguje  Rozsah spuštění určuje nastavený režim (v konfiguračním souboru): 1. TLS - nejjednodušší forma, stáhne pouze vygenerované tls v nastaveném rozsahu a uloží do zadané složky. Tuto variantu použijete zejména, pokud máte vlastní řešení stahování dat, např. Amiquote. 2. CSV - stáhne tls soubory a následně stahuje data, které ukládá do nastavené složky. V případě, že se nepodaří data stáhnout, daný ticker přeskočí a pokusí se stáhnout ještě jednou na konci běhu. Po dokončení máte data uložené do csv souborů a můžete je ručně importovat do Amibrokeru. Stažení dat závisí na rychlosti počítače a internetu, v plném rozsahu trvá cca 30-60min, je potřeba s tím počítat a spouštět v dostatečném předstihu. 3. AMI - navíc automaticky importuje data i watchlisty do Amibrokeru. Ve výsledku tak máme po dokončení Amibroker (licencovaná verze) připravený k práci. Ideálně by měl být Amibroker v době spuštění aplikace vypnutý, jinak stačí Amibroker vypnout a zapnout a nová data se načtou. 4. AQT - podobná funkce jako režim TLS, navíc kromě samotného stažení tls souboru upraví názvy tickerů a nakopíruje tls do složky WatchLists v databázi v Amibrokeru. Je zde oproti klasické verzi TLS vyžadována v konfiguraci cesta k amidb! Pokud používáte zkušební verzi Amibrokeru, pak omezením a drobnou komplikací je neukládající se databáze. Je potřeba při spuštění Amibrokeru (než začneme pracovat) navíc provést manuální import dat. Nicméně doporučuji i v tomto případě spouštět režim AMI, i přesto, že se samotná data vymažou zůstanou vytvořené watchlisty a nemusíme je pak ručně importovat. Manuální natažení dat pak provedeme v menu Amibrokeru, klikneme na položku File - Import ACSII. V otevřeném okně vybereme umístění, kam jsme uložili stažené csv soubory, označíme všechny soubory a potvrdíme. Data se natáhnou během několika vteřin a můžeme pracovat. Průběh celého běhu aplikace je monitorován v logovacím souboru, který si můžete po dokončení prohlédnout. V úvodu obsahuje i řádek s datem posledního generování tls souborů. Případné dotazy k uvedení do provozu pokládejte do tohoto vlákna. 
    • Zdravím, Děkuji za podrobný návod. Přikládám jen možnosti z Připojení ke vzdálené ploše: Save as, Display configuration, Colours. S pomocí Save As si můžete vytvořit zástupce daného servru přímo na ploše anebo kde ho chcete mít. Nemusíte pak vybírat se seznamu použitých IP adres a nebo IP adresu pokaždé zadávat. Velmi vhodné pokud jich máte více. Případně další stroje v lokální síti. Display configuration Vám pak použije rozlišení jaké si nastavíte a můžete pak vidět celé okno bez posuvníků po stranách. a colours pak může při horší kvalitě spojení zrychlit práci (nepřenáší se tolik dat) Tomas M.
    • V tomto vlákně publikuji popis včetně odkazu ke stažení aktuální verze programu umožňujícího bezplatný download denních dat ze serverů Yahoo. Nová verze navíc umožňuje stažení pravidelně aktualizovaných tls souborů (seznamů tickerů), uživatelé TechLabu tak získají touto cestou přístup k tls souborům i po ukončení podpory swingového ochodování.
    • Ano, v poslední lekci si vytvoříme portfolio.
    • Děkuji za odpověď i za velmi přínosný kurz. Ještě mám dotaz k portfolio managementu, tj. jak skládat z jednotlivých strategií portfolio... Budou k tomu v kurzu v dalších lekcích nějaké další informace? Případně (pokud nebudu) mohl byste nabídnout nějaké typy, co (jaká témata jsou u portfolio managementu důležitá) a kde si nastudovat (knihy? , web?). Předem děkuji za odpověď.
    • Dobrý den, založím v Techlabu nové vlákno, které bude obsahovat odkaz na aktuální verzi programu a kde bude možné řešit technické dotazy k downloadu Yahoo dat. B.
    • Spíše se to nabízí, protože první den v týdnu/měsíci/roce se nejsnáze programuje. Osobně jsem rebalancování například uprostřed měsíce netestoval.
    • Dobrý den, zapojení CBT je u této strategie nezbytné pro zachování pricipu obchodování. CBT nám simuluje skutečnost kdy do trhu zadáme počet příkazů odpovídající volným pozicím, a nevíme, které z nich a zda vůbec nějaké budou vyplněné. Za předpokladu, že n je počet volných pozic, s vypnutým CBT otevřeme automaticky n pozic, u kterých je limitní cena nižší a ostatní signály (s vyšší cenu) přeskočíme. Kdežto s CBT testujeme prvních n signálů a ostatní zahodíme. Může se tak ve výsledku stát, že daný den žádnou pozici neotevřeme i když některé další signály by podmínku splnily.   Pro podobné vyhodnocení rozdílů doporučuji přepnout zobrazení výsledku backtestu do režimu Detailed log, kde názorně vidíte signály vs. otevřené pozice. Nicméně v případě CBT se jedná o určitou interpretaci myšlenky jak by měl náš systém fungovat a tedy jeho logika bude odlišná od pricipu jakým funguje integrovaný backtester Amibrokeru. Z toho plyne i skutečnost, že vyřazením CBT můžete získat trochu odlišné výsledky. B.
    • Dobrý den, v diskuzi Swingový workshop 2018 je poslední verze skriptu na stahování Yahoodat 3. Mohl byste sem, Bogdane, dát odkaz na nejnovější verzi? Děkuji Milan
×
×
  • Vytvořit...

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.