[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 30

 

Je m'excuse d'être hors sujet. Veuillez me conseiller si quelqu'un connait un EA qui fermerait

Je voudrais vous demander si vous connaissez un conseiller expert qui fermera toutes les positions de votre compte une fois que le total du TP et du SL aura été atteint. Je vous en remercie d'avance.

 
Chatlanen >> :

Je m'excuse d'être hors sujet. Veuillez me conseiller si quelqu'un connait un EA qui fermerait

Je voudrais vous demander si vous connaissez un conseiller expert qui fermera toutes les positions de votre compte une fois que le total du TP et du SL aura été atteint. Merci d'avance.

Une fois que toutes les prises et pertes ont été atteintes, les positions seront toutes fermées de toute façon. Veuillez formuler la question plus précisément

 

J'ai un problème, j'appuie sur le bouton compiler et j'obtiens 2 erreurs :

1. Dans la file d'attente :

int Fun_Error(int Error) // Fonction de gestion des erreurs

'(' - définition de fonction inattendue C:\Users\Paul\Desktop\Heiniken M.mq4 (209, 14)
2. Dans la file d'attente :

par défaut : Alert('An unidentified error has occurred', Error) ; // Autres options.

Erreur - variable non définie C:\Users\Pàâåë\Desktop\Heiniken M.mq4 (242, 53)

J'ai une question - Fun_Error() est-elle une fonction standard ou doit-elle être écrite (j'ai repris cette partie du code d'une autre EA) ?

La 2ème erreur découle de la première, je n'arrive pas à comprendre quel peut être le problème((.

 

changer le nom de la variable en err par exemple

 
JavaDev >> :

changez le nom de la variable par ex. err

maintenant il ne peut pas trouver err(

 
Afficher le code de la fonction
 
  //-----------------------------------------------------------10-+
int Fun_Error(int Err) // Fie de gestion d'erreur
{
switch(Err)
{ // Erreurs qui peuvent être surmontées.
cas 4 : Alert("Le serveur commercial est occupé. Essayez à nouveau...") ;
Sleep(3000) ; // Solution simple.
return(1) ; // Sortie de la fonction.
cas 135:Alert("Le prix a changé. Essayez à nouveau...") ;
RefreshRates() ; // Rafraîchit les données.
return(1) ; // Sortie de la fonction.
cas 136:Alert("Pas de prix. En attente d'un nouveau tick...") ;
while(RefreshRates()==false) // Till a new tick
Sleep(1) ; // Délai dans la boucle
return(1) ; // Sortie de la fonction
cas 137:Alert("Broker is busy. Try again...") ;
Sleep(3000) ; // Solution simple.
return(1) ; // Sortie de la fonction.
cas 146:Alert("Le sous-système de négociation est occupé. Essayez à nouveau...") ;
Sleep(500) ; // Décision simple
return(1) ; // Sortie de la fonction
// Erreurs critiques
cas 2 : Alert("Erreur générale ;)
return(0) ; // Sortie de la fonction.
cas 5 : Alert("Ancienne version du terminal.") ;
Work=false ; // Ne plus travailler
return(0) ; // Sortie de la fonction
cas 64 : Alert("Compte bloqué.") ;
Work=false ; // Ne plus travailler
return(0) ; // Sortie de la fonction
cas 133:Alert("Trading interdit.") ;
return(0) ; // Sortie de la fonction
cas 134:Alert("Pas assez d'argent pour exécuter la transaction.") ;
return(0) ; // Sortie de la fonction
default : Alert("An unidentified error has occurred", Err) ; // Autres options
return(0) ; // Sortie de la fonction
}
}
//-------------------------------------------------------------- 11 --
int New_Stop(int Parametr) // Vérifier le stop.
{
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Distance min.
if (Parametr<Min_Dist) // Si moins que ce qui est autorisé.
{
Parametr=Min_Dist ; // Définit la tolérance.
Alert("Distance d'arrêt augmentée ;)
}
return(Parametr) ; // Valeur de retour.
}
//-------------------------------------------------------------- 12 --
 
Y a-t-il un compilateur pratique quelque part qui compte les oiseaux ? C'est très difficile de compter les erreurs dans le code((
 

Je voulais que mon conseiller expert envoie un petit rapport au courrier à 8 et 11h30, comme ceci

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;


Ce code coupe l'Expert Advisor pour une raison quelconque (je l'ai mis au mauvais endroit, au début) et envoie un e-mail toutes les 5 minutes (semble-t-il à chaque nouvelle bougie). S'il vous plaît, aidez-moi à comprendre ce que j'ai raté, je n'arrive pas à comprendre ce qui ne va pas...

 
Reshetov >> :

Une fois que toutes les prises et pertes ont été atteintes, toutes les positions seront fermées de toute façon. Tu devrais être un peu plus précis.

Disons que j'ai 5 positions différentes ouvertes (elles n'ont pas de TP ni de SL), une fois que le profit total sera de +$100 ou de -$100, je dois fermer tous les ordres, sans tenir compte de ce qui suit

s'ils sont du côté positif ou du côté négatif.

Raison: