Čtvrtek 21. listopadu 2024 14:35
reklama
CapXmaster srovnani
reklama
Investingfox Nastroje
reklama
CapXmaster
reklama
Dukascopy new

AOS - problém s kódem

AOS - problém s kódem. Prosím pomoc.

Jste na diskusním fóru jako nepřihlášený uživatel a Vaše funkce jsou tak omezené. Pro neomezený přístup je nutné být registrovaný a přihlášený uživatel. Nejste-li registrován/a klikněte pro bezplatnou registraci. Jednoduchá registrace vám otevře cestu k profesionálním informacím.

Registrací na FXstreet.cz můžete získat:

  • Možnost diskutovat s ostatními tradery.
  • Vkládání nových příspěvků a zakládání nových témat v diskusním fóru.
  • Možnost vyhledávání v tomto velmi rozsáhlém diskusním fóru.
  • Přístup k uzamčeným odborným článkům, sekcím a školy forexu.
  • Ebooky, manuály a obchodní systémy zdarma.
  • Zasílání newsletterů a informací o nových akcích a aktivitách portálu FXstreet.cz
  • Možnost psát vlastní blogy a články.
  • Možnost objednání tradingových knih, seminářů nebo VIP zóny.
  • Další přínosné informace z oblasti obchodování na forexu.
Autor AOS - problém s kódem (30 odpovědí)
soon
Nováček v diskuzi
avatar
Příspěvky: 1
Více informací o uživateli >>
program 30.01.2012 15:31

ahoj všem

hledám někoho kdo za úplatu je schopen naprogramovet AOS.

vcelku jednoduché: jeden indikátor (dodám)

                            vstupy při překročení zadaných hodnot indikátoru 

                           při vstupu otevření dvou obchodů najednou na různých symbolech

                           výstup dosažení zadaného zisku součtově na dvou otevřených obchodech, nebo při dosažení 

                           zadané  hodnoty indikátoru

                           SL dosažení zadné finanční ztráty na obou otevřených pozicích součtově

Případně pomoc při ůpravě kodu.

Pokoušel jsem se to programovat s výsledkem: výstupy fungují

                                                                vstupy fungují pouze pro jeden trh (druhý obchod se neotevře !) (nedokážu

                                                                naprogramovat otevření dvou pozic najednou :-()

V případě zájmu mne kontaktujte :   dalibormarasek@seznam.cz

 

Josif
Nováček v diskuzi
avatar
Příspěvky: 35
Více informací o uživateli >>
Potřeboval bych poradit 05.04.2012 11:21

dobrý den, mohl by mi někdo poradit, jak vyřešit problém, že můj systém otevírá obchod, když se musí restartovat server?

Kód vypadá následovně:

//+------------------------------------------------------------------+
//| Funkce co vrací poslední otevírací hodnotu obchodu BUY a SELL    |
//+------------------------------------------------------------------+

double lastOpenPrice()
   {
   double OpenPrice;                        
   datetime lastOpen;                                  
   double result = 0;
   double spread = NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD),2);
   for ( int i = OrdersTotal()-1; i >= 0 ; i--){
        if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES)==true)                                          
        
            {
            if 
            (  
            OrderMagicNumber() == magic                    
            && OrderSymbol() == Symbol()                         
            && OrderOpenTime() >= lastOpen    
            ) 
               {
               if (OrderType() == OP_BUY) {
                  result = OrderOpenPrice() - spread*Point/2;
                  }
               else if (OrderType() == OP_SELL) {
                  result = OrderOpenPrice() + spread*Point/2;
                  }
               }
            }
         
         if (OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES)==true)                                          
        
            {
            if 
            (  
            OrderMagicNumber() == magic                    
            && OrderSymbol() == Symbol()                         
            && OrderOpenTime() >= lastOpen    
            ) 
               {
               if (OrderType() == OP_BUY) {
                  result = OrderOpenPrice() - spread*Point/2;
                  }
               else if (OrderType() == OP_SELL) {
                  result = OrderOpenPrice() + spread*Point/2;
                  }
               }
            }
       }  
return (result);                                      
}

//ukazuje, zda už je překročena horní hranice pro další obchody


bool CloseBuy() {
double step = tradeLevel*Point*adjust;
double spread = NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD),2);
bool result = 0;
if (lastOpenPrice()==0)result = 0;
if ((lastOpenPrice() + step + spread*Point/2) < Ask){
   result =1;
   }
else result = 0;  
return(result); 
}

// v této části dochází k chybě, kdy pouze na reálném účtu dochází k předčasnému uzavírání obchodů

if (CloseBuy()){
   for(i=total-1;i>=0;i--) {  
          if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_BUY && magic == OrderMagicNumber() && Symbol() == OrderSymbol()) {
             TradeContext();
             result = OrderClose(OrderTicket(), OrderLots(),MarketInfo(OrderSymbol(), MODE_BID), slippage,Red ); 
             if (result < 0)
               {
               Print("Closing buy order " + OrderTicket() + " error " + GetLastError() + ".");
               }
             }
              
      }

Chybu nemůžu najít, protože to nedělá ani na demu a už vůbec ne na testeru. Problém je někde v konektivitě serveru.. Ve chvíli, kdy se konektivita ztratí, nebo kdy se server restartuje, tak to obchod uzavře i když by nemělo... Čili můžete mi poradit, jak tento problém vyřešit? Například pomocí funkce Sleep(XXX); ?? A prosím jsem začátečník programátor, tak to kdyžtak vysvětlete do detailu, děkuji mnohokrát..

Josif

Obchodování: pokročilý
Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Potřeboval bych poradit 05.04.2012 12:24

Vzhledem k tomu, že je to rozkouskovaný, tak nezbývá, než se podívat na jednotlivé části....začnu od konce:

v podmínce if(CloseBuy())).... se provádí zavření pokynů, pokud funkce CloseBuy() vrací true. V této části nevypadá, že by tam mělo být něco špatně, hlavně né v té souvislosti, co píšeš, protože to obchody zavírá :).

