Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 148

 
Kot:


Merci ! J'ai compris l'idée.

Et si la situation était différente. Il y a des lignes horizontales avec des noms différents sur le graphique. Le script doit calculer quelle ligne correspond à quel prix.

Qu'est-ce que cela signifie ?

- Si on veut connaître les niveaux de toutes les lignes horizontales, on énumère les objets graphiques de la fenêtre et pour la ligne supérieure on prend ObjectGetDouble(.., OBJPROP_PRICE).

PS : une question bien posée est la moitié de la réponse - apprenez à formuler vos questions.

 
Maxim Kuznetsov:

Qu'est-ce que cela signifie ?

- Si vous voulez connaître les niveaux de toutes les lignes horizontales, parcourez les objets graphiques de la fenêtre et prenez ObjectGetDouble(.., OBJPROP_PRICE) pour les lignes de montagne.

PS : la bonne question est la moitié de la réponse - apprenez à formuler vos questions.


Juste ce dont vous avez besoin. MERCI !
 

J'ai déjà perdu ma logique - aidez-moi !

J'ai pris le script, j'en ai fait une fonction et je l'ai inséré comme fonction dans l'indicateur, et ensuite j'ai eu des erreurs

   for(int i=0;i<SizeMass;i++)
     {
      summDelta[i]=(Digit[i+1]-Digit[i]);
     }
i - variable déjà définie FindOblast'_1_1.mq4 308 12

Je n'ai pas obtenu de telles erreurs dans le script, de plus, des boucles avec des variables similaires sont dans la sortie, mais toutes ne sont pas violées - qu'est-ce qui ne va pas ?

 
-Aleks-:

J'ai déjà perdu ma logique - aidez-moi !

J'ai pris le script, j'en ai fait une fonction et je l'ai inséré comme fonction dans l'indicateur, et ensuite j'ai eu des erreurs

i - variable déjà définie FindOblast'_1_1.mq4 308 12

Je n'ai pas vu de telles erreurs dans le script, de plus, les boucles avec les mêmes variables sont dans la sortie, mais il ne génère pas d'erreurs dans toutes - qu'est-ce qui ne va pas ?

Le problème se situe au niveau de la portée des variables.

Ajoutez (si vous ne l'avez pas déjà fait) la directive #property strict au tout début de votre code et corrigez toutes les erreurs spécifiées et les avertissements de compilation.

 
Artyom Trishkin:

Le problème est la portée des variables.

Ajoutez (si vous ne l'avez pas déjà fait) la directive #property strict au tout début du code et corrigez les erreurs et les avertissements de compilation qui sont indiqués.

Merci pour la réponse.

Il est tellement clair que la portée est locale - sauf que "i" n'est déclaré séparément nulle part - dans une fonction ou globalement !

J'ai ajouté #property strict et toutes ces erreurs "i" ont disparu - comment, s'il s'agit d'une vérification plus approfondie ?

 
-Aleks-:

Merci pour la réponse.

Il est donc clair que la portée est locale - sauf que "i" n'est déclaré séparément nulle part - dans une fonction ou globalement !

J'ai ajouté #property strict et toutes ces erreurs avec "i" ont disparu - comment est-ce possible s'il s'agit d'une vérification plus approfondie ?

C'est précisément le contrôle plus approfondi qui prend en compte tous les domaines de la visibilité variable.
 
Artyom Trishkin:
C'est précisément le contrôle plus approfondi qui prend en compte tous les domaines de la visibilité variable.

Je vois, mais on ne comprend pas pourquoi il est possible de travailler sans ces contrôles...
 
-Aleks-:

Je vois, mais je ne sais pas pourquoi il n'y a pas de possibilité de travailler sans ces contrôles...

Pour la compatibilité avec les anciens codes.

Maintenant, chaque fois que vous écrivez du code, n'oubliez pas d'ajouter cette directive pour mql4. Pour mql5, les contrôles stricts sont initialement activés et le compilateur ne connaît pas cette directive.

 
Artyom Trishkin:

Pour la compatibilité avec les anciens codes.

Maintenant, chaque fois que vous écrivez du code, n'oubliez pas d'ajouter cette directive pour mql4. Pour mql5, les contrôles stricts sont initialement activés et le compilateur ne connaît pas cette directive.

J'ai construit un nouvel indicateur sans l'ancien. J'ai la #propriété stricte comme d'habitude.

 

Aide pour la lecture d'un fichier .crv

a cette entrée :

2010.03.18 01:35:00;1.37409;1.37119

Comment écrire un code pour obtenir chaque valeur séparément dans une variable ?