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

 
-Aleks-:

Veuillez me dire ce que signifie cet avertissement :

La déclaration de 'm_data' cache la déclaration du membre dans le fichier 'ArrayObj.mqh' à la ligne 16 ZigZag_rev_4.mqh 27 32

cela signifie que vous redéclarez une nouvelle variable (la même)
 
-Aleks-:

Veuillez me dire ce que signifie cet avertissement :

La déclaration de 'm_data' cache la déclaration du membre dans le fichier 'ArrayObj.mqh' à la ligne 16 ZigZag_rev_4.mqh 27 32

les mêmes variables sont déclarées globalement, si je ne me trompe pas.
 
trader781:
Cela signifie que vous redéclarez une nouvelle variable (la même).
Sergey Gritsay:
Les mêmes variables sont déclarées globalement, si je ne me trompe pas.
Merci, je suppose que le nouveau compilateur ne permet plus de le faire ?
 
-Aleks-:
Merci, je suppose que le nouveau compilateur ne permet plus cela ?
Oui, c'est vrai. Ce n'est pas une erreur. Mais le compilateur prévient qu'il peut y avoir des problèmes et des erreurs de programme difficiles à définir.
 
Artyom Trishkin:
C'est le cas. Il ne s'agit pas d'une erreur. Mais le compilateur prévient qu'il peut y avoir des problèmes et des erreurs de programme difficiles à détecter.
Merci.
 

Un conseil pour un débutant. Il existe une telle chose dans l'indicateur :OnCalculate(...).

Question : Puis-je générer un événement personnalisé pour déclencherOnCalculate(...) et recalculer immédiatement l'indicateur ? Objectif : ne pas attendre que la tique vienne

 
Vitaly Muzichenko:

Un conseil pour un débutant. Il existe une telle chose dans l'indicateur :OnCalculate(...).

Question : Puis-je générer un événement personnalisé pour déclencherOnCalculate(...) et recalculer immédiatement l'indicateur ? Objectif : ne pas attendre que la tique vienne

S'il vous plaît : soit par minuterie, soit en envoyant votre propre événement. Et mettez en œuvre la logique OnCalculate() dans les gestionnaires appropriés à l'arrivée de l'événement.
 
Alexey Kozitsyn:
S'il vous plaît : soit par minuterie, soit en envoyant votre propre événement. Et mettez en œuvre la logique OnCalculate() dans les gestionnaires appropriés lorsque l'événement se produit.

Je ne peux pas le toucher avec l'événementOnCalculate(...), je peux toucher n'importe quelle fonction, mais je ne peux pas toucher celle-ci. La minuterie n'est pas une option, l'indicateur n'est pas nécessaire si souvent, et il serait mieux de l'utiliser avec un clic sur un élément graphique.

Comment le mettre en œuvre ?

 

Pouvez-vous me dire comment rechercher correctement les endroits du code les plus gourmands en ressources qui chargent le CPU ?

 
Vitaly Muzichenko:

Je ne peux pas le toucher avec l'événementOnCalculate(...), je peux toucher n'importe quelle fonction, mais je ne peux pas toucher celle-ci. La minuterie n'est pas une option, l'indicateur n'est pas nécessaire si souvent, et il serait mieux de l'utiliser avec un clic sur un élément graphique.

Comment le mettre en œuvre ?

Eh bien, dansOnCalculate(...) lui-même, nous suivons le bouton

s'il est pressé - faire les calculs, s'il n'est pas pressé - sortir

à la fin du calcul, appuyez sur .................OBJPROP_STATE,false) ;

Raison: