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

MetaTrader 4


Volf

Doporučené příspěvky

xTrip

Ja to resim pres objekty das si to kterehokoliv rohu dle libosti... samozrejme zvolit barvicku a taky hovadiny jdou taky...

//-------------------------------------------------------------------+
// Funkce na vytvareni popisku na grafu |
//-------------------------------------------------------------------+
void LabelCreate ( string _LabelName, int _OsaX, int _OsaY, int _Roh = 0, string _Text = "", int _FontSize, color _Color = Yellow)
{
int _GetLastError;

//Vytvorim objekt
if ( !ObjectCreate( _LabelName, OBJ_LABEL, 0, 0, 0 ) ){
_GetLastError = GetLastError();
if ( _GetLastError != 4200 )
{
Print( "LabelCreate() - ObjectCreate( \"", _LabelName, "\") - Error #", _GetLastError, " )" );
return(-1);
}
}
// Posunu do rohu
// 0 - Levy nahore
// 1 - Pravy nahore
// 2 - Levy dole
// 3 - Pravy dole
ObjectSet( _LabelName, OBJPROP_CORNER, _Roh );
//Posun dle osy X
ObjectSet( _LabelName, OBJPROP_XDISTANCE, _OsaX );
//Posun dle osy Y
ObjectSet( _LabelName, OBJPROP_YDISTANCE, _OsaY );
//Nastavim Text a Barvu textu
ObjectSetText (_LabelName, _Text , _FontSize, "Times New Roman", _Color);
}

Link to comment
Sdílet pomocí služby

  • Odpovědí 4,3k
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

xTrip:
sbírej si ty texty do stringu, kde můžeš zalamovat řádky pomocí \n. String pak vytiskneš na konci programu.

tom:
pokud dáváš ATR se shiftem 0, pak používáš aktuální hodnotu ATR (která se během dne mění). Pokud chceš používat stabilní hodnotu, použij ATR z předchozí svíčky (shift 1)

Milan

Link to comment
Sdílet pomocí služby

[bold]Naucte sve EA mluvit[/bold]

nasel jsem podle me hodne dobrou vychytavku funkce ktera prevadi text na zvuk, je jasny ze na cesky texty to neni ale aglictina je docela povedena :) ja to urcite vyuziji ....

Download
www.forex-tsd.com/14970-post7.html

Popisy a navod jak to zprovoznit
www.metatrader.info/node/85
www.metatrader.info/node?from=80


BTW: snad jen poznaman ze kdyz to budete zkouset pres scripty (ne EA) musite si povolit Allow DLL imports v TOOL => Options => Experts Advisors, je to kvuli tomu ze scripty nemaji zadne nastaveni jako EA kde se da tato volba nastavit pro kazdy EA invidualne.

Mira

Link to comment
Sdílet pomocí služby

zdravím,
po několika hodinách nervování jsem přišel na jednu věc. Mějme následující skript:

int total = OrdersTotal();

for(int i = 0; i
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol() == Symbol() && OrderComment() == _comment){

if(OrderType() OrderClose(...);
}
else{
OrderDelete(...);
}
}

Člověk by řekl, že to smaže všechny obchody. A ono ne !!! Dlouho jsem netušil proč, ale už mám vysvětlení:
Mějme na počátku 3 obchody, které mají index (BY_POS) 0, 1, 2 a 3.

Řekněme, že obchod s id 2 je buď v jiném AOS, nebo v jiné měně (nesplňuje OrderSymbol() == Symbol() && OrderComment() == _comment) Kdybych chtěl smazat opravdu úplně vše, problém by nebyl (třeba while(OrdersTotal > 0). - toto ale pro další výklad stejně není důležité

V prvnímm kroku se smaže obchod s indexem 0. V dalším kroku se počítadlo i zvětší o jedna, ale nesmaže se další obchod s indexem 1 jak jsem očekával, ale zdá se, že se celé pole MODE_TRADES přeindexovalo. Tím pádem obchod s indexem 1 má nyní index 0, ale počítadlo i už je v druhém kroku navýšeno na 1. Takže druhý obchod se vůbec neošetří a rovnou se pracuje s obchodem, který měl původně index 2, nyní 1.

Pakárna co?

zdraví Golf

Link to comment
Sdílet pomocí služby

díky,
já si poradil další proměnnou, kterou zvětším jen při úspěšném mazání, ale tohle řešení je daleko daleko čistší :-).

Každopádně tato "chyba" patří k těm záhadným, vzala mi kus života a proto pozor. Až někdo budete ve svém skriptu promazávat obchody, tak jedině tak, jak napsal Volf - odzadu !!!

Link to comment
Sdílet pomocí služby

xTrip:
ja si myslim ze je to celkem jedno jestli od zadu nebo od predu, protoze hlidani otevrenych pozic pisi vzdy nad aktualni svici tudis se mi vzdy vse kontroluje dalsim tickem, pisi to tak protoze kdybych zaviral pozice jen pri open noveho baru muze nejaky prikaz skoncit na chybe a pak by se to provedllo az na dalsim baru, nebo abych toto obesel musel bych psat zbytecne slozitou logiku (hlidani jestli jsem opravdu vse zavrel atp.)

Ale kazdy mame svuj styl :)

Mira

Link to comment
Sdílet pomocí služby

to DarkMan:
Máš pravdu, že většinou je EA psán tak, že v dalším ticku se to nakonec stejně smaže. Dokonce to tak být musí, přesně proto jak píšeš (nejčastěji asi chyba 135 ERR_OFF_QUOTES).

Přesto se domnívám, že to jedno není.

Já si v EA této chybky nikdy nevšiml, právě proto, že se to v dalším ticku stejně dodělalo a já to přikládal právě chybě ze strany serveru (nevybavení požadavku apod.)

Ale mám třeba i script (ve složce Scripts), který bych měl spustit a (protože script běží jen jednou až dokonce a na ticky nereaguje) on by to měl všechno pozavírat (tím neříkám, že nemůže dojít k chybě, ale většinou by to mělo vyjít). Nepovedlo se mu to nikdy !!! Vždycky pozavíral jen několik obchodů a několik jich nechal. Dlouho jsem nechápal proč. Příčital jsem to chybě na straně serveru, ale až teď (a díky režimu visual mode v testeru) jsem na to přišel.

Tak věř, že i tobě, pokud to mažeš od předu, tak EA nejprve obslouží každý druhý obchod, teprve v dalším ticku zase každý druhý a tak dále až to nakonec zpracuje vše !!!

Když budeš mazat od zadu, tak to smaže buď vše najednou, nebo mu maximálně zbydou ty, co z nějakého důvodu selžou.

Já říkal, že to je pakárna :-)


Link to comment
Sdílet pomocí služby

Návštěvník
Téma je uzavřené.

×
×
  • Vytvořit...