Salve ho il problema con errore 4051 ho scritto questo ma mi da questo errore.
void EseguiOrdineLong(){
if(Ticket>0){
if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES))Print("Errore Ordine Select",GetLastError());
if(OrderCloseTime()==0 && OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber){
if(!OrderClose(Ticket,OrderLots(),Ask,0,0)){
Print("Errore Ordine Close",GetLastError());
}
Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-10*SL*Point,Ask+10*TP*Point,"Ordine Buy 3 Soldati ",MagicNumber,0,0);
}
else
if(OrderCloseTime()!=0 && OrderMagicNumber()==MagicNumber){
Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-10*SL*Point,Ask+10*TP*Point,"Ordine Buy 3 Soldati ",MagicNumber,0,0);
}
}
else Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-10*SL*Point,Ask+10*TP*Point,"Ordine Buy 3 Soldati ",MagicNumber,0,0);
}
Errore 4051
-
- Messaggi: 20
- Iscritto il: 19/02/2021, 15:00
Re: Errore 4051
Salve.
Senza entrare nel merito della logica della funzione, l'errore #4051 dovrebbe derivare dalla presenza del n."0" come ultimo parametro delle funzioni OrderSend(...) ed OrderClose(): provi a toglierlo.
Annotazioni:
La variabile globale Ticket dovrebbe essere verificata/valorizzata all'avvio dell'EA (e comunque prima di richiamare la funzione).
La 2^ if del codice dovrebbe verificare la negazione "if(!OrderSelect..."
Bisognerebbe gestire gli eventuali errori restituiti da OrderSelect(...) ed OrderClose(...), magari solamente uscendo dalla funzione.
Bisognerebbe verificare il risultato di OrderSend.
Saluti.
Senza entrare nel merito della logica della funzione, l'errore #4051 dovrebbe derivare dalla presenza del n."0" come ultimo parametro delle funzioni OrderSend(...) ed OrderClose(): provi a toglierlo.
Annotazioni:
La variabile globale Ticket dovrebbe essere verificata/valorizzata all'avvio dell'EA (e comunque prima di richiamare la funzione).
La 2^ if del codice dovrebbe verificare la negazione "if(!OrderSelect..."
Bisognerebbe gestire gli eventuali errori restituiti da OrderSelect(...) ed OrderClose(...), magari solamente uscendo dalla funzione.
Bisognerebbe verificare il risultato di OrderSend.
Saluti.
Chi c’è in linea
Visitano il forum: Nessuno e 0 ospiti