Problém je ve funkci CloseBuy(). Ta vrací signál, že se mají pokyny zavřít. Jednak uvnitř této funkce je jedna podmínka úplně zbytečná (if(lastOpenPrice() == 0) result = 0;), protože hned za tou podmínkou je další, která to stejně rozsekne. Ale to není teď důležité.

Takže když se podíváme dále, tak se tam volá funkce lastOpenPrice(), která hledá v seznamu pokynů a vrací cenu posledního otevřeného pokynu. No a tady je to teď nejisté. Jednak se tam hledá jak mezi pokyny typu BUY, tak SELL, ale cena je důležitá pro pokyny typu BUY. Pokud tedy někde nevisí SELL, tak pak nezbývá nic jiného, než si hezky pomocí Print() vypsat návratové hodnoty + nějaké ty proměnné a sledovat. Protože jediný, kdo za to může je funkce CloseBuy(), která vrací signál.

Mimochodem, pokud to běží na demu a na reálu ne, tak je třeba ověřit toto: Používají se všude stejné soubory? Nedošlo k tomu, že se píše něco na demu a pak se to nakopíruje na reál, kde ale v grafu běží stále stejná strategie, akorát nedošlo k rekompilaci (oni totiž strategie umístěné v grafu se načítají z cache a je třeba je odebrat z grafu, zavřít platformu a nastartovat hezky všechno od začátku). Nejsou na reálu také jiné pokyny, které logiku ovlivňují?

Dále, jestli že dojde ke ztrátě spojení a znovu zalogování platformy, tak se volá na strategii funkce init() a pak zase start(). Je třeba se podívat, jestli se náhodou v init() nevolá něco, co by mohlo pak zlobit. Do celého kódu nevidím, takže nemůžu poradit přesněji.

kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
EA nezvládá počítat tick pohyby 05.04.2012 14:54

Zdravím, napsal jsem si nejjednodušší kod, kdy jsem do sekce sekce start() napsal pouze:

cntTick++;

Alert(CntTick, "   ", Volume[0] );

toť vše. Pustil jsem to a sledoval jsem, jak se rozchází údaje cntTick a Volume... Volume rostla více. Přidal jsem si okno tick pohybu (treba "Nový pokyn") a zjistil, že i takový nejjednodušší kod nezvládá počítat pohyby ceny. Problemy nastaly v okamžiku, kdy cena kmitla sem a tam zpět. CntTick takový pohyb (sem a tam) vzala jako jeden (nikoliv dva), kdežto Volume vzrostla o dva. Přidal jsem do výpisu třetí údaj Close[0] a zjistil jsem, že (dejme tomu došlo k pohybu nahoru a dolů): kod vrátí až close cenu po vrácení (čili cenu o +1pips) nepostřehne, cntTick, který měl vzrůst o 2 (nahoru a dolů pohyb ceny) vzroste o 1; Volume vzroste skokově o 2 (i víc někdy).

Závěr: Tvrzení, že EA/Indi se počítá s každým tick pohybem = po tomto testu beru jako minimálně HODNĚ SPORNÉ!

Jak zajistit, aby se cntTick a Volume co nejvíce blížili? Např. na tf H1 byl rozdíl mezi těmito údaji 1700cntTick / 2300Volume. 

Ocením rady nebo informace, co mi zatím uniklo. Děkuji.

 

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: EA nezvládá počítat tick pohyby 05.04.2012 15:10
Odpověď na: kajman

Zdravím, napsal jsem si nejjednodušší kod, kdy jsem do sekce sekce start() napsal pouze:

cntTick++;

Alert(CntTick, "   ", Volume[0] );

toť vše. Pustil jsem to a sledoval jsem, jak se rozchází údaje cntTick a Volume... Volume rostla více. Přidal jsem si okno tick pohybu (treba "Nový pokyn") a zjistil, že i takový nejjednodušší kod nezvládá počítat pohyby ceny. Problemy nastaly v okamžiku, kdy cena kmitla sem a tam zpět. CntTick takový pohyb (sem a tam) vzala jako jeden (nikoliv dva), kdežto Volume vzrostla o dva. Přidal jsem do výpisu třetí údaj Close[0] a zjistil jsem, že (dejme tomu došlo k pohybu nahoru a dolů): kod vrátí až close cenu po vrácení (čili cenu o +1pips) nepostřehne, cntTick, který měl vzrůst o 2 (nahoru a dolů pohyb ceny) vzroste o 1; Volume vzroste skokově o 2 (i víc někdy).

Závěr: Tvrzení, že EA/Indi se počítá s každým tick pohybem = po tomto testu beru jako minimálně HODNĚ SPORNÉ!

Jak zajistit, aby se cntTick a Volume co nejvíce blížili? Např. na tf H1 byl rozdíl mezi těmito údaji 1700cntTick / 2300Volume. 

Ocením rady nebo informace, co mi zatím uniklo. Děkuji.

 

Však k tobě do do počítače se vůbec nemusí dostat každý tick. Síťový přenos ti nezaručuje 100% komunikaci. To samé může být u brokera, že od něj se každý tick neodešle. Další věcí může být to, že pokud EA nebo indikátor zpracovává metodu start(), tak přijdeli od brokera tick a metoda start() ještě neskončila, tak tento tick se již nezpracovává, protože vlákno zpracovávající požadavek je busy. To se stává hlavně ve spojitosti s grafickými prvky, proto Alert, Print zabírají každou milisekendu navíc díky tomu, že musí provést mnoho dalších úkonů a proto tyto ms mohou chybět při samotném zpracování dalších údajů. MT4 není nástroj pro vysokofrekvenční zpracování dat, je třeba k tomu přihlédnout.

kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
Re: Re: EA nezvládá počítat tick pohyby 05.04.2012 20:45
Odpověď na: Geafer

Však k tobě do do počítače se vůbec nemusí dostat každý tick. Síťový přenos ti nezaručuje 100% komunikaci. To samé může být u brokera, že od něj se každý tick neodešle. Další věcí může být to, že pokud EA nebo indikátor zpracovává metodu start(), tak přijdeli od brokera tick a metoda start() ještě neskončila, tak tento tick se již nezpracovává, protože vlákno zpracovávající požadavek je busy. To se stává hlavně ve spojitosti s grafickými prvky, proto Alert, Print zabírají každou milisekendu navíc díky tomu, že musí provést mnoho dalších úkonů a proto tyto ms mohou chybět při samotném zpracování dalších údajů. MT4 není nástroj pro vysokofrekvenční zpracování dat, je třeba k tomu přihlédnout.

ten tick pohyb vidím, čili data ke mně dorazila

pokud mám v sekci start() pouze jak jsem psal - tak tohle: "Další věcí může být to, že pokud EA nebo indikátor zpracovává metodu start(), tak přijdeli od brokera tick a metoda start() ještě neskončila, tak tento tick se již nezpracovává, protože vlákno zpracovávající požadavek je busy. " - je mimo to, co jsem konkrétně popisoval.

S použitím GetTickCount() lze jednoduše změřit, kolik času zabere příslušná část kodu. V tomto případě se bavíme o době pod 1ms (GetTickCount() vrací nulu, tj. je schopen měřit čas od 1ms výše) Souhlasím, že MT je komerční terminál nikoliv profi platforma. Jiné nápady, návrhy? Do nedávna jsem tohle vůbec neřešil a nepotřeboval pitvat, ale vývoj a okolnosti mne k tomu dovedly.

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Re: Re: EA nezvládá počítat tick pohyby 05.04.2012 22:59
Odpověď na: kajman

ten tick pohyb vidím, čili data ke mně dorazila

pokud mám v sekci start() pouze jak jsem psal - tak tohle: "Další věcí může být to, že pokud EA nebo indikátor zpracovává metodu start(), tak přijdeli od brokera tick a metoda start() ještě neskončila, tak tento tick se již nezpracovává, protože vlákno zpracovávající požadavek je busy. " - je mimo to, co jsem konkrétně popisoval.

S použitím GetTickCount() lze jednoduše změřit, kolik času zabere příslušná část kodu. V tomto případě se bavíme o době pod 1ms (GetTickCount() vrací nulu, tj. je schopen měřit čas od 1ms výše) Souhlasím, že MT je komerční terminál nikoliv profi platforma. Jiné nápady, návrhy? Do nedávna jsem tohle vůbec neřešil a nepotřeboval pitvat, ale vývoj a okolnosti mne k tomu dovedly.

Máš to jako indikátor nebo strategii?

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Re: Re: EA nezvládá počítat tick pohyby 05.04.2012 23:53
Odpověď na: kajman

ten tick pohyb vidím, čili data ke mně dorazila

pokud mám v sekci start() pouze jak jsem psal - tak tohle: "Další věcí může být to, že pokud EA nebo indikátor zpracovává metodu start(), tak přijdeli od brokera tick a metoda start() ještě neskončila, tak tento tick se již nezpracovává, protože vlákno zpracovávající požadavek je busy. " - je mimo to, co jsem konkrétně popisoval.

S použitím GetTickCount() lze jednoduše změřit, kolik času zabere příslušná část kodu. V tomto případě se bavíme o době pod 1ms (GetTickCount() vrací nulu, tj. je schopen měřit čas od 1ms výše) Souhlasím, že MT je komerční terminál nikoliv profi platforma. Jiné nápady, návrhy? Do nedávna jsem tohle vůbec neřešil a nepotřeboval pitvat, ale vývoj a okolnosti mne k tomu dovedly.

ten tick pohyb vidím, čili data ke mně dorazila
Jsi si jist, že k tobě dorazí vždy data, to že tick vidíš, to opravdu neznamená, že k tobě dorazí. Sám píšeš, že ti volume skočí o dvě hodnoty, ale tvůj counter pouze o 1, ale dejme tomu, že k tobě dorazí vždy. Tak jinak, volume vrací kdo? - broker. A counter se ti načítá kdy? - když se ti spustí funkce start. A funkce start se ti volá kdy? - u indikátoru, až se ti provede přepočet na všech indikátorech, protože indikátory na jednom grafu jedou v jednom společném vlákně. U strategie jakmile je metoda start dostupná a pokud ti kód zabírá nula celá nic, tak to pořád neznamná, že je funkce start synchronní s reálným tickem na serveru.

A co se týče tvého dotazu, jak příblížit počítadlo k volume, tak nevím, k jakýmu účelu to potřebuješ, ale když máš volume pro každou svící danou od brokera a nemáš od programu zajištěnou synchronizaci volání tvého programu s ticky na centrálním serveru, tak to těžko můžeš příblížit než tak, že si akorát tak přečteš hodnotu z volume.

A mimochodem Close[0] neznamená, že je vždy naplněna správně, stejně jako Volume[0], proto existuje vynucená funkce RefreshRates().

kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
Re: Re: Re: Re: EA nezvládá počítat tick pohyby 06.04.2012 10:32
Odpověď na: Geafer

ten tick pohyb vidím, čili data ke mně dorazila
Jsi si jist, že k tobě dorazí vždy data, to že tick vidíš, to opravdu neznamená, že k tobě dorazí. Sám píšeš, že ti volume skočí o dvě hodnoty, ale tvůj counter pouze o 1, ale dejme tomu, že k tobě dorazí vždy. Tak jinak, volume vrací kdo? - broker. A counter se ti načítá kdy? - když se ti spustí funkce start. A funkce start se ti volá kdy? - u indikátoru, až se ti provede přepočet na všech indikátorech, protože indikátory na jednom grafu jedou v jednom společném vlákně. U strategie jakmile je metoda start dostupná a pokud ti kód zabírá nula celá nic, tak to pořád neznamná, že je funkce start synchronní s reálným tickem na serveru.

A co se týče tvého dotazu, jak příblížit počítadlo k volume, tak nevím, k jakýmu účelu to potřebuješ, ale když máš volume pro každou svící danou od brokera a nemáš od programu zajištěnou synchronizaci volání tvého programu s ticky na centrálním serveru, tak to těžko můžeš příblížit než tak, že si akorát tak přečteš hodnotu z volume.

A mimochodem Close[0] neznamená, že je vždy naplněna správně, stejně jako Volume[0], proto existuje vynucená funkce RefreshRates().

Bylo to pusteny jako indik. Zcela cisty mt graf i platforma, proste nic jen toto, jak jsem psal.

Myslim, ze jsem si jisty, ze data ke mne dorazila - to, ze se cena posune tam a zpet - na to snad nemuze existovat jine vysvetleni nez ze mt prijal data o zmene ceny. Jinak by si snad musel generovat nahodne pohyby :-)

Je jasné, že nemohu mít synchronní fci. start s tickem na serveru (to bych musel mit VPS vedle jejich serveru), ja jen chci mit synchronni start() s prijatym a zobrazenym pohybem ceny v mt. Prodleva site je jina kapitola. Nechme stranou, resim situaci, co se deje pote, co mt obdrzi data.

K cemu potrebuji: Tak treba si predstav situaci, ze potrebuji vedet, kolikrat se obchodovalo na dane cene behem svicky. Ve specifickem pripade, kdyby byly same zakmity na danou hladinu a cena by se hned vracela, by mi counter ukazal nula (protoze ten pohyb ani jednou nezachytil) a v realu tam mohl byt x-krat. 

RefreshRates - ted z fleku si nejsem jisty, ale tato fce. se aktualizuje (provede) az s dalsim tickem, myslim, ze vraci bool hodnotu. Cekat na dalsi tick=zmena ceny, znamena, ze predchozi cena je minulost a propadla mi. Tedy toto pro mne neni cesta ke zlepseni. Pokud se mylim, oprav me. Pisu to z fleku.

Upresneni: "u indikátoru, až se ti provede přepočet na všech indikátorech, protože indikátory na jednom grafu jedou v jednom společném vlákně. " Mam tomu rozumnet tak, ze kdyz bych mel v grafu treba 3 samostatne indi, jeden easy a dva robustní, tak dokud neskončí výpočet robustních indi. bude i ten easy indi. blokovaný a nebude reagovat na ticky v té dobe? Tak jsi to myslel? Dik.

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Re: Re: Re: Re: EA nezvládá počítat tick pohyby 06.04.2012 13:17
Odpověď na: kajman

Bylo to pusteny jako indik. Zcela cisty mt graf i platforma, proste nic jen toto, jak jsem psal.

Myslim, ze jsem si jisty, ze data ke mne dorazila - to, ze se cena posune tam a zpet - na to snad nemuze existovat jine vysvetleni nez ze mt prijal data o zmene ceny. Jinak by si snad musel generovat nahodne pohyby :-)

Je jasné, že nemohu mít synchronní fci. start s tickem na serveru (to bych musel mit VPS vedle jejich serveru), ja jen chci mit synchronni start() s prijatym a zobrazenym pohybem ceny v mt. Prodleva site je jina kapitola. Nechme stranou, resim situaci, co se deje pote, co mt obdrzi data.

K cemu potrebuji: Tak treba si predstav situaci, ze potrebuji vedet, kolikrat se obchodovalo na dane cene behem svicky. Ve specifickem pripade, kdyby byly same zakmity na danou hladinu a cena by se hned vracela, by mi counter ukazal nula (protoze ten pohyb ani jednou nezachytil) a v realu tam mohl byt x-krat. 

RefreshRates - ted z fleku si nejsem jisty, ale tato fce. se aktualizuje (provede) az s dalsim tickem, myslim, ze vraci bool hodnotu. Cekat na dalsi tick=zmena ceny, znamena, ze predchozi cena je minulost a propadla mi. Tedy toto pro mne neni cesta ke zlepseni. Pokud se mylim, oprav me. Pisu to z fleku.

Upresneni: "u indikátoru, až se ti provede přepočet na všech indikátorech, protože indikátory na jednom grafu jedou v jednom společném vlákně. " Mam tomu rozumnet tak, ze kdyz bych mel v grafu treba 3 samostatne indi, jeden easy a dva robustní, tak dokud neskončí výpočet robustních indi. bude i ten easy indi. blokovaný a nebude reagovat na ticky v té dobe? Tak jsi to myslel? Dik.

Začnu s tím vláknem. Bohužel indikátory skutečně běží ve společném vlákně jednoho grafu. To znamená, že když budeš mít dva indikátory, co potřebujou trochu času, tak ti můžou brzdit tvů indikátor. Stejně tak to platí i pro indikátory, které se používají přes funkci iCustom nebo systémové iMA, iMACD, apod. Pokud to nejde předělat do strategie, která si vyhrazuje vlastní vlákno, je dobrý ten indikátor dát do novýho grafu, aby se ulehčilo, záleží na možnostech a okolnostech.

RefrehsRates vrací true, ale jako důkaz, že nebylo nic třeba aktualizovat. Ona ta funkce se používá hlavně ve smyslu toho, že něco počítáš, mezitím ti přijde do MT tick, který pochopitelně nezavolá funkci start(), protože funkce ještě neskončila a tím pádem nedošlo k nastavení proměnných jako je Bid, Ask, Time[], Low[], High[], Open[], Close[], Volume[]. Nicméně, ale toto asi nebude protobe důležité. Podle mě bojuješ s větrnými mlýny. Já vím, že tam pořád tahám ten trafik na síti, ale to je prostě vedlejší efekt. Jinak hodnotu Volume[0] ti nastavuje broker (když to hodně z obecním, zkrátka to chodí od brokera, MT to jenom zpracovává), takže jestli, že se ti v čase 0.0001s objeví tick, a v čase 0.0002s objeví další tick, tak to neznamená, že volume bude o 1 větší, prostě tam mohla být na centrále další volatilita, která volume nastavila o N více, než ty čekáš. A vizuální kontrola, která spočívá v tom, že to vidíš, že se to pohlo, ale přitom se nezavolala funkce start(), tak té nevěř, to je tam nejmíň přesná kontrola - graficky to vůbec nemusí odpovídat.

Zkusil jsem si udělat taky counter, ale měl jsem ho ve strategii a na TF H4 a H1 jsem se lišil o jednotky až desítky. Na nižších to bylo menší. Nicméně to bylo v době kdy nebyla žádná volatilita, takže můj závěr je, že se ti to bude rozcházet nejvíc právě při vysoké volatilitě, protože ti broker prostě předává data pro tebe už s křížkem po funuse a je jedno, jestli se ti zavolá funkce start nebo ne.

kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
... 10.04.2012 09:05

Jasný. V pátek byla mizerná volatilita, to byl klidný den. Dík za objasnění viz. 1.odst. a RefreshRates - to nemusím dohledávat.

Tick a Volume = hmmm, asi to budu muset zkousnout, ale netuším jak. Myslel jsem, že se to povede nějakou chytrou myšlenkou vyřešit. Dík za konzultaci.

Josif
Nováček v diskuzi
avatar
Příspěvky: 35
Více informací o uživateli >>
Re: Re: Potřeboval bych poradit 11.04.2012 17:28
Odpověď na: Geafer

Vzhledem k tomu, že je to rozkouskovaný, tak nezbývá, než se podívat na jednotlivé části....začnu od konce:

v podmínce if(CloseBuy())).... se provádí zavření pokynů, pokud funkce CloseBuy() vrací true. V této části nevypadá, že by tam mělo být něco špatně, hlavně né v té souvislosti, co píšeš, protože to obchody zavírá :).

Problém je ve funkci CloseBuy(). Ta vrací signál, že se mají pokyny zavřít. Jednak uvnitř této funkce je jedna podmínka úplně zbytečná (if(lastOpenPrice() == 0) result = 0;), protože hned za tou podmínkou je další, která to stejně rozsekne. Ale to není teď důležité.

Takže když se podíváme dále, tak se tam volá funkce lastOpenPrice(), která hledá v seznamu pokynů a vrací cenu posledního otevřeného pokynu. No a tady je to teď nejisté. Jednak se tam hledá jak mezi pokyny typu BUY, tak SELL, ale cena je důležitá pro pokyny typu BUY. Pokud tedy někde nevisí SELL, tak pak nezbývá nic jiného, než si hezky pomocí Print() vypsat návratové hodnoty + nějaké ty proměnné a sledovat. Protože jediný, kdo za to může je funkce CloseBuy(), která vrací signál.

Mimochodem, pokud to běží na demu a na reálu ne, tak je třeba ověřit toto: Používají se všude stejné soubory? Nedošlo k tomu, že se píše něco na demu a pak se to nakopíruje na reál, kde ale v grafu běží stále stejná strategie, akorát nedošlo k rekompilaci (oni totiž strategie umístěné v grafu se načítají z cache a je třeba je odebrat z grafu, zavřít platformu a nastartovat hezky všechno od začátku). Nejsou na reálu také jiné pokyny, které logiku ovlivňují?

Dále, jestli že dojde ke ztrátě spojení a znovu zalogování platformy, tak se volá na strategii funkce init() a pak zase start(). Je třeba se podívat, jestli se náhodou v init() nevolá něco, co by mohlo pak zlobit. Do celého kódu nevidím, takže nemůžu poradit přesněji.

Už jsem na to přišel, vždyť jsem tam měl dvakrát různý OrderSelect :) Jednou podle ticket a jednou podle pozice. Díky za pomoc, měl jsi pravdu, bylo to v tom prvním...

Obchodování: pokročilý
kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
LOG soubor 13.04.2012 09:46

Zdravim, mohl by mi někdo objasnit, následující zápis z log souboru, kde pracuje pouze jedna EA?

20:56:03 #SignalSend EURUSD,H1: open #34554444 sell 0.04 6EM2 at 1.3197 ok - ROZUMIM

21:00:22 #SignalSend EURUSD,H1: shutdown by timeout - VYPNUTI EA NEBO JINY STAV? NEVIM....

21:00:22 #SignalSend EURUSD,H1: uninit reason 1  - ZNOVUSPUSTENI???

21:00:22 #SignalSend EURUSD,H1: removed - ZNOVUSPUSTEENI???

21:05:50 #SignalSend EURUSD,H1: loaded successfully - JASNY

21:05:56 #SignalSend EURUSD,H1 inputs: Symbol="EURUSD"; - JASNY

dIKY

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: LOG soubor 13.04.2012 11:31
Odpověď na: kajman

Zdravim, mohl by mi někdo objasnit, následující zápis z log souboru, kde pracuje pouze jedna EA?

20:56:03 #SignalSend EURUSD,H1: open #34554444 sell 0.04 6EM2 at 1.3197 ok - ROZUMIM

21:00:22 #SignalSend EURUSD,H1: shutdown by timeout - VYPNUTI EA NEBO JINY STAV? NEVIM....

21:00:22 #SignalSend EURUSD,H1: uninit reason 1  - ZNOVUSPUSTENI???

21:00:22 #SignalSend EURUSD,H1: removed - ZNOVUSPUSTEENI???

21:05:50 #SignalSend EURUSD,H1: loaded successfully - JASNY

21:05:56 #SignalSend EURUSD,H1 inputs: Symbol="EURUSD"; - JASNY

dIKY

Přerušením funkce start() např. změnou time-frame nebo vyjmutí EA z grafu či ukončení MT. Např. pokud dojde ke změně časového rámce, tak MT počká až se dokončí funkce start(), aby mohla zavolat funkci deinit(). Pokud do 2 sekund nedojde k ukončení, tak MT ukončí vlákno a zaloguje "shutdown by time". Následný zápis uninit reason 1 = odebráno z grafu, to se děje i při změně časového rámce. Removed je už jenom potvrzení. Za dalších 5 minut se vše spustilo znovu. Mohlo se také jednat o odhlášení platformy.

kajman
Silver member
avatar
Příspěvky: 254
Více informací o uživateli >>
Re: Re: LOG soubor 14.04.2012 09:32
Odpověď na: Geafer

Přerušením funkce start() např. změnou time-frame nebo vyjmutí EA z grafu či ukončení MT. Např. pokud dojde ke změně časového rámce, tak MT počká až se dokončí funkce start(), aby mohla zavolat funkci deinit(). Pokud do 2 sekund nedojde k ukončení, tak MT ukončí vlákno a zaloguje "shutdown by time". Následný zápis uninit reason 1 = odebráno z grafu, to se děje i při změně časového rámce. Removed je už jenom potvrzení. Za dalších 5 minut se vše spustilo znovu. Mohlo se také jednat o odhlášení platformy.

