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

 
Vladislav Andruschenko:
Merci beaucoup, très utile.
 

Quelqu'un peut-il aider à corriger le code EA sur MT5 ?

J'ai lu les manuels, mais je ne peux pas battre 2 vernis lors de la compilation.

la déclaration de 'xxxx ' cache la déclaration globale

и

perte éventuelle de données due à la conversion de type

EA jointe
Dossiers :
r1rvcc.mq5  32 kb
 
ilyav:

Quelqu'un peut-il aider à corriger le code EA sur MT5 ?

J'ai lu les manuels, mais je ne peux pas battre 2 vernis lors de la compilation.

la déclaration de 'xxx ' cache la déclaration globale

perte éventuelle de données due à la conversion de type

Application EA

Je n'ai pas regardé le code, mais c'est simple et direct. L'avertissement indique que la variable locale dans la fonction a exactement le même nom que la variable globale dans telle ou telle ligne (le numéro de ligne est écrit dans l'avertissement). Définissez un nom différent pour la variable locale dans la fonction. Ou renommez la variable globale - il y aura des erreurs dans le code pointant vers toutes les occurrences de la variable globale renommée - remplacez simplement son nom à tous les endroits de votre code.

 
ilyav:

Quelqu'un peut-il aider à corriger le code EA sur MT5 ?

J'ai lu les manuels, mais je ne peux pas battre 2 vernis lors de la compilation.

la déclaration de 'xxxx ' cache la déclaration globale

и

perte éventuelle de données due à la conversion de type

Conseil de l'annexe

la déclaration de 'xxxx ' cache la déclaration globale

m'indique que cette variable a déjà été déclarée de manière globale. renommez-la en fonction pour qu'elle ne soit pas perdue.

perte éventuelle de données due à la conversion de type

indique que le type "gauche" n'est pas le même que le type "droit".

par exemple

        Ticket = HistoryOrderGetTicket(i);  // получим тикет очередного ордера

Ticket = long

et HistoryOrderGetTicket = ulong

 
Experts, veuillez expliquer : la fonctionChartRedraw(0) et la mise à jour dans le menu contextuel du graphique sont la même action ? Je pensais que c'était la même chose, mais le graphique se met à jour à partir du menu contextuel, mais je ne peux pas le faire avec la fonction.
 
khorosh:
Experts, veuillez expliquer : la fonction ChartRedraw(0) et la mise à jour dans le menu contextuel du graphique sont la même action ? Je pensais que c'était la même chose, mais le graphique se met à jour à partir du menu contextuel, mais je ne peux pas le faire avec la fonction.
ChartRedraw() redessine les objets graphiques du graphique spécifié, mais ne met pas à jour les données du serveur.
 
Artyom Trishkin:
ChartRedraw() redessine les objets graphiques du graphique spécifié plutôt que de mettre à jour les données du serveur.

Et les courbes indicatrices qui sont dessinées à l'aide de tampons, doivent-elles être mises à jour ? J'ai un indicateur de courbe fait maison qui ne se met pas à jour tant que je ne fais pas une mise à jour du graphique via le menu contextuel. Comment puis-je automatiser une telle mise à jour qui a lieu à l'aide du menu contextuel ?

 
khorosh:

Et les courbes indicatrices qui sont dessinées à l'aide de tampons, doivent-elles être mises à jour ? J'ai un indicateur de courbe fait maison qui ne se met pas à jour tant que je ne fais pas une mise à jour du graphique via le menu contextuel. Comment puis-je automatiser une telle mise à jour qui se produit lorsque j'utilise le menu contextuel ?

Modifiez l'indicateur de courbe. Vous ne pouvez tracer une ligne que lorsqu'elle est entièrement recalculée, ce qui se fait à l'aide de la commande du menu contextuel.
 
Artyom Trishkin:
Fixez l'indicateur de courbe. Il ne peut tracer une ligne qu'après un nouveau calcul complet, qui est effectué par la commande du menu contextuel.

Il s'avère donc qu'il n'existe pas de fonction similaire à "rafraîchir" ? Autre question : comment faire pour que la fonction de suppression des objets placés dans deinit() ne soit exécutée que lors de la suppression de l'indicateur du graphique ?

 
khorosh:

Il s'avère donc qu'il n'existe pas de fonction similaire à "rafraîchir" ? Une autre question : comment faire en sorte que la fonction deinit() ne soit exécutée que lors de la suppression de l'indicateur du graphique ?

Il y a aussi le mql4.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
  • www.mql5.com
//| get text description                                             | //| Expert deinitialization function                                 |
Raison: