Variables globales versus FileWrite - page 2

 
toast:

Merci pour la réponse.

Oui, je suis d'accord.

Mais le problème sera le suivant :

Une transaction est ouverte avec le numéro magique 123.

Lors de la gestion de cette transaction, l'EA recherche le GV avec le nom 123xxxxxx.

L'utilisateur modifie le paramètre de l'EA pour le numéro magique en 789 alors que la position est toujours active.

L'EA recherche donc maintenant le GV avec le nom 789xxxxx (qui n'existe pas).

Essentiellement, je cherche une convention d'appellation des GV qui ne puisse pas être modifiée par l'utilisateur.


Ne pas cacher le numéro magique.

Le moyen le plus simple est de dire à vos utilisateurs quel est le numéro magique, ils sauront comment s'en occuper.

 
angevoyageur:
Ne permettez pas de modifier le nombre magique s'il y a encore des transactions ouvertes avec l'ancienne magie.


Par exemple, s'il n'y a pas d'ordres ouverts, la modification prendra effet. S'il y a encore des transactions en cours, l'utilisateur peut encore changer mais la modification ne prendra pas effet.


Cette logique peut être réalisée assez facilement en fait.

 

Merci pour la réponse.

Je suppose que c'est possible, mais c'est un peu compliqué ? La seule façon de faire à laquelle je pense est de boucler les ordres et de vérifier qu' il n'y a pas d'ordres ouverts. Si c'est le cas, alors appliquer l'entrée int MagicNumber à int NewMagic.

Ou existe-t-il un moyen plus simple ?

La méthode ChartID() semble beaucoup plus simple, y a-t-il un problème à l'utiliser ?

 

Je pense que je postais en même temps que quelques autres...

@fxMeter - s'ils veulent utiliser l'EA sur plusieurs graphiques, alors j'ai besoin d'un moyen de continuer à changer le nombre magique sans tomber dans les doublons. Ce qui nous ramène à nouveau aux GVs.

@deysmacro - Je pense que nous pensions à la même solution.

Mais encore une fois - tout cela semble être beaucoup de travail si ChartID() peut être utilisé ?

 
toast:

Je pense que je postais en même temps que quelques autres...

@fxMeter - s'ils veulent utiliser l'EA sur plusieurs graphiques, alors j'ai besoin d'un moyen de continuer à changer le nombre magique sans tomber dans les doublons. Ce qui nous ramène à nouveau aux GVs.

@deysmacro - Je pense que nous pensions à la même solution.

Mais encore une fois - tout cela semble être beaucoup de travail si ChartID() peut être utilisé ?


Beaucoup de travail au début. Puis peu de travail à faire une fois mis en œuvre.

Le codage est toujours comme ça :)

 
Je suis d'accord pour dire que c'est possible, mais je me demande à nouveau pourquoi les gens sont contre l'utilisation de ChartID()? Y a-t-il quelque chose de mal à cela ?
 
toast:
Je suis d'accord pour dire que c'est possible, mais je me demande à nouveau pourquoi les gens sont contre l'utilisation de ChartID() ? Y a-t-il quelque chose de mal à cela ?

https://forum.mql4.com/62102
 

Merci pour le lien, mais je ne pense pas que ce problème s'applique à moi - je ne cherche pas à communiquer le ChartID à d'autres instances de l'EA.

Je veux juste savoir si ChartID() est un identifiant fiable et unique du graphique actuel à utiliser comme nom de GV ?

 
toast:

Merci pour le lien, mais je ne pense pas que ce problème s'applique à moi - je ne cherche pas à communiquer le ChartID à d'autres instances de l'EA.

Je veux juste savoir si ChartID() est un identifiant fiable et unique du graphique actuel à utiliser comme nom de GV ?


Il vaut mieux avoir un identifiant intégré à votre EA. A partir de là, vous pouvez faire beaucoup de choses et c'est fiable.
 
toast:

Merci pour le lien, mais je ne pense pas que ce problème s'applique à moi - je ne cherche pas à communiquer le ChartID à d'autres instances de l'EA.

Je veux juste savoir si ChartID() est un identifiant fiable et unique du graphique actuel à utiliser comme nom de GV ?


Le numéro magique et ChartID() sont des choses totalement différentes. Le numéro magique est enregistré avec votre transaction du côté du serveur. ChartID() sert uniquement à identifier un graphique dans votre instance actuelle du terminal.