Demandez ! - page 54

 

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

 
iscuba11:
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) ?
Merci pour votre contribution ! Dave

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 !

Paix et amour à tous, au nom de Jésus ! Révérend Dave
 

Besoin d'aide supplémentaire !

if(currency_decimal == 2) OpenTriggerLevel = DoubleToStr(OpenTriggerLevel,2);

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 !

Dave
 

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.

 
asmdev:
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 :

if(currency_decimal == 2) DoubleToStr(OpenTriggerLevel,2);

Toujours confus ? ??

 
iscuba11:
if(currency_decimal == 2) OpenTriggerLevel = DoubleToStr(OpenTriggerLevel,2);[/PHP]

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!

Dave

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.