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

 

Aidez-moi à comprendre.

Comment écrire des lignes différentes dans l'EA à partir de l'indicateur ?

J'ai un indicateur - MACD 2 Line. Comment puis-je enregistrer les lignes de l'indicateur dans mon EA ?

 

StringAdd() IntegerToString() - quel est le problème ?

Dans une chaîne de caractères du type

x=StringAdd(x,IntegerToString(y));

donne un avertissement jaune

conversion implicite de "chaîne" en "nombre".

Qu'est-ce qui ne va pas ?
 

Bon après-midi.

Tâche : calculer à un point le milieu du canal (à utiliser comme un ordre en attente). J'ai fixé les limites de la chaîne manuellement.

double up_level, down_level, stop_size;

int init()
{
   up_level=1.55974;
   down_level=1.55596;
   stop_size = NormalizeDouble((up_level - down_level)/2,5);
   Alert ("Ширина канала = ", NormalizeDouble(up_level - down_level,5));
   Alert ("Середина канала = ", NormalizeDouble(stop_size,5));
   return(0);
}

Je le calcule avec la calculatrice

1.55974 - 1.55596 = 0.00378

L'alerte montre la largeur = 0.0038

0.00378/2 = 0.00189

L'alerte donne le milieu = 0.0019

Question : Pourquoi le programme ne compte-t-il pas le 5e chiffre ?

 
GygaByte:
   Alert ("Ширина канала = ", DoubleToString(up_level - down_level,5));
   Alert ("Середина канала = ", DoubleToString(stop_size,5));

Lors de la sortie en alerte, commentaire, impression, etc. (c'est-à-dire "être vu clairement à l'écran"), vous devez le convertir en texte.

Vous l'aurez :

P./S. : Et pour les calculs internes - oui, NormalizeDouble(...).

 
GygaByte:

P./S.: Il y a aussi, par exemple, des informations utiles sur ce sujet et un lien vers un article dans le Navigateur du Forum.

 
Hobu:

StringAdd() IntegerToString() - quel est le problème ?

dans une chaîne de caractères du type

x=StringAdd(x,IntegerToString(y));

donne un avertissement jaune

conversion implicite de "chaîne" en "nombre".

Qu'est-ce qui ne va pas ?

StringAdd est de type bool.

Tout ce que vous avez à faire est de spécifier la jointure à la fin de la chaîne (si x est du type chaîne dans votre cas, bien sûr) :

StringAdd(x,IntegerToString(y));
 
Hobu:

P./S. : De bons exemples sur les cordes se trouvent dans cet article, par exemple : https://www.mql5.com/ru/articles/585.

(et là il suffit de taper ou de copier-coller en cherchant sur la page : StringAdd)

 
varyar84:

Aidez-moi à comprendre.

Comment puis-je écrire différentes lignes de l'indicateur dans l'EA ?

J'ai un indicateur - MACD 2 Line. Comment prescrire les lignes de l'indicateur dans mon Expert Advisor ?

Valeurs de retour :

 
varyar84:

P./S. : La façon de mettre cela en pratique, si des questions se posent, peut être trouvée dans une variété de recherches sur le site web et/ou dans le manuel.

Bonne chance.

 
Bonjour à tous, j'ai une question, est-il préférable de faire un seul cycle pour tous les usages ou peut-il y avoir plusieurs cycles dans un bloc, y a-t-il une différence en termes de performance de l'EA ou pas ?