Sari la conținut

Postări Recomandate

Am scris codul asta pentru a inchide ordine de OP_SELL respectiv OP_BUY,insa nu functioneaza si nu stiu unde am gresit ;

ma poate ajuta cineva ?

 

////////////===================================================
///////////////////////=======================================
{
     int type;

     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if((OrderType()==OP_SELL && type==OP_BUY)&&(MA1 == MA2))
     {
        myordertype=OrderClose(OrderTicket(),OrderLots(),Ask,CLR_NONE);
        return(myordertype);
     }
}
        
{
   OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
   if((OrderType()==OP_BUY && type==OP_SELL)&&(MA1== MA2))
   { 
      myordertype=OrderClose( OrderTicket(),OrderLots(),Bid,CLR_NONE);
      return(myordertype);
   }
}
return(myordertype);     
}

////////////=========================================
Editat de tradelover
Link spre comentariu
Distribuie pe alte site-uri

  • Moderators

ti-am editat postul si am pus code tag ca arăta ca dracu. De ce nu folositi tagurile, daca tot le aveti, ba s-a mai chinuit si Stefan o gramada sa faca sintax-highlighting... grrr.. sa va apara colorat frumos, ca in MT4, si voi nika, dă-i cu copy-paste....

 

variabila type este neinitializata la prima comparatie, abia ai declarat-o mai sus oleaca. Daca bucata de cod este din interiorul functiei start, atunci variabila type e degeaba, ea se pierde si de recreaza la fiecare tick, dar nu se face nimic cu ea. Dupa aranjarea codului se vede foarte clar ca la sfarsit ai niste acolade si un return in plus. Ce naiba, macar ori pui tot codul, ori daca vrei sa tii secreta vreo bucata, atunci da-ti interesul macar si selecteaza cu grija bucata care o pui. Nu asa 10 linii aruncate la gramada. Adica daca tu nu ai timp de pierdut pentru o problema - care este a ta - de ce crezi ca timpul nostru - care raspundem la problema ta - nu este la fel de pretios?

 

In plus liniutele, egalurile, slashurile, cerculetele, floricelele, etc, nu trebuiau puse, nu aveau nimic de a face cu problema in sine.

 

Bun. Acuma daca tot am pierdut timpul, sa incerc si un raspuns, in afara de chestia cu variabila aia inutila, type. Cine este cnt? esti sigur ca ai atatea ordere deschise (adica daca cnt este 7, esti sigur ca ai 8 ordere deschise?). Cine este MA1 si MA2, sunt medii mobile calculate, sau parametrii externi dati manual? Sunt intregi, sau double? Daca sunt double, cred ca problema ta vine de la compararea celor doua MA-uri. Aceste valori nu sunt niciodata egale, doar daca le dai cu mâna, ca parametri. Daca ele provin dintr-un calcul, atunci chiar si o diferenta la a 17-a zecimala face ca cele doua valori sa nu fie egale. Valorile double nu se compara niciodata asa. De exemplu daca faci x=1/9, y=9*x, comparatia y==1 nu este niciodata true, pentru ca y este de fapt 0.9999999999999999999999999

 

Cand tu vezi pe grafic ca doua MA-uri sunt egale la 1.2345, poate ca in realitate una este 1.2345009 si alta este 1.23449898989 si if-ul ala nu o sa se execute niciodata.

 

Legat de cnt (cine naiba o fi ala) si de OrderSelect, ar trebui sa testezi intai ca orderul exista, adica functia OrderSelect intoarce ERR_SUCCESS. Daca tu nu ai deschis nici un order, ori daca ai deschise doar 7 ordere si cnt este 7, atunci OrderSelect intoarce o eroare pentru ca incearca sa deschida orderul al 8-ulea, care nu exista (0 selecteaza primul order, 1 selecteaza al doilea, .... 6 selecteaza al 7-lea order din pool).

Editat de tradelover
Link spre comentariu
Distribuie pe alte site-uri

 

 

Intrebarea este cred destul de simpla iar ceea ce am scris in mq4 acolo, nu este decat o tentativa , cu siguranta nereusita . Voiam sa arat ca am incercat dar nu-mi iese cum trebuie , desi m-am straduit de mai bine de o luna doar la asta !

M1 si M2 sunt sunt conditiile de intrare si de iesire din operatii. Insa nu asta am intrebat !!

 

EA-ul meu functioneaza bine , (cred) dar nu si Close_OP_BUY si Close_OP_SELL. .

 

Uite si cateva poze : M5, M30, H1,H4.

 

(pe un cont de 50.000 in 2 ani . In 8ani ... sare de 144 .M).

 

 

M-ai zapacit complet cu raspunsul asta !

 

Nu ma asteptam....

post-4255-095457700 1279021323_thumb.gif

post-4255-031856300 1279021359_thumb.gif

post-4255-039986900 1279022162_thumb.gif

post-4255-071464000 1279022171_thumb.gif

Editat de Magicianul
  • Upvote 1
  • Downvote 1
Link spre comentariu
Distribuie pe alte site-uri

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.

Vizitator
Răspunde la acest subiect...

×   Alipit ca text avansat.   Alipește ca text simplu

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.

  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.