![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
solution possible pour le tampon 0:
int currentBar=0 ;
double lowestFG=iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,0, currentBar) ;
double highestFG = lowestFG ;
for(;currentBar<4 ; currentBar++) lowestFG=MathMin(lowestFG, iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,0,currentBar)) ;
for(currentBar=0;currentBar<4 ; currentBar++) highestFG =MathMax(highestFG , iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,0,currentBar)) ;
vous devez tout recommencer pour le tampon # 1
Comment puis-je limiter le nombre de décimales qu'une déclaration de commentaire affiche sur le graphique. Actuellement, le résultat d'une variable est de .00347892, et je veux qu'il n'affiche que .0035 (arrondi au chiffre suivant) ?
fonction IndicatorDigits
Tout d'abord, je tiens à vous remercier tous de m'avoir aidé. Je crois que je peux maintenant mettre ma nouvelle EA en ligne pour la tester.
J'ai encore une question sur les décimales.
Le commentaire est généré par l'EA et non par l'indicateur. La fonction indicatordigits, je crois, est utilisée dans l'indicateur lui-même et non dans l'EA. N'y a-t-il pas un simple arrondi à x chiffres d'une variable que je pourrais utiliser ? Pourquoi ce langage est-il si compliqué ? Même un langage de base pourrait probablement le faire !
Comme toujours, j'apprécie les retours de connaissances et de sagesse. Aidez-nous si vous le pouvez.
Merci beaucoup !
J'ai finalement lu votre post correctement, essayez Comment(DoubleToStr(doubleVariable, 4)) ;
C'est fait ! Maintenant, il faut affiner et tester. Vous m'avez tous béni - Merci !
Besoin d'aide supplémentaire !
Ce que j'essaie de faire, c'est que l'EA modifie automatiquement le niveau d'ouverture par défaut de 4 décimales à 2 lorsque l'utilisateur sélectionne 2 (devise_décimale) parmi 4 dans la configuration de l'EA. Un tel changement devrait avoir lieu sur une devise comme USDJPY qui a 2 décimales.
De toute évidence, le compilateur n'aime pas le deuxième signe ' = ' dans la déclaration ci-dessus.
Je vous remercie d'avance pour votre aide !
MQL4 a une variable prédéfinie Digits qui correspond au nombre de décimales de la paire.
DoubleToStr(OpenTriggerLevel, Digits) ;
le code est correct, cherchez l'erreur dans la définition de la variable probablement.
MQL4 a une variable prédéfinie Digits qui correspond au nombre de décimales de la paire.
DoubleToStr(OpenTriggerLevel, Digits) ;
le code est correct, regardez erreur dans la définition de la variable probablement.J'ai essayé cela, mais l'OpenTriggerLevel s'affiche toujours comme .0004 au lieu de .04 :
Toujours confus ? ??
What I am attempting to do is have the EA automatically change the default OpenTriggerLevel from 4 decimal places to 2 when the user selects 2 (currency_decimal) from 4 in the EA setup. Such a change would have to take place on a currency like USDJPY which is 2 decimal places.
Evidently the compiler does not like the second ' = ' sign in the above statement.
With continued appreciation, Thanks in Advance for your input assistance!
Le problème de cette déclaration est que la variable 'OpenTriggerLevel' est de type 'double', alors que la fonction renvoie une 'chaîne'. Ainsi, bien que le code soit syntaxiquement correct, il est sémantiquement incorrect, et je pense que c'est la raison pour laquelle le compilateur se plaint.
Si vous voulez porter la chaîne dans une variable, vous aurez besoin d'une variable pour le faire. Sinon, vous pouvez utiliser la fonction 'DoubleToStr' dans l'argument 'Comment' pour remplacer l'endroit où il est actuellement indiqué 'OpenTriggerLevel'. On pourrait y lire
[PHP]DoubleToStr( OpenTriggerLevel, currency_decimal )et vous n'auriez pas besoin de l'instruction 'if ..'.
quelqu'un sait-il comment obtenir le total de chaque achat, vente, buystop, sellstop, buylimit et sellstop par le script ? merci.