Středa 26. leden 2022 13:25
reklama
Purple Trading Hartman
reklama
Bidaskbit ebook
reklama
Dukascopy krypto
reklama
InstaMarkets

Programovanie v MQL4 - rady a chyby

 Dobrý deň, chcel by som poprosiť o radu :

1. pri testovaní stratégie sa ukončí test predčasne  ( niekedy pod 3 , 10 alebo 28 obchodoch ) s poznámkou "CLOSE AT STOP". V denníku je opakuje : invalid ticket for OrderModify function, Order Modify error 4051, Error in OrderModify. Error code=4051. Tieto anglické upozornenia sa opakujú niekoľko krát ( dokonca aj v čase , ak nie je otvorený  žiaden obchod ). Na konci denníka (testovania) je : zero divide in"nazovsuboru.mq4" a "Testing pass stopped due to a critical error in the EA". Snaži som sa to odstrániť, ale nepodarilo sa mi to. Nevie mi niekto poradiť ?

2. chcel by som uzatvoriť napr. BUY obchod na iHighest za posledných 20 sviečok pred otvorením obchodu. Táto situácia môže nastať po 3 alebo 8 alebo 16 sviečkach po otvorení obchodu. Neviem zadať, aby iHighest sa počítalo z n-sviečok (20) len spred otvorenia obchodu. Môže mi niekto poradiť ?

3. chcel by som ukončiť obchod napr. po 5 sviečkach od otvorenia, ak obchod neide "mojím" smerom ( + aj za iných podmienok ). Ako mám naformulovať túto podmienku : t.j. ak aktuálna cena (Bid resp. Ask ) po  ukončení n-tej ( v tomto prípade 5. ) sviečky od otvorenia, nie je väčšia-menšia ako nejaký limit, tak obchod sa uzavrie ?

Vopred ďakujem za odpovede. 

 

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 Programovanie v MQL4 - rady a chyby (6 odpovědí)
Tým FXstreet.cz
Veteran member
avatar
Příspěvky: 19358
Více informací o uživateli >>
RE: Programovanie v MQL4 - rady a chyby 29.12.2020 20:22

Dobrý den,

1. Nemáte někde chybu v upravování obchodů/objednávek? Např. nastavování SL na nesmyslnnou hodnotu apod.?
Chyba zero divide značí, že někde něco dělíte nulou. Zkontrolujte si prosím Váš kód, nesmíte dělit nulou.

2. Zde existuje x variant jak toho docílit. Co si třeba tuto hodnotu (Highest) uložit do vlastní proměnné při otevření obchodu? Pak to v kódu složitě nemusíte zjišťovat zpětně, když už je obchod otevřený.

3. První si uložte opět do vlastní proměnné hodnotu Bars při otevření obchodu. Poté musíte obchod vybrat pomocí OrderSelect()... nicméně to asi víte. Jakmile budete mít obchod "zaselektovaný", pak už se jen jednoduše zeptáte:

if ((Bars >= vlastni_promenna + 5) && (Ask > 1.12500)) {

   OrderClose(......);

}

Tým traderů společnosti FXstreet.cz
Heryl
Silver member
avatar
Příspěvky: 313
Více informací o uživateli >>
proč se mi nuluje proměnná 30.11.2021 23:21

Zdravím, prosím o radu.

Nastavím si v prográmku nějaký čas kdy chci nastavit hodnotu proměnné PDK. Hodnota se nastaví, zobrazí. Ale jakmile se čas dostane z mnou určeného rámce (další minuta) hodnota PDK se nastaví na nulu. NEchápu proč nezůstane nastavená hodnota zase do dalšího dne a nastaveného času. Potřebuji s tou hodnotou z nastaveného času pracovat i mimo tento časový úsek, ale vždy se mi přepne na nulu. Netušíte co změnit nebo jak to udělat? Přikládám výpis prg. Děkuji.

//+------------------------------------------------------------------+
//| h.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""

double profit1;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()

{
//----
int D = DayOfWeek();
int h = TimeHour(TimeCurrent());
int m = TimeMinute(TimeCurrent());

profit1 = AccountInfoDouble(ACCOUNT_BALANCE);
if ( h==0 && m<8 )
{
double PDK=profit1;
}
Comment("PDK:",PDK);
return(0);
}

 

Broker: XTB, AM | Typ účtu: Real | Obchodní systém: ruční, S/R, TrendLine | Indikátory: různé | Ostatní: začátečník.
Krakra
Veteran member
avatar
Příspěvky: 3930
Více informací o uživateli >>
Re: proč se mi nuluje proměnná 01.12.2021 06:40
Odpověď na: Heryl

Zdravím, prosím o radu.

Nastavím si v prográmku nějaký čas kdy chci nastavit hodnotu proměnné PDK. Hodnota se nastaví, zobrazí. Ale jakmile se čas dostane z mnou určeného rámce (další minuta) hodnota PDK se nastaví na nulu. NEchápu proč nezůstane nastavená hodnota zase do dalšího dne a nastaveného času. Potřebuji s tou hodnotou z nastaveného času pracovat i mimo tento časový úsek, ale vždy se mi přepne na nulu. Netušíte co změnit nebo jak to udělat? Přikládám výpis prg. Děkuji.

//+------------------------------------------------------------------+
//| h.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""

double profit1;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()

{
//----
int D = DayOfWeek();
int h = TimeHour(TimeCurrent());
int m = TimeMinute(TimeCurrent());

profit1 = AccountInfoDouble(ACCOUNT_BALANCE);
if ( h==0 && m<8 )
{
double PDK=profit1;
}
Comment("PDK:",PDK);
return(0);
}

 

Říká se tomu obor platnosti.

Definuj jí jinde...

Heryl
Silver member
avatar
Příspěvky: 313
Více informací o uživateli >>
re 02.12.2021 19:43

Děkuji za snahu, ale vůbec nevím jak to myslíš. Snažím se to někdo dostudovat, ale zatím bezůspěšně. Nebyla by další nápověda?

Broker: XTB, AM | Typ účtu: Real | Obchodní systém: ruční, S/R, TrendLine | Indikátory: různé | Ostatní: začátečník.
Heryl
Silver member
avatar
Příspěvky: 313
Více informací o uživateli >>
Re: re 02.12.2021 19:51
Odpověď na: Heryl

Děkuji za snahu, ale vůbec nevím jak to myslíš. Snažím se to někdo dostudovat, ale zatím bezůspěšně. Nebyla by další nápověda?

Tak změna, stačilo napsat a trklo mě to. D9k, už to jede.thumbsup

Broker: XTB, AM | Typ účtu: Real | Obchodní systém: ruční, S/R, TrendLine | Indikátory: různé | Ostatní: začátečník.
Krakra
Veteran member
avatar
Příspěvky: 3930
Více informací o uživateli >>
Re: Re: re 03.12.2021 04:35
Odpověď na: Heryl

Tak změna, stačilo napsat a trklo mě to. D9k, už to jede.thumbsup

thumbsup

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
Dukascopy krypto