[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 30

 

Mi scuso per essere fuori tema. Si prega di consigliare se qualcuno conosce un EA che chiuderebbe

Vorrei chiedervi se conoscete un Expert Advisor che chiuderà tutte le posizioni nel vostro conto una volta raggiunti i TP e SL totali. Vi sono grato in anticipo.

 
Chatlanen >> :

Mi scuso per essere fuori tema. Si prega di consigliare se qualcuno conosce un EA che chiuderebbe

Vorrei chiedervi se conoscete un Expert Advisor che chiuderà tutte le posizioni nel vostro conto una volta raggiunti i TP e SL totali. Grazie in anticipo.

Una volta che tutti i take and loss sono stati raggiunti, le posizioni saranno comunque tutte chiuse. Per favore, esponi la domanda in modo più preciso

 

Ho un problema: premo il pulsante di compilazione e ottengo 2 errori:

1. Nella linea:

int Fun_Error(int Error) // Funzione di gestione degli errori

'(' - definizione di funzione inaspettata C:-Users\Paul\Desktop\Heiniken M.mq4 (209, 14)
2. Nella linea:

default: Alert('Si è verificato un errore non identificato', Error); // Altre opzioni.

'Errore' - variabile non definita C:\Users\Pàâåë\Desktop\Heiniken M.mq4 (242, 53)

Ho una domanda - Fun_Error() è una funzione standard o deve essere scritta (ho preso questa parte di codice da un altro EA)?

Il 2° errore segue il primo, non riesco a capire quale possa essere il problema((.

 

cambiare il nome della variabile in err per esempio

 
JavaDev >> :

cambiare il nome della variabile in ad esempio err

ora non può trovare err(

 
Mostra il codice della funzione
 
  //-----------------------------------------------------------10-+
int Fun_Error(int Err) // Gestione degli errori fie
{
interruttore(Err)
{ // Errori che possono essere superati.
caso 4: Avviso("Il server commerciale è occupato. Riprova...");
Sleep(3000); // Soluzione semplice.
return(1); // Esci dalla funzione.
caso 135:Alert("Prezzo cambiato. Riprova...");
RefreshRates(); // Aggiorna i dati.
return(1); // Uscire dalla funzione.
caso 136:Alert("Nessun prezzo. In attesa di un nuovo tick...");
while(RefreshRates()==false) // Effettua un nuovo tick
Sleep(1); // Ritardo nel ciclo
return(1); // Esci dalla funzione
caso 137:Alert("Broker is busy. Try again...");
Sleep(3000); // Soluzione semplice.
return(1); // Uscire dalla funzione.
caso 146:Alert("Il sottosistema di trading è occupato. Riprova...");
Sleep(500); // Semplice decisione
return(1); // Esci dalla funzione
// Errori critici
caso 2: Avviso("Errore generale;)
return(0); // Esci dalla funzione.
caso 5: Alert("Versione più vecchia del terminale");
Lavoro=falso; // Non funziona più
return(0); // Esci dalla funzione
caso 64: Avviso("Account bloccato.");
Lavoro=falso; // Non funziona più
return(0); // Esci dalla funzione
caso 133:Alert("Commercio proibito.");
return(0); // Esci dalla funzione
caso 134:Alert("Non ci sono abbastanza soldi per eseguire la transazione.");
return(0); // Esci dalla funzione
default: Alert("Si è verificato un errore non identificato", Err); // Altre opzioni
return(0); // Esci dalla funzione
}
}
//-------------------------------------------------------------- 11 --
int New_Stop(int Parametr) // Controlla lo stop-prick.
{
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Distanza minima
if (Parametr<Min_Dist) // Se meno del consentito.
{
Parametr=Min_Dist; // Imposta la tolleranza.
Avviso("Distanza di arresto aumentata;)
}
return(Parametr); // Valore di ritorno.
}
//-------------------------------------------------------------- 12 --
 
C'è da qualche parte un comodo compilatore che conta gli uccelli? È molto difficile contare gli errori nel codice((
 

Volevo che il mio Expert Advisor inviasse un piccolo rapporto alla posta alle 8 e alle 11:30 del mattino, come questo

if(Hour()==8 && Time[z]!= LastTimeHS)
SendMail(""," Balanse "+AccountBalance()+" "+AccountCurrency()+
" \n Total Orders " +OrdersHistoryTotal()+
" \n Open Orders "+OrdersTotal()+
" \n Orders Profit "+AccountProfit()+
" \n Equity " +AccountEquity()+" "+AccountCurrency());
LastTimeHS = Time[z];
return;

if(Hour()==11 && Minute()==30 && Time[z]== LastTimeHS)
SendMail(""," Balanse "+AccountBalance()+" "+AccountCurrency()+
" \n Total Orders " +OrdersHistoryTotal()+
" \n Open Orders "+OrdersTotal()+
" \n Orders Profit "+AccountProfit()+
" \n Equity " +AccountEquity()+" "+AccountCurrency());
LastTimeHS = 0;
return;


Questo codice taglia l'Expert Advisor per qualche motivo (l'ho messo nel posto sbagliato, all'inizio) e invia e-mail ogni 5 minuti (sembra essere su ogni nuova candela). Per favore aiutatemi a capire cosa ho sbagliato, non riesco a capire cosa c'è di sbagliato...

 
Reshetov >> :

Una volta che tutti i take and loss sono stati raggiunti, tutte le posizioni saranno comunque chiuse. Potresti voler essere un po' più specifico.

Diciamo che ho 5 diverse posizioni aperte (non hanno TP e SL), una volta che il profitto totale sarà +$100 o -$100, ho bisogno di chiudere tutti gli ordini, indipendentemente

se sono sul lato più o sul lato meno