Sobota 05. října 2024 17:35
reklama
Swissquote Bank
reklama
Investingfox Nastroje
reklama
Fintokei StartTrader
reklama
Investingfox Partner

Zobrazování kalendáře ekonomických událostí

Napsal:   Sekce: 

Tento článek obsahuje popis psaní jednoduchého a pohodlného indikátoru zobrazujícího v pracovním prostoru grafu hlavní ekonomické události z vnějších internetových zdrojů.

Indikátor vypadá takto:


Zde je seznam požadavků na indikátor:

  • Indikátor by měl samostatně (bez pomoci uživatele) stáhnout potřebné soubory událostí kalendáře pro aktuální týden.
  • Indikátor by měl zobrazit všechny události (jak minulé tak budoucí) z tohoto souboru v podobě svislých čar s událostními titulky.
  • Indikátor by měl průběžně aktualizovat události z externího zdroje.

Poté, co jsme zadali úkol, můžeme analyzovat některé technické detaily.


Technická část

Zkusme použít stránky http://www.dailyfx.com/calendar/ jako externí zdroj. Výhodou tohoto zdroje je, že umožňuje stahovat kalendář ekonomických zpráv  s rozšířenim  .csv, a tak se vyhnout potížím s prácí s html soubory. Zde je odkaz na kalendář ekonomických zpráv pro aktuální týden: http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv.

Nyní se zaměříme na proces stahování souborů z internetu. To lze provést pomocí dobře známého program GetRight. Ten lze stáhnout na adrese: http://www.getright.com/get.html nebo ze seznamu příloh k tomuto článku.

Poté, co jste si stáhli program, nastavte GetRight pro stahování souborů do potřebného adresáře. Je to do \ files \ html \ directory ve složce vašeho obchodního terminálu. K tomu účelu stiskněte klávesu F8 a zapište údaje, jak je popsáno níže:



Psaní zdrojového kódu indikátoru

 Nyní,  když jsme si zodpověděli  pár otázek, můžeme začít psát indikátor.

extern string HtmlAdress = "http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv";
extern string GetrightAdress = "c:\progra~1\getright\getright.exe";
 
#include <Time.mqh>
#import "kernel32.dll"
int WinExec(string NameEx, int dwFlags);

Existují pouze dvě externí proměnné: adresa externího zdroje (ve skutečnosti, nemusíte měnit tento parametr), a adresa programu GetRight (pokud jste si stáhli program do jiného adresáře, doporučuji změnit výchozí hodnoty v indikátoru, aby nedošlo ke změně hodnoty proměnné ukazující na návěští start). Chcete-li spustit soubor GetRight.exe budete muset použít funkci WinExec, která může být natažena z knihovny Kernel32.dll. Knihovna Time.mqh obsahuje funkce pro práci s GMT.

  void DownloadCalendar()
{
  Print("Downloading "+HtmlAdress+" to C:\MetaTrader4\experts\files\html\Calendar.csv");
  WinExec(GetrightAdress+" /URL:"+HtmlAdress+" /C:\MetaTrader4\experts\files\html\Calendar.csv /W /O",0);
}

Jak je vidět, díky využití programu GetRight stahování souborů z externích zdrojů je velmi jednoduché. Parametr / W označuje, že proces nebude vrácen do programu, dokud stažení souboru není dokončeno.  Parametr / O znamená, že pokud existuje soubor se stejným názvem, bude přepsán. Pamatujte si, že pokud jste změnili nastavení GetRight správně, bude kalendář stáhnut do \ files \ html \. A tady jsou dvě další funkce:

 datetime PerviousMonday(datetime d)
{
  datetime res = d - (TimeDayOfWeek(d)-1)*24*60*60;
  return(res);
}
datetime ToDate(string stDate,string stTime)
{
  string WeekDay = StringSubstr(stDate,0,3);
  int WeekPlus = 0;
  if (WeekDay=="Mon") WeekPlus=0;
  if (WeekDay=="Tue") WeekPlus=1;
  if (WeekDay=="Wed") WeekPlus=2;
  if (WeekDay=="Thu") WeekPlus=3;
  if (WeekDay=="Fri") WeekPlus=4;
  if (WeekDay=="Sat") WeekPlus=5;
  if (WeekDay=="Sun") WeekPlus=-1;
 
  datetime Res = PerviousMonday(GetTimeGMT())+WeekPlus*24*60*60;
  datetime Tm = StrToTime(stTime);
  Res=Res+TimeHour(Tm )*60*60+TimeMinute(Tm )*60+TimeSeconds(Tm )
         -TimeHour(Res)*60*60-TimeMinute(Res)*60-TimeSeconds(Res);  
  if (StringFind(stTime,"PM")>=0)       
    Res+=12*60*60;
  Res=Res-GetShiftGMT();
 
  return (Res);
}

Funkce  PerviousMonday ()  vrací datum zahájení běžného týdne. Funkce ToDate () převádí datum a čas z kalendáře do formátu datatime.

 
void GrabNews()
{

  int file = FileOpen("\Html\Calendar.csv",FILE_READ|FILE_CSV,',');
  if (file==-1||FileSize(file)==0)
        return;

  int i=0;
  while (!FileIsEnding(file))
    {
Print("313");    
      string stDate="";
      while (!FileIsEnding(file)&&stDate=="")
// Print("314");     
        stDate = FileReadString(file);
//Print("314");
      string stTime = FileReadString(file);
      string stTimeZone = FileReadString(file);
      string stCurrency = FileReadString(file);
      string stDescription = FileReadString(file);
      string stImportance = FileReadString(file);
      string stActual = FileReadString(file);
      string stForecast = FileReadString(file);
      string stPrevious = FileReadString(file);
   
    
      datetime Date = ToDate(stDate,stTime);
     
      color c=Green;
      if (stImportance=="Low") c = Yellow;
      if (stImportance=="Medium") c = Orange;
      if (stImportance=="High") c = Red;
         
      ObjectCreate("CalendarText"+i, OBJ_TEXT, 0, Date, Close[0]);
      ObjectSet("CalendarText"+i, OBJPROP_COLOR, c);          
      ObjectSetText("CalendarText"+i, stDate + " : "+ stDescription, 8);          
      ObjectSet("CalendarText"+i, OBJPROP_ANGLE, 90);          
          
                   
      ObjectCreate("CalendarLine"+i, OBJ_VLINE, 0, Date, Close[0]);
      ObjectSet("CalendarLine"+i, OBJPROP_COLOR, c);                    
      ObjectSet("CalendarLine"+i, OBJPROP_STYLE, STYLE_DOT);                    
      ObjectSet("CalendarLine"+i, OBJPROP_BACK, true);          
      ObjectSetText("CalendarLine"+i, stDescription, 8);                    
      
      i++;
      
    }
  Max = i;
  if (file!=-1)
    FileClose(file);
}

Hlavní procedura  GrabNews () otevře stažený soubor \ Html \ Calendar. csv,  načte všechny událostní parametry a vytvoří dva objekty pro každou zprávu: svislou čáru a text. Kalendář událostí je aktualizován každých 15 minut:

 int start()
  {

   int    counted_bars=IndicatorCounted();
//----
   if (TimeCurrent()>LastTimeDownloading+15*60)
     {
       DeleteObjects();
       DownloadCalendar();
       LastTimeDownloading = TimeCurrent();
      
       int file=-1;
       while (file==-1)
         file = FileOpen("\Html\Calendar.csv",FILE_READ|FILE_CSV,',');
       FileClose(file);

       GrabNews();
     }
//----
   return(0);
  }


Závěr

Tento článek vysvětluje, jak zobrazit Kalendář událostí z vnějších zdrojů na pracovní plochu v podobě vertikálních linek. Tento indikátor byl záměrně napsán bez nadměrných  parametrů, jako je filtrování zpráv podle jejich významu, nebo korespondence události a symbolu aktuálního okna.

Závěrečné poznámky:

Chtěl bych poukázat na chybu v kalendáři operací na http://www.dailyfx.com/calendar/. Upozorňuji, že někdy události v souboru .csv z adresy

 http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv

nejsou totožné s událostmi na stránce

http://www.dailyfx.com/calendar/.

 K tomu může dojít tak, že zprávy jsou zveřejněny od 00:00 do 01:00 (GMT).  V souboru .csv jsou takové zprávy  indikovány  o12 hodin později.

Rovněž upozorňujeme, že indikátor používá externí dll (kernell32.dll), takže nezapomeňte na odpovídající parametr v nastavení indikátoru.

