Variables globales versus FileWrite - page 3

 

@deysmacro

Mais j'ai toujours du mal à voir raison pourquoi les gens ne veulent pas utiliser ChartID()? Est-ce qu'il change parfois ? Est-ce qu'il se duplique parfois ?

Sinon, pourquoi réinventer la roue en ajoutant des lignes de code au lieu de DoubleToStr(ChartID(),0) ?

 

@angevoyageur

Merci encore pour la réponse.

Je m'excuse d'avoir été peu clair pour tout le monde.

Je comprends ce que sont les Magic numbers, et je comprends ce que fait ChartID().

J'essaie simplement de trouver le meilleur moyen de créer un nom de GV unique qui ne sera pas modifié, qui peut être récupéré après un redémarrage du terminal et qui n'a pas besoin d'être connu par une autre instance EA.

ChartID() semble convenir, mais les gens continuent de suggérer des moyens beaucoup plus compliqués de le faire. C'est pourquoi je ne comprends pas bien.

 
toast:

Merci encore pour la réponse.

Je m'excuse d'avoir été peu clair pour tout le monde.

Je comprends ce que sont les nombres magiques, et je comprends ce que fait ChartID().

J'essaie simplement de trouver le meilleur moyen de créer un nom de GV unique qui ne sera pas modifié, qui peut être récupéré après un redémarrage du terminal et qui n'a pas besoin d'être connu par une autre instance d'EA.

ChartID() semble convenir, mais les gens continuent de suggérer des moyens beaucoup plus compliqués de le faire. C'est pourquoi je ne comprends pas bien.


Avoir un générateur de nom pour GV et ensuite vérifier si le nom unique de GV existe ou non. C'est tout.

Lorsque vous utilisez ChartID(), vous n'avez pas le contrôle, mais en utilisant le générateur de noms, vous avez le contrôle.

Si vous pensez toujours qu'il est bon d'utiliser ChartID(), alors faites-le.

Je mets un point ici.

 

En tout cas, merci pour votre aide.

Si je génère le nom de la GV, comment le retrouver après un redémarrage du terminal ? Il faudrait qu'il soit dans un autre GV, ou déduit des entrées utilisateur qui peuvent être modifiées...

Je pense que je vais opter pour ChartID().

Toutes ces autres options semblent être de l'écriture de code pour le plaisir.

En l'absence d'une véritable raison pour laquelle ChartID() est une mauvaise idée, je vais m'y tenir.

 
toast:

En tout cas, merci pour votre aide.

Si je génère le nom de la GV, comment le retrouver après un redémarrage du terminal ? Il faudrait qu'il soit dans un autre GV, ou déduit des entrées utilisateur qui peuvent être modifiées...

Je pense que je vais opter pour ChartID().

Toutes ces autres options semblent être de l'écriture de code pour le plaisir.

En l'absence d'une véritable raison pour laquelle ChartID() est une mauvaise idée, je vais m'y tenir.

ChartID() semble une bonne idée pour créer un nom unique, il faut seulement vérifier que cet ID est persistant à travers les redémarrages de MT4. Je n'ai jamais vérifié cela.

Tenez-nous au courant.

 
angevoyageur:

ChartID() semble une bonne idée pour créer un nom unique, il faut seulement vérifier que cet ID est persistant à travers les redémarrages de MT4. Je n'ai jamais vérifié cela.

Faites-le nous savoir.



Oui, c'est le cas. Je l'ai vérifié plus tôt dans la journée.

Première exécution :

Après le redémarrage du terminal :

 
si le graphique a été fermé et rouvert, vous avez perdu votre ChartED() précédent.
 

Oui, si vous avez fermé ce graphique particulier (tout en gardant le reste du terminal ouvert), l'ID est perdu.

Mais si le graphique est fermé parce que le terminal entier a été fermé, l'ID restera le même lorsque le terminal sera rouvert.

 

J'utiliserais le numéro de compte ou un numéro dérivé de celui-ci. Je ne ferais pas confiance à ChartID, que se passerait-il si l'utilisateur devait réinstaller MT4 ou fermer accidentellement le graphique alors que des transactions sont ouvertes ? Le numéro du compte qui contient les transactions ouvertes de l'EA est robuste.

 
SDC:

J'utiliserais le numéro de compte ou un numéro dérivé de celui-ci. Je ne ferais pas confiance à ChartID, que se passerait-il si l'utilisateur devait réinstaller MT4 ou fermer accidentellement le graphique alors que des transactions sont ouvertes ? Le numéro du compte qui contient les transactions ouvertes de l'EA est robuste.


J'ai déjà demandé à Toast de créer un générateur de nom unique.
Raison: