Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 593

 

Puisque je suis en dessous des nuls dans l'utilisation des dll, je vais me risquer à demander ici : Pourriez-vous me dire comment formater correctement WinExec("shutdown /r", 0) dans les builds actuels ?

Pas nécessairement l'arrêt, je n'arrive pas à faire fonctionner quoi que ce soit pour l'instant.

Merci.

 
D'accord, je l'ai trouvé.
 

En option, merci. Bien que je ne comprenne toujours pas pourquoi cela se produit étant donné la normalisation.

Une autre solution possible - si quelqu'un en a besoin - j'ai converti le double en int. Puisque je connais à l'avance la précision requise.

 

Bonjour. La ligne d'instruction if dans l'EA ne s'exécute pas

Alert("sell_stop_open= ", sell_stop_open, " Middle= ", Middle) ;

si (sell_stop_open != Moyen)

{

Alerte ("sell_stop_open=Moyen") ;

L=L2 ;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic) ;

}

Lorsque le message d'alerte apparaît avant si je vois les valeurs sell_stop_open=1.3080, Middle =1.3080, mais si n'est pas exécuté.

Pouvez-vous me dire ce qui peut provoquer une telle erreur ?

 
Garik27p:

Bonjour. La ligne d'instruction if dans l'EA ne s'exécute pas

Alert("sell_stop_open= ", sell_stop_open, " Middle= ", Middle) ;

si (sell_stop_open != Moyen)

{

Alerte ("sell_stop_open=Moyen") ;

L=L2 ;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic) ;

}

Lorsque le message d'alerte apparaît avant si je vois les valeurs sell_stop_open=1.3080, Middle =1.3080, mais si n'est pas exécuté.

Pouvez-vous me dire ce qui peut provoquer une telle erreur ?


Autrement.
if (sell_stop_open == Middle)
 
r772ra:

Autrement.
J'ai aussi essayé de cette façon. Mais quand ça marche sur le testeur, parfois ça marche, parfois ça ne marche pas.
 
Desead:

En option, merci. Bien que je ne comprenne toujours pas pourquoi cela se produit étant donné la normalisation.

Une autre solution possible - si quelqu'un en a besoin - j'ai converti le double en int. Puisque je connais à l'avance la précision requise.

Les nombres doubles ont leurs propres particularités. Pour les convertir en valeur texte, on utilise DoubleToString (une fonction du nouveau langage MQL4) ou DoubleToStr (une fonction de l'ancien langage). Ces fonctions convertissent une valeur numérique en une chaîne de texte contenant la représentation en caractères du nombre dans le format de précision spécifié.

Je vous recommande de lire "Peculiarities of working with double-type numbers in MQL4". Bien et sur un forum il est possible de chercher des infos plus détaillées.

P./S. : Je ne pense pas que la variante de la traduction double en int, quand il est nécessaire de voir double - soit la décision appropriée.

 
Garik27p:
J'ai aussi essayé de cette façon. Mais quand ça marche sur le testeur, parfois ça marche, parfois ça ne marche pas.

Voici la réponse.
 
r772ra:
Juste là, la réponse.


Merci ! !!
 
Desead:
P./S. : Juste au cas où, je mentionnerai qu'il y a une réponse partielle à votre question dans "Note" de l'aide de NormalizeDouble également.

J'avais moi-même l'habitude d'oublier d'entrer dans DoubleToS... ...et s'est ensuite demandé quels étaient les nombreux chiffres après le point. :)