Soubor CalendarArticle.mq4 by měl být uložen ve složce \ experts \ indicators. Time.mq4 by měl být uložen v experts\ library, Time.mqh - v  experts \ include.

Překlád z ruštiny pro MetaQuotes Software Corp.
Původní článek: http://articles.mql4.com/ru/520

Přílohy:

CalendarArticle.mq4 (4.9 Kb)
getright_setup.zip (4.7 Mb)
Time.mq4 (2.0 Kb)
Time.mqh (750 bytes)

 

Hodnocení článku:
Sdílení článku: 
   

Čtěte více

  • Známé mýty o tradingu, kterým byste měli přestat věřit
    Pokud jste začínajícím obchodníkem a chcete se posunout dále, musíte především porozumět tomu, co všechno obchodování zahrnuje, než abyste jen slepě přijímali běžné mýty. Tím, že poznáte některé z nejčastějších mýtů, můžete se vyhnout zbytečné frustraci při konfrontaci s nimi. I když existuje velká řada mýtů o tradingu, podíváme se na 3 nejběžnější. Právě tyto tři mýty mohou významně ovlivnit fázi vašeho vývoje v oblastech motivace a vývoje obchodního systému.
  • Znamená breaknutie levelu $20k na BTC uptrend v roku 2021?
    Kryptomeny sú tu viac ako 11 rokov a neprestávajú rásť v svojej hodnote. Bitcoin si síce prešiel silným výplachom v marci a padol až na hodnotu $4,000, no spamätal sa a nedávno sme mohli vidieť jeho break all time high levelu $20,000. Od začiatku roku je Bitcoin v pluse už dokonca viac ako 200%. Znamená tento breakout znovu ďalší uptrend?
  • Známý investor Paul Tudor Jones varuje: Akcie jsou v dnešní době příliš riskantní
    V minulém týdnu v rozhovoru pro CNBC investor a miliardář Paul Tudor Jones varoval, že dnešní doba není ideální pro investice do akcií. Cena akcií je vzhledem k aktuálním rizikům vysoká. Upozornil na dva klíčové důvody: geopolitickou situaci ve světě a fiskální situaci Spojených států.
  • Známy krypto influencer odporučil Bitcoin a 3 malé kryptomeny
    Marec býva často najkrvavejším kryptomenovým mesiacom. V histórii Bitcoinu sa stalo hneď 8x, že sa práve počas tohto mesiaca cena dostala do červených čísiel a marec sa uzavrel na nižších číslach, ako sa otvoril. Rovnako stále platí, že kryptomenový svet je vo veľkom ovplyvnený práve najväčšou kryptomenou, pričom je takmer pravidlom, že akým smerom sa hýbe Bitcoin, takým sa hýbe aj väčšina altcoinov. To ale neznamená, že pokiaľ sa Bitcoin má počas marca dostať do červených čísiel, tak sa v tomto svete nenájdu iné kryptomeny, ktoré majú potenciál na rast. Zopár z takýchto kryptomien iba prednedávnom zverejnil jeden z najväčších kryptomenových influencerov, Ben Armstrong.
  • Znáte rozdíly mezi MetaTrader 4 a MetaTrader 5
    Odhalíme vám jak se vyvíjeli obchodní platformy MetaTrader 4 a MetaTrader 5. Zjistíte k čemu jsou primárně určeny a jaký je mezi nimi rozdíl.
  • Znáte vašeho brokera?
    Často získáte větší přehled o dané profesi tím, že porozumíte její historii. V roce 1999 obchodování pro maloobchodní klienty nebo jednotlivce neexistovalo. Obchodování na měnových trzích se mohly účastnit pouze velké banky, hedgové fondy a jednotlivci s velkým jměním. A to z důvodu požadavků na minimální náklady na obchodování ve výši 1 milion amerických dolarů.
  • „Zneužití“ vaší pozornosti „velkými hráči“
    Trading je disciplína, ve které se žádná chyba neodpouští. I sebemenší výhoda tak může znamenat naprosto rozdílné obchodní výsledky. Začněte přemýšlet jako Market Maker a obchodní výhoda bude na vaší straně.
  • Zničí bitcoin zlato?! | Investiční Memento #71
    Máte rádi memečka? Protože analytici, investoři a obchodníci je přímo milují a mnohdy se jimi informují o aktuálně nejdůležitějších investičních událostech. Investor a člen Purple Trading Clubu, Petr Lajsek, pro vás každý týden prochází internetové diskuze a fóra a sbírá ty nejpovedenější z vtípků. Ty pak rozebere, dodá k nim kontext a doplňující informace z trhů. To vše pak shrne do videa, na které se stihnete podívat u odpoledního kafe. Dnes vyšlo v pořadí již 71. vydání Investičního Mementa. Na co se můžete těšit?
  • Zničí čínská konkurence Teslu?! | Investiční Memento #64
    Máte rádi memečka? Protože analytici, investoři a obchodníci je přímo milují a mnohdy se jimi informují o aktuálně nejdůležitějších investičních událostech. Investor a člen Purple Trading Clubu, Petr Lajsek, pro vás každý týden prochází internetové diskuze a fóra a sbírá ty nejpovedenější z vtípků. Ty pak rozebere, dodá k nim kontext a doplňující informace z trhů. To vše pak shrne do videa, na které se stihnete podívat u odpoledního kafe. Dnes vyšlo v pořadí již 64. vydání Investičního Mementa. Na co se můžete těšit?
  • Znovu přepálené technologie?
    Roky 2000, 2020 a nyní i 2023 by se daly charakterizovat na akciových trzích nadměrným zájmem o technologie. Růstoví giganti v čele s Amazonem, Applem a Teslou se dostávají do popředí a jako hlavní konstituenti indexu Nasdaq přidávají letos už desítky procent.
  • Zodpovědný Trump?
    Během středečního brzkého rána se naplnily obavy finančních trhů s tím, jak sčítání hlasů postupně potvrzovalo, že příštím americkým prezidentem se stane nepředvídatelný muž bez politické zkušenosti, Donald Trump.
  • Zohledňujete při svém obchodování Swap?
    Přehledně se dozvíte, co je swap a jak funguje a hlavně vám dáme několik praktických rad, jak se swapem pracovat.
  • Zopakuje Fed rétoriku ostatních centrálních bank?
    Ve středu nás čeká předposlední zasedání amerického Fedu v letošním roce. Možná nejturbulentnějším roce nejen pro trhy, ale také pro Fed, který dlouhou dobu nepřiznal, že by mohla být inflace takový problém, kterým je dnes. O to agresivněji musí nyní proti inflaci bojovat a my jsme byly svědky již třetího zvýšení sazeb o 75 bazických bodů. Akciové indexy jsou v reakci na horší přístup ke kapitálu pod silným tlakem, který nemusí být ani zdaleka u konce. Za poslední týdny se však trhy krátkodobě nadechly, což bylo odrazem solidní výsledkové sezony nad očekávání analytiků, ale v posledních dnech také jednoho zásadního momentu, ke kterému trhy krátkodobě vzhlíží. Tím je pivot utahování měnové politiky.
  • Zostane GBP/AUD v trendovom kanáli?
    V tomto pravidelnom tradingovom výhľade poukážem na minulý vývoj menový párov a pomocou technickej analýzy urobím predikciu na budúce dianie. V dnešnom výhľade sa pozrieme samozrejme na GBP/AUD a takisto aj NZD/USD a USD/CHF hlavne z daily timeframe, kde sa rysujú ďalšie zaujímavé obchodné príležitosti.
  • Zotavenie akciových indexov povedie k výpredaju
    Technické analýzy pre vybrané menové páry, akciové indexy a komodity ponúkajú možnosť nahliadnuť na spôsob, akým sú tieto dnes poskytované inštitucionálnym klientom či profesionálnym obchodníkom na kapitálových trhoch.
  • Zoznam populárnych online brokerov na Slovensku
    Aj na Slovensku sa v posledných mesiacoch zvýšil záujem o investovanie na finančných trhoch. Dokonca aj tradičné bankové domy rozbehli reklamné kampane na investovanie už od pár eur.
  • Z pár stovek na 40 000 USD za kus. Co jsou tokeny decentralizovaných financí a proč rostou
    Před několika týdny jsem krátce v přehledu sítě Ethereum představil koncept decentralizovaných financí a toho, že pro ni znamenají konkurenční výhodu do budoucna. Tokeny jsou nyní na světě a jejich zisky jsou naprosto astronomické. Jeden z nich se dokonce dostal na 38 000 USD. Má to ale velký háček.
  • Zpomalující Čína stojí za zhoršujícími se výsledky amerických společností
    Aktuálně probíhá v USA výsledková sezona a se svými reporty přišlo již několik společností včetně společnosti Caterpillar a Nvidie. Jejich výsledky, ale také několika dalších společností nedokázaly dorovnat očekávání ekonomů a stále častěji se hovoří o zpomalování globálního růstu ekonomiky. Nikoho pak nepřekvapí, že za zpomalením stojí z velké částí druhá největší ekonomika, Čína.
  • Zpověď obchodníka měsíce: Bez podpory rodiny by to nešlo
    „A euforii? Tu zažívám pokaždé, když za několik minut vydělám tolik, jako běžní lidé například za měsíc.“
  • Zpoždění jako výhoda
    Včera mi AOS udělal 2 zvláštní obchody na měnovém páru GBP/USD. Chvíli jsem se na to nechápavě díval a nemohl pochopit, jak je to možné. Pak mi to došlo.
  •  


    Diskuse ke článku

    Diskuse je přístupná pouze pro registrované uživatele.
    Přihlásit se | Nová registrace
Forex - doporučené články:

Co je FOREX?
Základní informace o finančním trhu FOREX. Forex je obchodování s cizími měnami (forex trading) a je zároveň největším a také nejlikvidnějším finančním trhem na světě.
Forex pro začátečníky
Forex je celosvětová burzovní síť, v jejímž rámci se obchoduje se všemi světovými měnami, včetně české koruny. Na forexu obchodují banky, fondy, pojišťovny, brokeři a podobné instituce, ale také jednotlivci, je otevřený všem.
1. část - Co to vlastně forex je?
FOREX = International Interbank FOReign EXchange. Mezinárodní devizový trh - jednoduše obchodování s cizími měnami - obchodování se směnnými kurzy.
VIP zóna - Forex Asistent
Nabízíme vám jedinečnou příležitost stát se součástí týmu elitních obchodníků FXstreet.cz. Ve spolupráci s předními úspěšnými obchodníky jsme pro vás připravili unikátní VIP skupinu (speciální uzavřená sekce na webu), až doposud využívanou pouze několika profesionálními tradery, a k tomu i exkluzivní VIP indikátory, doposud úspěšně používané pouze k soukromým účelům. Nyní se vám otevírá možnost stát se součástí této VIP skupiny, díky které získáte jedinečné know-how pro obchodování na forexu, výjimečné VIP indikátory, a tím také náskok před drtivou většinou ostatních účastníků trhu.
Forex brokeři - jak správně vybrat
V podstatě každého, kdo by chtěl obchodovat forex, čeká jednou rozhodování o tom, s jakým brokerem (přeloženo jako makléř/broker nebo zprostředkovatel) by chtěl mít co do činění a svěřil mu své finance určené k obchodování. Velmi rád bych vám přiblížil problematiku výběru brokera, rozdíl mezi jednotlivými typy brokerů a v neposlední řadě uvedu několik příkladů nejznámějších z nich.
Forex robot (AOS): Automatický obchodní systém
Snem některých obchodníků je obchodovat bez nutnosti jakéhokoliv zásahu do obchodu. Je to pouhá fikce nebo reálná záležitost? Kolik z nás věří, že "roboti" mohou profitabilně obchodovat? Na jakých principech fungují?
Forex volatilita
Forex volatilita, co je volatilita? Velmi užitečným nástrojem je ukazatel volatility na forexu. Grafy v této sekci ukazují volatilitu vybraného měnových párů v průběhu aktuální obchodní seance.
Forex zůstává největším trhem na světě
V dnešním článku se podíváme na nejnovější statistiky globálního obchodování na forexu. Banka pro mezinárodní vyrovnání plateb (BIS) totiž před pár týdny zveřejnila svůj pravidelný tříletý přehled, ve kterém detailně analyzuje vývoj na měnovém trhu. BIS je označována jako "centrální banka centrálních bank". Je nejstarší mezinárodní finanční organizací a hraje klíčovou roli při spolupráci centrálních bank a dalších institucí z finančního sektoru. Dnešní vzdělávací článek sice nebude zcela zaměřen na praktické informace z pohledu běžného tradera, ale i přesto přinese zajímavé a důležité poznatky.

Nejnovější články:


Naposledy čtené:

reklama
CapXmaster