Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Programování v MT4


BigBull

Doporučené příspěvky

  • Odpovědí 583
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

no hrál sem si s tím už docela dlouho, ale ať sem nastavil co chtěl tak NIC. no včera náhodou jsem našel take profit manager, kterej sem si přetvořil podle svýho a už dělá co má. takže přikládám - pokud máte v trhu nastaven SL, posouvá ho o 10 pipsů, ale jen pokud dojde k pohybu o 10 pipsů. nastaveno pro eurusd se spreadem 2. vše lze přenastavit podle chuti. Takže díky za ochotu....

14127

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

Ahoj vsem, zacinam se ucit programovat v MQL4 a mam na vas jednu dosti trivialni otazku. Dejme tomu ze se chci ridit indikatorem CCI a napriklad pokud chci vstoupit do pozice (buy) jakmile ind. presahne hodnotu 50, tak prikaz zni napr. takto: if(cci_curr > 50) Order = SIGNAL_BUY;
Pokud se chci ridit treba porovnanim pomalejsi a rychlejsi MA (prekrizeni) tak bude znit prikaz napr. takto:
if (Buy1_1 > Buy1_2) Order = SIGNAL_BUY; (Buy1_1 ....... mam oznaceny jako MA period 7............ a BUY1_2 mam oznaceny jako MA period 14)
Ovsem kdyz mam naky custom indikator XY ktery je na principu dvou barev. Napr. pokud ukazuje zelenou tak je to singal k nakupu, pokud cervenou tak je to singal k prodeji. Jak mam napsat prikaz v mem EA, ktery by rikal toto: Kdyz indikator XY ukaze zelenou tak vstup do pozice BUY............ predem dik za ochotu a pochopeni zacatecnika v programovani:D ;)

Link to comment
Sdílet pomocí služby

harmonie Napsal:
-------------------------------------------------------
> rozirozi:
> I když ten indikátor zobrazuje jednu čáru (s
> různými barvami), tak jsou to vlastně 2 křivky.
> Jedna např. ta "zelená" má nějakou hodnotu a druhá
> má pravděpodobně "EMPTY_VALUE" a naopak. A to
> musíš otestovat.
>
> -----------
> František
> Nešetřte nápady, šetřte náklady

Proste a jednoduse kdyz na ten indikator najedu mysi (resp. na caru zelenou ci cervenou) tak mi to ukaze toto:
ZELENA: VALUE1 + (cislo hodnoty daneho baru)
CERVENA: VALUE2 + (cislo hodnoty daneho baru)

Jak mam zapsat v mem EA proste toto: Kdyz se objevi VALUE1 tak vstup do pozice BUY..
;) diky

Link to comment
Sdílet pomocí služby

například mám toto EA, které v texťáku vyedituju a najdu tyto řádky: double signalup=iCustom(Symbol(),0,"2MACD",0,1); double signaldown=iCustom(Symbol(),0,"2MACD",1,1); to v té závorce "2MACD" je přesný název indikátoru s příponou MQ4 nebo EX4, kterej tam můžeš vepsat (a musí být uložen ve složce indicators) a pokud ten indikátor má v sobě alespoň dva buffery, který by rozhodovaly, zda se má koupit nebo prodat - tak to koupí nebo prodá s daným nastavením. Číslo bufferu je hned za závorkou. P.S. pokud pošleš ten indikátor, můžu se ti na to podívat.

14312

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

;) jj diky, moc si mi pomoh. Uz to slape tak jak ma:D............. Mam ovsem jeste jeden problemek (novej:D), tak kdybys byl tak laskavej a nebo nekdo z tech zkusenejsich koderu. Mohli byste mi pls poradit jak mam zapsat do meho EA toto:

1) prvni otevri nahodnou pozici tzn. budto SELL nebo BUY

2) BUY PARAMETRY:
- pokud predchozi obchod byl typu BUY, a aktivovala se hranice TP. Okamzite otevri dalsi obchod typu BUY.
- pokud predchozi obchod byl typu SELL, a aktivovala se hranice SL. Okamzite otevri dalsi obchod typu BUY.

3) SELL PARAMETRY:
- pokud predchozi obchod byl typu BUY a aktivovala se hranice SL. Okamzite otevri dalsi obchod typu SELL.
- pokud predchozi obchod byl typu SELL a aktivovala se hranice TP. Okamzite otevri dalsi obchod typu SELL.


Doufam ze sem to napsal dost srozumitelne, proste a jednoduse potrebuju vedet jak mam V MQL4 zapsat ze kdyz se aktivuje hranice u predchoziho obchodu SL nebo TP tak hned otevri novy obchod typu BUY nebo SELL.
Predem diky za vas poskytnuty cas na moji otazku ;) (vazim si toho) (tu)

