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

Ahoj, tak to jsem vyřešil, nejprve je potřeba objednávku zadat a pak zmodifikovat. Ale mám další problém. Modifikace proběhne na všech otevřených pokynech. MagicNumber používám. Ještě takto, já potřebuji, aby MagicNumber bylo každý den jiný, aby EA každý den sázela další pozice. Proto MagicNumber tvořím z posledního denního Low nebo High. Jsem začátečník. Kdybys na ten kod mrknul byl bych ti neskonale vděčný. David

23319

Link to comment
Sdílet pomocí služby


No zatím se snažím vytvořit jádro, do kterýho budu přidávat podmínky. To jádro musí umět každý den zadat v nastavený čas objednávku na BUY i SELL s nějakým TP a SL. Takže ano, určitě nastane situace, kdy poběží obchod z minulého dne a bude se muset zadat další A díky tomu, že v tom EA běží kontrola podle MagicNumberu, potřebuji mít každý den jiný. Teď to funguje jakobych měl stabilně jedno MagicNumber tzn. pokud běží obchod další se neotevře. A to generuju Magic z těch HiLo.
Link to comment
Sdílet pomocí služby

Ahoj, prirazeni k MagicNumber mas ve funkci init(), ktera se vola jen pri spusteni EA, pri zmene TF nebo uctu atd... Jindy se nevola, tzn pokud ti EA bezi ctyri dny v kuse, magicnumber bude porad stejne jako na zacatku. Vytvor si funkci, ktera rozpozna jestli je porad stejny den a nebo uz jiny, a nasledne vrati nove MagicNumber.

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

Dobrý den chtěl bych poprosit o pomoc, snažím se vytvořit strategii, která by měla obchodovat jeden kontrakt akcie BNP Paribas, poslepoval jsem dohromady různé EA z forexu a nejde to napasovat na BNP, hlásí to error 131, tuším že problém je asi v externích parametrech zkoušel jsem dosazovat různá čísla vždy bez úspěchu. Kde dělám chybu?

23600

Link to comment
Sdílet pomocí služby

  • 1 month later...

Dobrý deň! Poprosil by som o malú pomoc pri programovaní mojej EA. Potreboval by som, ak je to možné presunúť sell stop - buy stop po dosiahnutí jedného z nich na BE. Niečo ako presunúť SL. Ďakujem za pomoc.

if(TrailingStop==0){
if(OrderType()==OP_BUY){
if(High[0]-OrderOpenPrice()>=BreakEven*Point && OrderStopLoss() OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
Sleep(10000);
}
}
if(OrderType()==OP_SELL){
if(OrderOpenPrice()-Low[0]>=BreakEven*Point && OrderStopLoss()>OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
Sleep(10000);
}
}
}

Link to comment
Sdílet pomocí služby

  • 2 months later...

Dobrý den, před nějakým časem jsem se začal zajíma o AOS bez předchozích programátorských zkušeností. Teď jsem se dostal do situace, kdy nevím, co dělám špatně. Níže posílám jednoduchý kód (nejedná se ani tak o strategii, jako o cvičný pokus), který ale v Testeru strategií nespustí jediný obchod. Záměrem je, aby se spustil long obchod při překročení svíčky přes klouzavý průměr. Poradíte mi prosím někdo, kde je chyba?


#property copyright "jarfal"
#property link ""

extern double TakeProfit = 20;
extern double Lots = 0.1;
extern double StopLoss = 20;


int init()
{
return(0);
}


int deinit()
{
return (0);
}


int start()
{
double iClose_0, iMA_0;
int ticket,q;
int Magic_number = 1001;


iClose_0 = iClose(Symbol(), PERIOD_M15, 1);
iMA_0 = iMA(Symbol(), PERIOD_M15, 30, 0, MODE_SMA, PRICE_CLOSE, 1);


for(q = 0; q {
if(OrderSelect(q, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber()==Magic_number)
{return(0);}
}

if (iClose_0 > iMA_0)
{
ticket=OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, Ask-StopLoss*Point, Ask+TakeProfit*Point, "Pokus", Magic_number, 0, Green);
}

return(0);

}


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

Link to comment
Sdílet pomocí služby

  • 4 týdny později...

Při prvním pohledu na tom nic nevidím. Máš povolené spuštění AOS a povolené obchodování? Asi ano, ale pro jistotu připomínám. V protokolu by měl být zapsaný kod chyby. K tvému kodu - raději bych napsal :
{
RefreshRates();
ticket=OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, NormalizeDouble(Ask-StopLoss*Point, 2), NormalizeDouble(Ask+TakeProfit*Point, 2), "Pokus", Magic_number, 0, Green);
}

Link to comment
Sdílet pomocí služby

Zdravím,můj příspěvěk se netýká přímo programování,ale píšu ho sem z důvodu že ostatní vlákna o MT jsou jž delší dobu mrtvá,tak snad to nebude nikomu vadit.
Sháním indikátor moving average jaký je v základu MT4 s jedním rozdílem že jde u něj nastavit posun od ceny na horu a dolu podobně jako u BB odchylky.Kdyby ho sem někdo mohl vložit nebo napsal odkaz kde ho najdu moc by mi to pomohlo,díky

Link to comment
Sdílet pomocí služby

  • 1 month later...

Ahoj

kedze pocas dna nestiham obchodovat (praca nepusti a na denne obchodovanie mam maly ucet) som sa rozhodol si napisat nejaku tu AOS, problem ale vsak nastal v tom, ze vsetky moje strategie, co som si napisal a skusil na deme boli ziskove pocas trendu, ale nakoniec ma aj tak odpisali pohyby do strany a znulovaly cely demo ucet. v podstate by ma zaujimalo ako riesite vo svojich strategiach netrendujuce obdobia? ako poviete svojej strategii ze je netrendove obdobie a aby si nevsimala prave toto obdobie? Momentalne ma nic nenapada a tak hladam nejake myslienky u vas :)

vopred dik za kazdu odpoved

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...