Děkuji moc za info. Mám související dotaz, všiml jsem si, že většinou mám v logu zapsáno: uninit reason 1 ale taky se tam objeví uninit reason 5 - víš jaký je v tm rozdíl? Co to číslo vyjadřuje?  Možná by mi to pomohlo rozlousknout a pochopit co se mi děje v EA. Díky.

Geafer
Gold member
avatar
Příspěvky: 439
Více informací o uživateli >>
Re: Re: Re: LOG soubor 15.04.2012 11:24
Odpověď na: kajman

Děkuji moc za info. Mám související dotaz, všiml jsem si, že většinou mám v logu zapsáno: uninit reason 1 ale taky se tam objeví uninit reason 5 - víš jaký je v tm rozdíl? Co to číslo vyjadřuje?  Možná by mi to pomohlo rozlousknout a pochopit co se mi děje v EA. Díky.

  0 Script finished its execution independently. (Ukončeno nezávisle)
REASON_REMOVE 1 Expert removed from chart. (Odebráno z grafu)
REASON_RECOMPILE 2 Expert recompiled. (Rekompilace)
REASON_CHARTCHANGE 3 symbol or timeframe changed on the chart. (Změna TF nebo  symbolu)
REASON_CHARTCLOSE 4 Chart closed. (Zavření grafu)
REASON_PARAMETERS 5 Inputs parameters was changed by user. (Změna vstupních parametrů)
REASON_ACCOUNT 6 Other account activated. (Změna účtu)
Josif
Nováček v diskuzi
avatar
Příspěvky: 35
Více informací o uživateli >>
Rada 09.10.2012 18:00

Dobrý den,

mohu tu někoho opět požádat o radu? Následující funkce má za úkol najít v hedgingovém systému obchody, které se uzavírají ve stejný čas..(přibližně, mám tam určité rozmezí) Jenže se mi zatím podařilo vždycky najít pouze poslední dva ve stejnou chvíli uzavřené obchody. Já bych ale potřeboval, aby mi to našlo všechny ve stejnou chvíli uzavřené obchody za poslední celkem například 20 obchodů a za každou tuto situaci to zvýšilo výslednou hodnotu o "1". viz proměnná ct=ct+1; Zde je kód:

int TradesAdder() {
int last_buy_closed_order_ticket;
int last_sell_closed_order_ticket;
int last_buy_closed_time = 0;
int last_sell_closed_time = 0;
int ct=0;
int LowerLimit = 0;
int HigherLimit = 0;
int SecondsLimit = 100;
bool IsTrue;
for(int k=20;k>=0;k--) {
   if(OrderSelect(k,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol() == Symbol() && OrderType()==OP_BUY){
      if(OrderCloseTime()>last_buy_closed_time){
         last_buy_closed_time=OrderCloseTime();
         last_buy_closed_order_ticket=OrderTicket();
         }

      }
  
if (OrderSelect(last_buy_closed_order_ticket, SELECT_BY_TICKET, MODE_HISTORY)){    
LowerLimit = last_buy_closed_time - SecondsLimit;
HigherLimit = last_buy_closed_time + SecondsLimit;      


   if(OrderSelect(k,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol() == Symbol() && OrderType()==OP_SELL){
      if(OrderCloseTime()>last_sell_closed_time){
         last_sell_closed_time=OrderCloseTime();
         last_sell_closed_order_ticket=OrderTicket();
         }
      }
   }
if (OrderSelect(last_sell_closed_order_ticket, SELECT_BY_TICKET, MODE_HISTORY)){           
int SellCloseTime = OrderCloseTime();
}   

for (k=OrdersTotal()-1;k>=0;k--) {
   int previousCT = Result;
   if (LowerLimit<SellCloseTime && SellCloseTime<HigherLimit) {
      ct = ct+1;
   }
   Print ("ct ",Result);
return(ct);  
}
  

Moc děluji za každou pomoc!

Obchodování: pokročilý
petrincak
Silver member
avatar
Příspěvky: 296
Více informací o uživateli >>
Žádost 30.07.2013 21:29

Dobrý den,

chtěl bych vypomoct s naprogramováním jednoduchého AOS pomocníka. Pro Vás to bude hračka. AOS by mělo fungovat následovně:
Mám otevřené tři pozice na jednom páru, dejme tomu i hedge. AOS má jedinou funkci a to, že při manuálním otevření 4 pozice okamžitě uzavře první order(čili nejstarší pozici), takže zůstanou otevřené zase jen tři pozice. Toť vše.
Děkuji za odpověď. :-)
Stále se učím z vlastních chyb. Na forexu od 1.8.2010.
STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
PROSÍM POMOOOC.. 09.09.2013 09:08

Ahoj všem. Potřeboval bych pomoci s jedním kodem, ne a ne to vymyslet..

jde mi o toto:
když kurz např. EURUSD dosáhne ceny 1,3170 potřeboval bych, aby se mi otevřel obchod BUY, 0,2 lotu, s SL 20pips a TP 20pisp. Toto problém není, ale jak ověřit, zda ten obchod již nebyl otevřen? tedy aby se obchod znovu neotevřel, pokud již obchod byl otevřen?

moc děkuji za praktickou radu, pokud možno přímo kod..:) 

yurij
Nováček v diskuzi
avatar
Příspěvky: 52
Více informací o uživateli >>
Re: PROSÍM POMOOOC.. 09.09.2013 09:36
Odpověď na: STEFIINO

Ahoj všem. Potřeboval bych pomoci s jedním kodem, ne a ne to vymyslet..

jde mi o toto:
když kurz např. EURUSD dosáhne ceny 1,3170 potřeboval bych, aby se mi otevřel obchod BUY, 0,2 lotu, s SL 20pips a TP 20pisp. Toto problém není, ale jak ověřit, zda ten obchod již nebyl otevřen? tedy aby se obchod znovu neotevřel, pokud již obchod byl otevřen?

moc děkuji za praktickou radu, pokud možno přímo kod..:) 

cau, posielam pseudo kod:

bool isOpened(string curr, double atPrice, int ordType)
{
   for (int i = OrdersTotal() - 1; i >= 0; i--) {   
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == curr && OrderOpenPrice() == atPrice && OrderType() == ordType) 
         return(true);
   }

    return(false);
}