Link to comment
Sdílet pomocí služby

Tenhle "jednoduchý problémek" není až tak jednoduchý. Tohle je hezky vyřešeno v programu 4x-mm (vyhledej si sám). Jinak ti přikládám 2 pomůcky. A já bych to asi řešil tak, že při otevření pozice bych zároveň zadal 2 čekající příkazy na úroveň SL a TP. Samozřejmě plus spread. A pak bych testoval, jestli nechybí mějaký čekající příkaz. Pokud ano, zrušit opačný čekající a zadat nové čekající do obou směrů.

Snad jsem to napsal trochu srozumiteln. Programovat se mi to nechce, ale tyhle 2 funkce by ti to mohly usnadnit.
[ital]
// počet přikazu
int PoziceCnt(int Type) {
int Cnt=0;
for (int i=0; i if (OrderSelect(i, SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderType()==Type) Cnt++;
}
return (Cnt);
} [/ital]

[ital]
// ruseni(zavirani) prikazu
void PoziceDel(int Type) {
for (int OrdersTotal()-1; i>0; i--) {
if (OrderSelect(i, SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderType()==Type) {
switch (Type) {
case OP_BUYLIMIT:
case OP_SELLLIMIT:
case OP_BUYSTOP:
case OP_SELLSTOP:
OrderDelete(OrderTicket()); break;
OP_BUY:
OrderClose(OrderTicket(), OrderLots(), Bid, 0); break;
OP_SELL:
OrderClose(OrderTicket(), OrderLots(), Ask, 0); break;
}
}
}
}[/ital]

PS: Pisu to jen tak z hlavy, tak doufam, ze tam nebudou chyby.

Link to comment
Sdílet pomocí služby

Mé vřelé dík, patři tobě. Máš to u mě.

harmonie Napsal:
-------------------------------------------------------
> Tenhle "jednoduchý problémek" není až tak
> jednoduchý. Tohle je hezky vyřešeno v programu
> 4x-mm (vyhledej si sám). Jinak ti přikládám 2
> pomůcky. A já bych to asi řešil tak, že při
> otevření pozice bych zároveň zadal 2 čekající
> příkazy na úroveň SL a TP. Samozřejmě plus spread.
> A pak bych testoval, jestli nechybí mějaký
> čekající příkaz. Pokud ano, zrušit opačný čekající
> a zadat nové čekající do obou směrů.
>
> Snad jsem to napsal trochu srozumiteln.
> Programovat se mi to nechce, ale tyhle 2 funkce by
> ti to mohly usnadnit.
>
> // počet přikazu
> int PoziceCnt(int Type) {
> int Cnt=0;
> for (int i=0; i > if (OrderSelect(i, SELECT_BY_POS) &&
> OrderSymbol()==Symbol() && OrderType()==Type)
> Cnt++;
> }
> return (Cnt);
> }
>
>
> // ruseni(zavirani) prikazu
> void PoziceDel(int Type) {
> for (int OrdersTotal()-1; i>0; i--) {
> if (OrderSelect(i, SELECT_BY_POS) &&
> OrderSymbol()==Symbol() && OrderType()==Type) {
> switch (Type) {
> case OP_BUYLIMIT:
> case OP_SELLLIMIT:
> case OP_BUYSTOP:
> case OP_SELLSTOP:
> OrderDelete(OrderTicket()); break;
> OP_BUY:
> OrderClose(OrderTicket(), OrderLots(), Bid, 0);
> break;
> OP_SELL:
> OrderClose(OrderTicket(), OrderLots(), Ask, 0);
> break;
> }
> }
> }
> }
>
> PS: Pisu to jen tak z hlavy, tak doufam, ze tam
> nebudou chyby.
>
> -----------
> František
> Nešetřte nápady, šetřte náklady


;) ;) ;) (tu)

Link to comment
Sdílet pomocí služby

Ahoj tradeři. Nemáte někdo prosim upravený CCi, potřeboval bych kvůli back testu své nové strategie, tedy cci když se překračuje nulová linka long, nebo short aby se mi do grafu vykreslila třeba šipka. Nebo ještě lépe experta jen na cci při překračování nulové linky by nakupoval, nebo prodával, prostě pořád v pozici. Pokoušel jsem se podle různých návodů na netu upravit indikátor, nebo napsat tento jednoduchý aos, ale jsou prostě věci na který prostě nemám buňky, dva týdny a nezadařilo se mi. To už jsem mohl mít udělaný back test ručně. Byl bych moc vděčný. Testuji něco kde vstupuji dle cci přes nulu. DÍKY

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...