Demandez ! - page 53

 

Alarme

Comment écrire une alarme pour qu'elle ne se déclenche qu'une seule fois et pas plusieurs fois ?

Merci pour votre aide.

Jo

 

De nombreuses fonctions sont ici https://www.mql5.com/en/forum/174329

Et le fil de discussion alert_once est ici https://www.mql5.com/en/forum/172885

 

Veuillez vérifier cette déclaration - Besoin de confirmation s'il vous plaît !

iLow(NULL,0,Lowest(NULL,0,MODE_LOW,1,4)<=0)

Est-ce que cela veut dire que le Lowest de mon indicateur (4 barres en arrière) doit être inférieur ou égal à 0 ? Si ce n'est pas le cas, comment doit-on l'énoncer ?

Dave Merci d'avance !
 
iscuba11:
iLow(NULL,0,Lowest(NULL,0,MODE_LOW,1,4)<=0)

Cela veut-il dire que le Lowest de mon indicateur (4 barres en arrière) doit être inférieur ou égal à 0 ? Si non, comment le préciser ?

Dave Merci d'avance !

Ce n'est pas correct, vous pouvez consulter le post 516 à la page 52.

La façon dont vous calculez le plus bas de l'indicateur n'est pas correcte.

 
asmdev:
ce n'est pas correct, vous pouvez regarder le post 516 à la page 52 la façon dont vous calculez le plus bas de l'indicateur n'est pas correcte.
double lowestFG=9999, highestFG=-9999;//FG short for Forex_Grail, the name of my indicator histogram file.

int currentBar=0;

int endBar=4;

for(currentBar=0;currentBar<endBar; currentBar++)

lowestFG=MathMin(lowestFG, iForex_Grail(Symbol(),0,17,PRICE_CLOSE,currentBar)); //0 = anytime, 17 = maperiod of indicator.

if lowestFG <= 0 then go to next statement
Est-ce que c'est bien lu ?? Dave

Quand je mets ceci dans mon programme EA, il dit que la fonction iForex_Grail n'est pas définie ? Forex_Grail est le nom de mon indicateur personnalisé.

Peut-être faudrait-il dire : lowestFG=MathMin(lowestFG, iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar)) ; ? ??

 

J'ai trouvé mon erreur !

Dave

 

Trop de décimales ! - Veuillez me conseiller.

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 0,00347892, et je veux qu'il n'affiche que 0,0035 (arrondi au chiffre suivant) ?

Merci pour votre contribution !
 
double lowestFG=9999, highestFG=-9999;

int currentBar=0;

int lastBar=4;

for(currentBar=0;currentBar<lastBar; currentBar++)

lowestFG=MathMin(lowestFG, iCustom(NULL,0,"Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar));

Print ("Low =",lowestFG);

Cela lit à partir du tampon '0 ' de l'indicateur[0.00 à positif](fonctionne bien !). Comment puis-je le faire lire à partir du tampon'1' de l'indicateur [0.00 à négatif]?

Définition de l'instruction : double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) - Il n'y a pas de demande de numéro de tampon à aucun endroit??????????????. S'IL VOUS PLAÎT, AIDEZ-MOI !!!! Il semble être verrouillé dans le tampon ' 0 '.

S'il vous plaît, éclairez-moi !

Dave

 

iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)

mode' est votre tampon

iCustom( ... ...paramètres de l'indicateur ici ... , 0, currentBar) - lira à partir du tampon 0

iCustom( ... ...paramètres de l'indicateur ici ... , 1, currentBar) - lira à partir du premier tampon.

Quelques informations ici http://docs.mql4.com/indicators/iCustom

lowestFG=9999 devrait être OK mais pour être sûr on peut écrire

lowestFG = iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,1,currentBar) au lieu de

La fonction DoubleToStr(http://docs.mql4.com/convert/DoubleToStr) limitera le nombre de décimales, elle est surtout utilisée pour obtenir une belle apparence pour la fonction Print ou Alert. La fonction n'arrondira pas mais coupera simplement les décimales inutiles.

Si vous utilisez ce double # pour le comparer à un autre #, vous aurez toujours un grand nombre de # après la virgule.

Utilisez NormalizeDouble(http://docs.mql4.com/convert/NormalizeDouble) pour limiter le nombre de décimales de façon permanente.

selon votre iCustom votre indicateur a 2 paramètres period et price(PRICE_CLOSE), vérifiez si c'est correct.

 
iscuba11:
Ceci lit depuis le buffer '0 ' de l'indicateur[0.00 à positif](Fonctionne OK !).

C'est une coïncidence que cela fonctionne bien, si votre indicateur FG a 2 paramètres (période et prix) vous devez ajouter 1 paramètre supplémentaire dans le iCustom comme dans le post précédent, si votre indicateur FG a 1 paramètre (période) alors remplacez PRICE_CLOSE par le tampon #(0 ou 1 ou 2 ou ...)