EA per gestione dell equity

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
luca64
Messaggi: 112
Iscritto il: 02/08/2015, 15:57

EA per gestione dell equity

Messaggio da luca64 »

Buongiorno a tutti . Chiedo se qualcuno può indicarmi un EA gratuito per la gestione dell equity. Molto semplicemente dovrebbe chiudere tutte le operazioni al raggiungimento di un equity impostabile. Grazie
Semporasere
Messaggi: 21
Iscritto il: 19/02/2021, 15:00

Re: EA per gestione dell equiti

Messaggio da Semporasere »

Chiude tutti gli ordini se l'Equity dell'account é maggiore/uguale al Target impostato.

Codice: Seleziona tutto

//+------------------------------------------------------------------+
//|                                                       Equity.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property strict

//--- input parameters
input double   Target= 10000;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick(){

   if(AccountEquity() >= Target) ChiudiTutto();
  
}
//+------------------------------------------------------------------+

void ChiudiTutto(){
   int total= OrdersTotal(); 
   double prezzo;  
   int tipOrd;
   
   for(int i= total-1; i >= 0; i--){
      if(!OrderSelect(i,SELECT_BY_POS)){ Alert(" ERRORE Selezione Ordine #"+IntegerToString(GetLastError())); return;}     
      tipOrd= OrderType();
      
      if(tipOrd > 1) continue; // tralascia gli ordini pendenti
      
      prezzo= OrderType()== OP_BUY ? MarketInfo(OrderSymbol(),MODE_BID) : MarketInfo(OrderSymbol(),MODE_ASK);      

      if(!OrderClose(OrderTicket(),OrderLots(),prezzo,100)) Alert(OrderSymbol()+" ERRORE Chiusura Ordine #"+IntegerToString(GetLastError()));
   }
}
Saluti,
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite