Wie man sicherstellt, dass der EA nur auf dem Chart funktioniert, auf dem er zuerst abgelegt wurde - Seite 5

 
Itso:

In der "großen" Programmierung verwenden sie Mutex

Danke, das wusste ich nicht. Es ist eine coole Sache, wenn man den Mutex-Namen verwendet, um sinnvolle Informationen zu übermitteln.

aber es ist fast ein Analogon der globalen Variable in MT4. es löst nicht mein Problem: nach dem Start der Mutex zuerst, es kann die EA erstellen, die "zweite" war und es wurde nicht erlaubt zu arbeiten.


verdammt - der Name des Themas ist falsch, aber ich weiß nicht, wie ich es in ein paar Worten ausdrücken soll :(

 
granit77:
Warum nicht diese, die einfachste Möglichkeit nutzen? Der Expert Advisor erstellt eine Steuerdatei und prüft vorher, ob diese Datei vorhanden ist. Wenn die Datei mit demselben Namen bereits existiert, wird der EA nicht gestartet. Wenn der EA das Diagramm korrekt beendet, wird er die Datei löschen. Im Falle eines Absturzes blockiert die verbleibende Datei den Start einer beliebigen Instanz des EA und wird manuell gelöscht, um weiterarbeiten zu können.


Und das ist der Punkt - wenn das Terminal abstürzt. ein anderer EA schaut in die Datei - sieht nicht seine ID und stürzt ab...

Wenn Sie es nicht in einer Datei haben wollen, schreiben Sie es in die Registry - übrigens auch Ihr Thema.

 
ForexTools:


Verdammt - der Name des Themas ist falsch, aber ich weiß nicht, wie ich es in ein paar Worten richtig ausdrücken soll :(


Zum Beispiel: "Wie kann die Arbeit des EA begrenzt werden (nicht mehr als eine Arbeitsinstanz)?"
 
PapaYozh:

Zum Beispiel: "Wie kann die Arbeit des EA begrenzt werden (nicht mehr als eine Arbeitskopie)?"

das ist die Sache: nein :(

Wie man sicherstellt, dass der EA nur auf dem Chart funktioniert, auf dem er zuerst abgelegt wurde

 

Muss ich dich anflehen? :) Ich habe bereits eine Lösung für Ihr Problem vorgeschlagen. Wenn Sie die Antworten nicht einmal lesen wollen, warum haben Sie dann überhaupt das Thema erstellt?

 
gip:

Muss ich dich anflehen? :) Ich habe bereits eine Lösung für Ihr Problem vorgeschlagen.

Entschuldigung, ich habe Ihre dritte Option (mit dem ID-Objekt) nicht bemerkt - ich wurde wohl mit Nachrichten überflutet und habe nicht darauf geachtet, als ich anfing, sie zu beantworten und ..... :(
 
gip:

Muss ich dich anflehen? :) Ich habe bereits eine Lösung für Ihr Problem vorgeschlagen. Wenn Sie die Antworten nicht einmal lesen wollen, warum haben Sie dann überhaupt das Thema erstellt?

Er möchte einen fertigen Code, der funktioniert und getestet wurde. Mir scheint, dass alle, die sich hier geäußert haben, davon überzeugt sind, dass dies die einzig richtige Idee ist).
 
ForexTools:
Entschuldigung, ich habe Ihre dritte Option (mit Objektidentifikator) nicht bemerkt - ich muss mit Nachrichten überflutet worden sein und habe nicht darauf geachtet, als ich anfing, auf sie zu antworten und ..... :(


Die dritte ist eine Weiterentwicklung der zweiten. Alles funktioniert.

Ich verwende häufiger die einfache erste Variante.

 
sanyooooook:
Sie wollen, dass der Code fertig ist, funktioniert und getestet wird.

+101

Wer würde das nicht wollen? ;)

Nun, ich habe bereits einen Lösungsalgorithmus (natürlich ist es eine Krücke), aber das Machbare - ich kann es selbst tun.

 
gip:
Die dritte Möglichkeit besteht darin, eine Verbindung zu einem bestimmten Diagramm herzustellen, indem ein identifizierendes (oder auflösendes) grafisches Objekt auf diesem Diagramm erstellt wird.
Wenn das Terminal abstürzt, werden die in der letzten Sitzung erstellten grafischen Objekte nicht gespeichert. Korrigieren Sie mich, wenn ich falsch liege.