v kode potom napriklad: isOpened(Symbol(), 1.23, OP_BUY);

STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
Re: Re: PROSÍM POMOOOC.. 09.09.2013 12:19
Odpověď na: yurij

cau, posielam pseudo kod:

bool isOpened(string curr, double atPrice, int ordType)
{
   for (int i = OrdersTotal() - 1; i >= 0; i--) {   
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == curr && OrderOpenPrice() == atPrice && OrderType() == ordType) 
         return(true);
   }

    return(false);
}

v kode potom napriklad: isOpened(Symbol(), 1.23, OP_BUY);

Moc moc díky ale mám trochu problém s použitím. přecenil jsem se a teď nevím jak to sestavit.. chtěl jsem to udělat takto:

 if(isOpened(1.3270,OP_BUY)==false)
{ticket = OrderSend (Symbol (),OP_BUY, 0.2,Bid ,3,0,Bid + 15 * Point , NULL,0,0,CLR_NONE );}

ale ono to nějak nejede.. jak se dá té funkce isOpened v tom kodě využít? znovu předem díky..

yurij
Nováček v diskuzi
avatar
Příspěvky: 52
Více informací o uživateli >>
Re: Re: Re: PROSÍM POMOOOC.. 09.09.2013 12:47
Odpověď na: STEFIINO

Moc moc díky ale mám trochu problém s použitím. přecenil jsem se a teď nevím jak to sestavit.. chtěl jsem to udělat takto:

 if(isOpened(1.3270,OP_BUY)==false)
{ticket = OrderSend (Symbol (),OP_BUY, 0.2,Bid ,3,0,Bid + 15 * Point , NULL,0,0,CLR_NONE );}

ale ono to nějak nejede.. jak se dá té funkce isOpened v tom kodě využít? znovu předem díky..

prvy parameter funkcie je mena (v pripade aktualnej je to Symbol() ) -> if(isOpened(Symbol(),1.3270,OP_BUY)==false)

STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
Re: Re: Re: Re: PROSÍM POMOOOC.. 09.09.2013 14:46
Odpověď na: yurij

prvy parameter funkcie je mena (v pripade aktualnej je to Symbol() ) -> if(isOpened(Symbol(),1.3270,OP_BUY)==false)

hurááá funguje to.. díky moc..  jen...

teď mám zase jinej problém, který souvisí...
chci koupit 0,2 lotu BUY při ceně 1,3150. Pomocí funkce isOpened jsem zjistil, že jsem tento obchod ještě neuzavřel a proto se obchod při kurzu 1,3150 otevře.. no jo, ale když po té otevřu jiný obchod, nebo dva, který nesouvisí s moji strategii čekat na kurz 1,3150, a cena se třeba vrátí na kurz 1,3140 pak by se mohlo stát, že se otevře znovu i když už ten obchod mám otevřený. Tedy, potřeboval bych spíše zkontrolovat všechny otevřený obchody, nikoliv jen ten poslední, ale jak na to.. Jak by se to dalo vyřešit? Předem moc díky za odpověď

STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
VYUŽITÍ INFORMACÍ o BARECH pěti měnách naráz...jde to? 26.10.2013 20:06

Ahoj lidičkové, chtěl bych se vás na něco zeptat. Zkusím rovnou uvést příklad, ne kterém bych demonstroval svůj dotaz.  Chci naprogramovat, aby když je svíce větší o 5 pipsů mezi otevírací a zavírací cenou, aby se třeba něco udělalo. Tedy: if (Close[0]-Open[0]>=5) {int podminka_splnena =1;} Teď jde ale o to, že tu samou podmínku bych chtěl ohlídat naráz u pěti párech. Ne tedy jen na tom aktuálním grafu.. jak bych to mohl udělat? Předem díky za použitelnou radu. :

 

Krakra
Veteran member
avatar
Příspěvky: 4232
Více informací o uživateli >>
Re: VYUŽITÍ INFORMACÍ o BARECH pěti měnách naráz...jde to? 26.10.2013 22:08
Odpověď na: STEFIINO

Ahoj lidičkové, chtěl bych se vás na něco zeptat. Zkusím rovnou uvést příklad, ne kterém bych demonstroval svůj dotaz.  Chci naprogramovat, aby když je svíce větší o 5 pipsů mezi otevírací a zavírací cenou, aby se třeba něco udělalo. Tedy: if (Close[0]-Open[0]>=5) {int podminka_splnena =1;} Teď jde ale o to, že tu samou podmínku bych chtěl ohlídat naráz u pěti párech. Ne tedy jen na tom aktuálním grafu.. jak bych to mohl udělat? Předem díky za použitelnou radu. :

 

Příkaz iOpen, iClose kde v parametrech uvedeš název měnového páru.

 

Kdo mála si cení, ten velkého hoden není.
STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
Re: Re: VYUŽITÍ INFORMACÍ o BARECH pěti měnách naráz...jde to? 26.10.2013 22:22
Odpověď na: Krakra

Příkaz iOpen, iClose kde v parametrech uvedeš název měnového páru.

 

Díky moc.

STEFIINO
Nováček v diskuzi
avatar
Příspěvky: 29
Více informací o uživateli >>
Jak spočítám celkový počet otevřených lotů? 04.11.2013 07:29

Ahoj všem, zase potřebuji pomoci a nevím kudy a jak na to. Nebudu zdržovat a rovnou vyklopím o co mi jde..Mám otevřených třeba deset obchodů, každý obchod je v různé velikosti lotů a já bych potřeboval spočítat celkový počet lotů. Mohla by mě nějaká dobrá duše nakopnout tím správným směrem? nevím kde dělám chybu. Dokázal bych spočítat celkový počet otevřených obchodů, ale jak napočítat ty loty..předem díky.

