Programarea mql4, scrie un consultant

Și aici este codul meu (modificat)

#define ORDERBUY 1
#define ORDERSELL 2
#define ORDERBUYSTOP 4
#define ORDERSELLSTOP 8
#define ORDERBUYLIMIT 16
#define ORDERSELLLIMIT 32







int OrăControl (int, int magie = 0, simbol șir = "curent")
int i, count = 0;
dacă (simbol == "curent")
simbol = simbol ();
>
pentru (i = OrdersTotal () - 1; i> = 0; i-)
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
dacă (Symbol OrderSymbol () == OrderMagicNumber () == magie)
dacă (tip ORDERBUY OrderType () == OP_BUY)
numărătoarea ++;
>
dacă (tip ORDERSELL OrderType () == OP_SELL)
numărătoarea ++;
>
dacă (tip ORDERBUYSTOP OrderType () == OP_BUYSTOP)
numărătoarea ++;
>
dacă (tip ORDERSELLSTOP OrderType () == OP_SELLSTOP)
numărătoarea ++;
>
dacă (tip ORDERBUYLIMIT OrderType () == OP_BUYLIMIT)
numărătoarea ++;
>
dacă (tip ORDERSELLLIMIT OrderType () == OP_SELLLIMIT)
numărătoarea ++;
>
>
>
retur (număr);
>

Iar provocarea reală poate fi văzută ca

int OpenedPositionsCount = ComandaCount (ORDERBUY | ORDERSELL, magie, Simbol ());

int PendingLongPositionsCount = Număr de ordine (ORDERBUYSTOP | ORDERBYULIMIT, magic, Symbol ());

Rescris, schimbat ordinea, funcționează pe perechi și aur, dar în tester pe aur oferă -GOLD, H1: OrderSend eroare 130 - Aș dori să știu de ce, și cum de a testa pentru aur. Mulțumesc!

Mi-au plăcut lecțiile de la Sergey aka xbms cu explicații ușoare. Îmi cer scuze dacă ceva nu merge bine ...

În această lecție # 2, în opinia mea, acest cod a fost mai potrivit pentru testarea folosind instrucțiunea if:







dacă (HourStart == TimeHour (TimeCurrent ()))
dacă (CountBuyLimit () == 0)
SL = NormalizeDouble (minprice - StopLoss * Punct, cifre);
TP = NormalizeDouble (minprice + TakeProfit * Punct, cifre);
Ordonați (Simbol (), OP_BUYLIMIT, Lots, minprice, Slippage, SL, TP, comentariu, Magic, 0, Albastru);
>
dacă (CountSellLimit () == 0)
SL = NormalizeDouble (maxprice + StopLoss * Punct, cifre);
TP = NormalizeDouble (maxprice - TakeProfit * Punct, cifre);
ComandaSend (Simbol (), OP_SELLLIMIT, Lots, maxprice, Slippage, SL, TP, comentariu, Magic, 0, Roșu);
>
>

dacă (HourStart == TimeHour (TimeCurrent ()) CountBuyLimit () == 0 CountSellLimit () == 0)

Pentru că, după testul timpului și în același timp verifică otlozhenniki s-ar putea întâmpla în continuare ... consilier să amâne o comandă, de exemplu, pentru cumpărarea și vânzarea otlozhennik nu fi avut loc din cauza prețului curent apropiat de valoarea minimă, iar în cazul în care condițiile sunt de așa natură încât CountBuyLimit () == 1 și această condiție nu va pune otlozhennik de vânzare ... Poate că am greșit? Ne pare rău!

"" End_of_program "- paranteză stânga neechilibrată C: Program FilesInstaTraderexpertsTest1.mq4 (181, 1)»

Cum să o rezolvi?
Aici este domeniul codului în care produce o eroare. Se pare că toate au scris corect ...:

pentru (int trade = OrdersTotal () - 1; Trade> = 0; Trade-)

OrderSelect (comerț, SELECT_BY_POS, MODE_TRADES);

dacă (OrderSymbol () == Simbol () OrderMagicNumber () == Magic)

dacă (OrderType () == OP_SELLLIMIT)

Așa că am decis să studiez și Mql. Viața forțată. Nimeni nu va scrie gratuit, mai mult, un graal va fi, de asemenea, furat. Numai un noroc bolnav - deja în terminalele Mql5. Există un pic diferit. Pe acest paraleyno și pe acest curs încerc să depășesc și pe site-ul Mql. Stuck pe mânere. Aceasta este întrebarea la o dată - dar cum să utilizați indicatorii. care nu sunt în directorul Mql. Cum să aflăm ce parametri sunt necesari?

Actualizați lecția pentru construcțiile noi

Am citit articole de pe site-ul dvs. cu mult timp în urmă ... și a existat o strategie care necesită cheltuieli mai mult timp în apropierea computerului ... dar specificul muncii mele de bază nu-mi permite să fiu mereu lângă monitor ... Am încercat de mai multe ori să încep studiul MQL. dar apoi o mulțime de muncă la locul de muncă, iar apoi nașterea unei fetițe a forțat toate acestea să fie lăsate în "cutia din spate". dacă nu pentru lecțiile actualizate. Aș fi renunțat ... acum totul este mult mai clar și mai clar. Vreau să spun multe mulțumiri și aștept cu nerăbdare următoarele lecții actualizate. Cu sinceritate. gândac







Trimiteți-le prietenilor: