Questions des débutants MQL5 MT5 MetaTrader 5 - page 434

 
Artyom Trishkin:
La couleur du commentaire ne peut être modifiée. Si vous voulez une couleur, vous pouvez la changer par des objets.
Pourquoi ai-je 0 ? Je m'intéresse aux erreurs, pas aux exemples. Je vais copier et coller l'exemple, mais la notion d'erreur reste inconnue.
 
Leanid Aladzyeu:
Pourquoi est-ce que j'obtiens 0 ? Je suis intéressé par l'erreur, pas par les exemples. Je vais copier et coller l'exemple, mais la notion d'erreur reste inconnue.

essayez d'enlever Point - que dira-t-il ?

Je pense que Point() est correct.

 
new-rena:

essayez d'enlever Point - que dira-t-il ?

à mon avis, le bon Point()

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)) ; Print("Taille de la barre 1 = ", p1) ;

0,0 total. sans point et avec point avec parenthèses. J'ai essayé des tableaux comme celui-ci . tous pour 0.0.

int  imax5=iHighest(Symbol(),PERIOD_MN1,MODE_HIGH,3,1);Print("max1=====", imax5);
    double   max5= iHigh(Symbol(),PERIOD_MN1,imax5);Print("max2=====", max5);
    max5=NormalizeDouble(max5,Digits);Print("max3=====", max5);
 
Leanid Aladzyeu:

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)) ; Print("Taille de la barre 1 = ", p1) ;

0,0 total. sans point et avec point avec parenthèses. J'ai essayé des tableaux comme celui-ci . tous pour 0.0.

Essayez de cette façon

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));

Leanid Aladzyeu:
Pourquoi j'obtiens 0 ? Je m'intéresse aux erreurs, pas aux exemples. Je vais copier et coller l'exemple, mais le concept d'erreur reste inconnu.
Parce que Print() et Alert() impriment des nombres doubles jusqu'à 4 chiffres, alors que le résultat est un nombre à 5 chiffres. Pour voir le cinquième chiffre, vous devez convertir le nombre en une chaîne de caractères.
 
Alexey Viktorov:

Essayez ceci

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));
Мне говорили что моя версия была с багом на массивы iclose[] , получается что и на функцию багом попало  или в терминале не хватает истории  тоже врядли история с начала загружена ,

 
Leanid Aladzyeu:

Je disais seulement qu'il y avait un build avec cette erreur, je l'ai lu sur ce forum, mais je n'ai pas dit que POSSIBLEMENT vous avez ce build.

Concernant les zéros, j'ai corrigé, complété mon post précédent avec un peu de retard.


Si vous obtenez également un zéro dans le cinquième chiffre, définissez Print() pour le moins et le soustracteur. Peut-être sont-ils les mêmes ? Bien qu'ils ne devraient pas l'être. Mais ce sont les imprimeurs qui devraient en chercher la cause.

 
Alexey Viktorov:

Je disais seulement qu'il y avait un build avec cette erreur, je l'ai lu sur ce forum, mais je n'ai pas dit que POSSIBLEMENT vous avez ce build.

A propos des zéros, j'ai corrigé, ajouté à mon message précédent un peu tard.


Si vous obtenez également un zéro dans le cinquième chiffre, définissez Print() pour le soustracteur et le soustracteur. Peut-être sont-ils les mêmes ? Bien qu'ils ne devraient pas l'être. Mais vous devez rechercher la cause auprès des imprimantes.

C'est cruel)) comment le réparer ?

4074
 ERR_NO_MEMORY_FOR_HISTORY
 Не хватает памяти для исторических данных
 
 
Alexey Viktorov:

Parce que c'est mal orthographié.

Vous êtes sûr ? Avant d'écrire, j'ai exécuté cette construction avec AAA = true et AAA = false - tout fonctionne. Si elle est vraie, elle renvoie la (chaîne)c, si elle est fausse, elle renvoie "hors ligne". Les valeurs négatives du nombre de commandes ne peuvent pas être, donc cela correspond exactement.
 
Leanid Aladzyeu:
Pourquoi est-ce que j'obtiens 0 ? Je suis intéressé par l'erreur, pas par les exemples. Je vais copier et coller l'exemple, mais la notion d'erreur reste inconnue.

Il n'y a pas d'erreur. Le scénario

#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits))/Point; 
   Print("Величина бара 1 = ", p1);
  }
//+------------------------------------------------------------------+

Il apparaît dans le journal.

2015.09.05 05:00:09.558 Script SizeCandle USDJPY,Daily: removed
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: uninit reason 0
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: Величина бара 1 = 9122.0
2015.09.05 05:00:09.556 SizeCandle USDJPY,Daily: initialized
2015.09.05 05:00:09.541 Script С форума\SizeCandle USDJPY,Daily: loaded successfully

Seulement je ne comprends toujours pas pourquoi vous avez besoin de double pour sortir une valeur entière (car le nombre de points est un entier).

 

des connaisseurs, de l'aide.

J'ai besoin d'une police de caractères pour écrire les marques d'ondes en MT-4, c'est-à-dire des lettres et des chiffres dans des cercles.