catcher
Veteran member
avatar
Příspěvky: 2658
Více informací o uživateli >>
Re: Jak spočítám celkový počet otevřených lotů? 04.11.2013 07:58
Odpověď na: STEFIINO

Ahoj všem, zase potřebuji pomoci a nevím kudy a jak na to. Nebudu zdržovat a rovnou vyklopím o co mi jde..Mám otevřených třeba deset obchodů, každý obchod je v různé velikosti lotů a já bych potřeboval spočítat celkový počet lotů. Mohla by mě nějaká dobrá duše nakopnout tím správným směrem? nevím kde dělám chybu. Dokázal bych spočítat celkový počet otevřených obchodů, ale jak napočítat ty loty..předem díky.

Zdravím. Třeba tento indi to umí - iexposure.

Broker: AM, XTB | Typy účtů: Real | Demo: Purple Trading | OS: = = = = = | AOS: Stále těžím cryptoměny a HODL, HODL, pořád HODL ... | Motto: "Pokud si myslíte, že můžete něco udělat, nebo myslíte, že nemůžete udělat nic, máte pravdu." Henry Ford |
Vladimír Dubový
Veteran member
avatar
Příspěvky: 2571
Více informací o uživateli >>
Re: Jak spočítám celkový počet otevřených lotů? 04.11.2013 09:48
Odpověď na: STEFIINO

Ahoj všem, zase potřebuji pomoci a nevím kudy a jak na to. Nebudu zdržovat a rovnou vyklopím o co mi jde..Mám otevřených třeba deset obchodů, každý obchod je v různé velikosti lotů a já bych potřeboval spočítat celkový počet lotů. Mohla by mě nějaká dobrá duše nakopnout tím správným směrem? nevím kde dělám chybu. Dokázal bych spočítat celkový počet otevřených obchodů, ale jak napočítat ty loty..předem díky.

neznám sice indi co tady dal catcher, ale můžu doporučit AOS co psal kolega programátor zde z ulice Wink domnívám se, že jej před časem psal pro mně a dal jej ke stažení i na svém webu takže neporuším vložením sem dohodu Wink odkaz na jeho web je i v AOS takže tím neporuším ani pravidla uličníku Wink jednak Ti spočítá lotáž tak ukáže i společné BE případně BE+ a umí zavřít i na profitu. 

AdmiralMarkets, Purple Trading| Typ účtu: Real | Obchodní systém: ruční , AOS,S/R , TrendLine | Indikátory: různé | Ostatní:
spademm
Nováček v diskuzi
avatar
Příspěvky: 1
Více informací o uživateli >>
AOS nechce otevřít 2 obchod pokud jeden běží 05.11.2013 07:52

Zdravím,

 

potřeboval bych poradit od někoho kdo se vyzná v programování pro metatrader. Potřeboval bych u AOS, který je v příloze aby otevřel i 2. a další obchod pokud ten 1. je stále otevřený ale nějak se mi nedaří. Systém občas otevře i 2 obchody pokud se překříží Stochastic %K a %D Dokáže někdo poradit? Díky

//+------------------------------------------------------------------+

//|                                          1M Stochastic Cross.mq4 |

//|                      Copyright © 2009, MetaQuotes Software Corp. |

//|                                        http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2009, MetaQuotes Software Corp."

#property link      "http://www.metaquotes.net"

 

extern double LotSize = 2.0; 

extern double StopLossPips = 10;

extern double TakeProfitPips = 10;

 

double sl, tp;

double kline[3], dline[3];

bool crossedup, crosseddown;

int longtkt, shorttkt, cnt, t;

//+------------------------------------------------------------------+

//| expert initialization function                                   |

//+------------------------------------------------------------------+

int init()

  {

      crossedup = false;

      crosseddown = false;

      t = 0;

      longtkt = -1;

      shorttkt = -1;

      cnt = 0;

      if((Point == 0.001) || (Point == 0.00001))

      {

         sl = 10*StopLossPips;

         tp = 10*TakeProfitPips;

      }

      else

      {

         sl = StopLossPips;

         tp = TakeProfitPips;

      }

      

  return(0);

  }

//+------------------------------------------------------------------+

//| expert deinitialization function                                 |

//+------------------------------------------------------------------+

int deinit()

  {

//----

   

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| expert start function                                            |

//+------------------------------------------------------------------+

int start()

  {

   if(PositionOpen()) return(0);

   crossedup = false;

   crosseddown = false;

 

   for(int i = 0;i < 3;i++)

   {

      kline[i] = iStochastic(NULL, Period(), 32, 12, 9, MODE_SMA, 0, MODE_MAIN, i);

      dline[i] = iStochastic(NULL, Period(), 32, 12, 9, MODE_SMA, 0, MODE_SIGNAL, i); 

   }

   if ((kline[1] < dline[1]) && (kline[2] > dline[2])) crosseddown = true;

   else if ((kline[1] > dline[1]) && (kline[2] < dline[2])) crossedup = true;

   else return(0);

   if (crossedup) GoLong();

   if (crosseddown) GoShort();

    

   return(0);

  }

//+------------------------------------------------------------------+

int GoLong()

{

   longtkt = -1;

   cnt = 0;

   while((longtkt < 0) && (cnt < 20))

   {

      longtkt = OrderSend(Symbol(), OP_BUY, LotSize, Ask, 2, Ask-sl*Point,Ask+tp*Point, NULL, 55558, 0, Green);

      cnt++;

   }

   return(0);

}

 

int GoShort()

{

   shorttkt = -1;

   cnt = 0;

   while((shorttkt < 0) && (cnt < 20))

   {

      shorttkt = OrderSend(Symbol(), OP_SELL, LotSize, Bid, 2, Bid+sl*Point, Bid-tp*Point, NULL, 55559, 0, Blue);

      cnt++;

   }

   return(0);

}

 

 

 

bool PositionOpen()

{

   

   for(int z = 0;z < t;z++)

   {

      OrderSelect(z, SELECT_BY_POS, MODE_TRADES);

      if(OrderSymbol() == Symbol()) return(true);

   }

   return(false);

 

}

 

 

Předchozí témata

Následující témata

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