Comment s'assurer que l'EA ne fonctionne que sur le graphique où il a été déposé pour la première fois ? - page 6

 

ForexTools:

Puisque les objets graphiques et les variables globales doivent survivre aux redémarrages et aux recompilations - la vérification fonctionnera toujours correctement. à moins que vous ne supprimiez manuellement l'un ou l'autre des objets globaux ou de la liste des objets - mais c'est presque paranoïaque :)))

Remplacez simplement la variable globale par quelque chose de plus fiable. Mais ça semble être la même chose.
[Supprimé]  
sanyooooook:
Lorsque le terminal se ferme, les objets graphiques créés lors de la dernière session ne sont pas sauvegardés. Corrigez-moi si je me trompe.


Oui, ils ne le font pas. Mais l'énoncé du problème n'est pas complet. Nous devons être plus précis.

Si, par exemple, nous voulons connecter les indicateurs - Expert Advisor, l'objet graphique doit être créé par les indicateurs. Il s'agira d'une connexion robuste.

Si vous souhaitez simplement vous lier à une fenêtre spécifique, par exemple à un certain délai, vous devez utiliser cette caractéristique - le délai - comme attribut d'identification.

Mais si vous avez besoin d'une résistance totale aux explosions nucléaires, alors seul le lancement avec des paramètres de ligne de commande sera utile.

 
sanyooooook:
Quand le terminal tombe en panne...

Eh bien, dans CE cas, rien n'est garanti du tout.

En principe - la solution avec l'objet label et une variable globale est bien, avec un bon filet de sécurité. elle ne permettra pas de démarrer une deuxième fois, et je gronderai les messages pour ne pas oublier de la supprimer et la deuxième fois ni au crash ni au redémarrage du terminal il y aura deux copies ;)

[Supprimé]  
TheXpert:
Remplacez simplement la variable globale par quelque chose de plus fiable. Mais ça semble être la même chose.

Pourquoi n'aimez-vous pas les variables globales? Eh bien, parfois ils disparaissent :) Même s'ils sont réinscriptibles :)))) Eh bien, que voulez-vous, c'est un produit, c'est moulé. Il suffit de le prendre en compte dans l'algorithme. Les fichiers, d'ailleurs, peuvent aussi disparaître lorsque le système de fichiers tombe en panne.
 

Option 1 (pour les utilisateurs sains d'esprit) : Créer une variable globale au démarrage de l'Expert Advisor. Si une variable globale est détectée au démarrage, la boîte de message s'ouvre "Tra la la...". L'expert est verrouillé, ne permet qu'une seule instance, supprimez ce qui n'est pas nécessaire".

Variante 2 (si les services de programmation sont fournis à des patients psychiatriques) : PostMessageA(,WM_CLOSE,,,) ; - tuer la fenêtre avec une EA superflue.

 

Integer:

Variante 2 (si les services du programmeur sont rendus à des patients d'une clinique psychiatrique) : PostMessageA(,WM_CLOSE,,,) ; - tuer la fenêtre avec une EA inutile.

Trop cruel - il est plus facile de faire des conseillers experts sous forme de script en boucle - l'effet est le même. Mec, je vais devoir le redémarrer manuellement... La fermeture est trop brutale de toute façon :)
 
ForexTools:

Parce que c'est exactement ce que je veux, une "recommandation de solution". C'est ce que j'ai demandé dans mon premier message - c'est pourquoi j'ai aussi pris votre idée dans ce sens.

c'est pourquoi je considère la validité de nombreuses "idées", même celle de DOTO, comme étant leur...... ;)

si je me trompe, écrivez un code EA qui ne fait rien d'autre que d'empêcher votre seconde copie de s'exécuter. vérifiez que cela fonctionne vraiment lorsque vous recompilez et redémarrez le terminal et postez le code ici - tout se mettra en place ;)

Donc vous me proposez de travailler pour vous. Pourquoi ne pas fixer un prix ?
 
TheXpert:
Trop cruel - il est plus facile de faire des EAs sous forme de script en boucle - même effet. Bon sang, il faudrait alors le redémarrer manuellement... C'est trop brutal pour être fermé de toute façon :)


Bien sûr, il se ferme trop fort, mais il se ferme :)

 
Integer:
Si les services de programmation sont fournis aux patients d'un hôpital psychiatrique

:)))))))

mais néanmoins : j'ai créé une variable globale, la deuxième exécution de EA a vérifié sa présence - elle n'a pas démarré. après une minute le terminal a planté mais : la variable globale est restée.

lors du redémarrage du terminal, une seule copie vérifie si elle existe et ne démarre PAS. l'objet sur la carte est donc toujours nécessaire pour identifier "sa carte" et démarrer.

 
Candid:
Donc vous me proposez de travailler pour vous. Pourquoi ne me dites-vous pas le prix ?

Détendez-vous ;)

Je communique sur ce forum avec des collègues artisans. ceux qui pensent pouvoir m'aider - ils m'aident. ceux qui veulent de l'argent pour leur aide - écrivent à ce sujet et je décide de les payer ou non. il y a eu des cas (et plus d'une fois) où j'ai payé.

Mais en plus du paiement, pour un programmeur, il y a de l'intérêt à résoudre des énigmes. J'en ai donc planté une. Qui voulait - s'est amusé, a formé sa pensée, qui ne voulait pas - est allé silencieusement lire d'autres sujets.