[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 79

 
albion:
Je demande à tous les experts de consulter le site https://forum.mql4.com/ru/38745#429784.

Commencez à écrire votre propre code et discutez de tout ce que vous ne comprenez pas dans ce fil de discussion. N'oubliez pas de montrer la partie du code où vous rencontrez des difficultés.
 
drknn:

Des idées ?
 
NameLess:


point_low=NormalizeDouble(iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0),Digits) ;

wot)


Et à quoi correspondent les chiffres ? Créez un nouveau script dans lequel vous n'écrivez qu'une seule ligne :

Print("Дигитс данной валютной пары нормализует до ",Digits," знаков после запятой");
 
drknn:


Que représentent les chiffres ? Créez un nouveau script dans lequel vous n'écrivez qu'une seule ligne :


déjà vérifié, c'est correct( c'est une constante terminale.
 
drknn:


Que représentent les chiffres ? Créez un nouveau script dans lequel vous n'écrivez qu'une seule ligne :


J'essaie de trouver le code source de iMA, peut-être que la conversion ne fonctionne pas correctement, car tous les calculs proviennent de ima, je n'ai pas d'autres idées(((
 
NameLess:

déjà vérifié, c'est correct( c'est une constante terminale.

Vous n'avez pas répondu à ma question. Quels sont les chiffres de cette paire de devises ? À propos, de quel type de paire de devises s'agit-il, combien de décimales comporte-t-elle et combien de pips par tick se déplace-t-elle ?
 
drknn:

Vous n'avez pas répondu à ma question. A quoi correspondent les chiffres pour cette paire de devises. Et au fait, de quel type de paire de devises s'agit-il ?

Digits est 5, c'est une constante et elle ne peut prendre aucune autre valeur.
 
NameLess:

chiffres est égal à 5, cette constante ne peut pas prendre une valeur différente. paire d'eurobucks


Essayez d'une autre manière. Écrivez ce qui suit sur la première ligne de la fonction Start :

string SMB=Symbol();
int DGS=MarketInfo(SMB,MODE_DIGITS);
Print("Дигитс = ",Digits,"  DGS = ",DGS);
string Val="";
Val = iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
double point_low=iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
Print("Val = ",Val,"  point_low до нормализации = ",point_low);
point_low = NormalizeDouble(point_low,5);
Print("point_low после нормализации = ",point_low);
 

Peut-être que la valeur se termine par un zéro et que ce dernier est simplement écarté dans le processus de normalisation ? Rejeté parce que l'entrée 0.1 est équivalente à 0.10 et qu'il vaut mieux rejeter le zéro ?

P.S.

Vous savez, n'ayant pas accès au terminal et à ces citations que vous utilisez, il est problématique de comprendre ce qui est quoi - il ne reste qu'une chose - les expériences.

 
drknn:


Essayez d'une autre manière. Écrivez ce qui suit sur la première ligne de la fonction Start


Merci ! Je vais essayer !
Raison: