Sari la conținut

Intrbari care nu merita topic separat.


Mangusta

Postări Recomandate

  • Răspunsuri 22
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Cine stie cum pot sa inchid mai multe ordine deschise deodata (sau toate) in MT4. Eu am tot cauta si nu am gasit. Sau trebuie scris un EA pentru asta? In acest caz cum pot sa pun un buton pe grafic?

Eu folosesc urmatoarele doua scripturi la care le-am atasat hotkeys. Unul inchide toate ordinele deschise si active iar celalalt toate ordinele pending! Le instalezi in "experts/scripts"

 

Buton pe grafic nu ai cum sa le pui dar poti sa le desemnezi un grupaj de taste de genul "CTRL+0" numite hotkey

Te duci pe lista de scriptui din MT4 dupa ce le instalezi si dai click dreapta pe scriptul ales. Din meniul aparut selectezi hotkey si....mai departe cred ca te descurci singur!

Close_all_open_positions.mq4

Close_all_pending_orders.mq4

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

Mersi, le-am instalat. Totusi si cu scriptul le pot inchide doar pe rand, doar ca nu dau eu dublu click pe ordin ca sa-l inchid ci se deschide singura casuta de dialog dupa ce inchid un ordin. Se pare ca nu se pot inchide toate concomitent nicicum.

Link spre comentariu
Distribuie pe alte site-uri

for(int i=total-1;i>=0;i--)
  {
	OrderSelect(i, SELECT_BY_POS);
	int type   = OrderType();

	bool result = false;
	
	switch(type)
	{
	  //Close opened long positions
	  case OP_BUY	   : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
						  break;
	  
	  //Close opened short positions
	  case OP_SELL	  : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
						  
	}
	
	if(result == false)
	{
	  
	  Sleep(3000);
	}  
  }

Codul imi spune asa: - de la 1 la nr total de ordine verific ordin cu ordin.Daca este ordin de tip buy sau sell il inchid si ies din switch.Daca nu pot sa il inchid stau 3 secunde si apoi intru iar in for.

Din punctul meu de vedere codul nu este prea corect pentru ca exista posibilitatea sa nu inchida toate ordinele.

Exemplu: Am 3 ordine (2 buy si 1 sel , nu ca ar conta).Verific primul ordin e sell , dau comanda sa il inchida.Brokerul nu mi-l inchide (result=false) stau 3 secunde .Daca primest o singura data results=false altunci i-ul scade(trece la verificat alta pozitie) si pozitia curenta nu o mai inchide.

Eu as fi facut cu un while.O sa rescriu codul si o sa il postez

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

Mersi, le-am instalat. Totusi si cu scriptul le pot inchide doar pe rand, doar ca nu dau eu dublu click pe ordin ca sa-l inchid ci se deschide singura casuta de dialog dupa ce inchid un ordin. Se pare ca nu se pot inchide toate concomitent nicicum.

La mine se inchid toate, numai ca trebuie sa ii dai putin timp de reactie daca ai mai multe deschise! NIci nu are cum sa le inchida pe toate concomitent. Se inchd pe rand dar fara sa intervii tu! Trebuie sa ai rabdare! Editat de oltciter
Link spre comentariu
Distribuie pe alte site-uri

@Oltciter

 

switch(type)
	{
	  //Close pending orders
	  case OP_BUYLIMIT  :
	  case OP_BUYSTOP   :
	  case OP_SELLLIMIT :
	  case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
	}
Scriptul asta : Close_all_pending_orders.mq4 mi se pare dubios pentru ca doar la ordinele de tip OP_SELLSTOP face ceva (sterge ordinul)..la restul pauza.

 

La mine se inchid toate, numai ca trebuie sa ii dai putin timp de reactie daca ai mai multe deschise! NIci nu are cum sa le inchida pe toate concomitent. Se inchd pe rand dar fara sa intervii tu! Trebuie sa ai rabdare!

Atat timp cand ordinul este inchis din prima , le inchide pe toate .Daca un ordin nu este inchis din prima , ai un if care verifica daca a fost inchis sau daca nu a fost (result=false) sta 3 secunde dupa care trece la ordinul urmator.Ar trebui ca in iful ala sa fie si un i=i-1 pentru ca la urmatoarea iteratie in for sa te aflii pe pozitia care nu a fost inchisa.

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

Da, daca il faci script le inchide doar pe rand cu deschidere de ferestre. Dar daca il faci EA, pui EA-ul pe chart, atunci cand apesi butonul de Expert Advisors se inchid toate ordinele odata. Cu o mica precizare, ordinele se inchid la prima miscare a pietei. De exemplu daca ai ordine pe mai multe perechi, toate se inchid in momentul in care se misca perechea pe ai carei chart ai pus EA-ul.

Dupa care deselectezi butonul de Expert Advisors si pui iara ordine in piata (cat mai multe ca acum le poti inchide pe toate automat atunci cand vezi ca ai profit).

Link spre comentariu
Distribuie pe alte site-uri

Am atasat mai jos un script care inchide ordinele.Puteti seta 'slippage' in pipsi , iar daca brokerul este cu 3 si 5 zecimale inmulteste cu 10.

Scriptul are o parte de tratare a erorilor care o consider destul de importanta.

Daca puneti 1 la fiecare tip de ordin doar acel tip de ordin va fi inchis.Puteti face combinatii de setrari si sa il salvati cu mai multe nume cu mai multe functionalitati(ex: close_pending_orders,close_actve_orders).

Daca considerati ca veti sa inchida doar ordinele long care au profitul mai mic/mare de x pipsi sau care au pierderea mai mica/mare de x pipsi sa imi spuneti sa mai scriu niste linii de cod ca sa il fac cat mai configurabil.(Ideea de la care am plecat este sa fac un script care le face pe toate si sa nu am 100 de scripturi care fac 100 de lucruri diferite)

close_orders.mq4

Link spre comentariu
Distribuie pe alte site-uri

  • 5 luni mai târziu...

@msjohntm

Nu se poate sa mearga EA-ul cand ai calculatorul inchis.

Am observat ca incep brokerii sa dea conturi unde poti sa iti gazduiesti EA-ul la ei, asta de exemplu ,dar trebuie sa iti deschizi cont.

O alta solutie ar fi sa inchiriezi un VPS cu windows si te costa de la 18$ pe luna.

 

@Mangusta (sau daca stie altcineva) stii cumva cam ce trafic lunar e necesar pentru gazduirea unui MT4?

Crezi ca oferta de aicicu 6$ pe luna e suficienta?

Link spre comentariu
Distribuie pe alte site-uri

@msjohntm

Nu vad nimic referitor la trafic , dar vad ca iti ofera 50GB pentru gazduire si de regula traficul trebuie sa fie nimic cat gazduirea si iti ajunge.

De regula un MT4 nu face mai mult de 1-2GB trafic pe luna.Eu am colectat date pe 27 de perechi intr-o luna si baza de date mysql a a ajuns de vreo 300mb.

Trebuie sa ai in vedere ca pt a intra pe server sa il administrezi si aia insemna trafic , mai mult ca traificul facut de MT4.

Eu cred ca undeva in jur de 10GB pentru MT4+intrati pe host e suficient si dupa cate imi dau eu seama ar trebui sa aiba cel putin 50GB trafic.Cu alte cuvinte traficul la pachetul de 6E pe luna este suficient chiar daca nu e precizat.

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.