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

 

ForexTools:

Da Diagrammobjekte und globale Variablen sowohl Neustarts als auch Neukompilierungen überstehen müssen, wird die Prüfung immer korrekt funktionieren, es sei denn, Sie löschen manuell entweder ein globales oder ein Objekt aus der Liste der Objekte - aber das ist fast schon paranoid :)))

Ersetzen Sie einfach die globale Variable durch etwas Zuverlässigeres. Aber es scheint dasselbe zu sein.
 
sanyooooook:
Wenn das Terminal abstürzt, werden die in der letzten Sitzung erstellten grafischen Objekte nicht gespeichert. Korrigieren Sie mich, wenn ich falsch liege.


Ja, das tun sie nicht. Aber die Problemstellung ist hier nicht vollständig. Wir müssen konkreter werden.

Wenn wir zum Beispiel die Indikatoren - Expert Advisor verbinden wollen, sollte das grafische Objekt von Indikatoren erstellt werden. Dies wird eine stabile Verbindung sein.

Wenn Sie nur an ein bestimmtes Fenster, z. B. an einen bestimmten Zeitrahmen, binden wollen, dann sollten Sie dieses Merkmal zusätzlich als identifizierendes Attribut verwenden - den Zeitrahmen.

Wenn Sie jedoch völlige Resistenz gegen nukleare Explosionen benötigen, dann hilft nur der Start mit Befehlszeilenparametern.

 
sanyooooook:
Wenn das Terminal ausfällt...

Nun, in DIESEM Fall ist überhaupt nichts garantiert.

im Prinzip - die Lösung mit dem Label-Objekt und einer globalen Variable ist in Ordnung, mit einem guten Sicherheitsnetz. es wird nicht erlauben, ein zweites Mal zu starten, und ich werde mit Nachrichten schimpfen, damit ich mich daran erinnere, es zu löschen und das zweite Mal weder beim Absturz noch beim Neustart des Terminals wird es zwei Kopien geben ;)

 
TheXpert:
Ersetzen Sie einfach die globale Variable durch etwas Zuverlässigeres. Aber es scheint dasselbe zu sein.

Warum mögen Sie keine globalen Variablen? Nun, manchmal verschwinden sie :) Auch wenn sie wiederbeschreibbar sind :))) Nun, was wollen Sie, es ist ein Produkt, es ist geformt. Man muss sie nur in den Algorithmus einbeziehen. Übrigens können auch Dateien verschwinden, wenn das Dateisystem ausfällt.
 

Option 1 (für vernünftige Benutzer): Erstellen Sie eine globale Variable beim Start des Expert Advisors. Wenn eine globale Variable beim Start erkannt wird, öffnet sich das Meldungsfenster "Tra la la... Experte ist gesperrt, erlaubt eine Instanz, unnötig entfernen".

Variante 2 (wenn Programmierleistungen für psychiatrische Patienten erbracht werden): PostMessageA(,WM_CLOSE,,); - Fenster mit überflüssigem EA schließen.

 

Integer:

Variante 2 (wenn Programmierleistungen für Patienten der psychiatrischen Klinik erbracht werden): PostMessageA(,WM_CLOSE,,); - Fenster mit unnötigem EA schließen.

Zu grausam - es ist einfacher, Expert Advisors als Schleifenskript zu erstellen - der Effekt ist derselbe. Mann, dann muss ich es manuell neu starten... Es zu schließen ist sowieso zu brutal :)
 
ForexTools:

Denn genau das ist es, was ich will, eine "Lösungsempfehlung". Danach habe ich in meinem ersten Beitrag gefragt - deshalb habe ich Ihre Idee auch so verstanden.

Deshalb sehe ich die Gültigkeit vieler "Ideen", auch von DOTO, als deren ..... ;)

Wenn ich mich in Ihnen irre - schreiben Sie einen EA-Code, der nichts anderes tut, als zu verhindern, dass Ihre zweite Kopie ausgeführt wird. Überprüfen Sie, ob es wirklich funktioniert, wenn Sie das Terminal neu kompilieren und neu starten, und posten Sie den Code hier - alles wird sich fügen ;)

Sie bieten mir also an, für Sie zu arbeiten. Warum nennen Sie nicht einen Preis?
 
TheXpert:
Zu grausam - es ist einfacher, EAs als gelooptes Skript zu erstellen - gleicher Effekt. Oh je, dann müssten Sie ihn manuell neu starten... Es ist sowieso zu brutal, um es zu schließen :)


Natürlich schließt es sich zu hart, aber es schließt sich :)

 
Integer:
Wenn die Programmierungsdienste für Patienten in einer psychiatrischen Klinik erbracht werden

:)))))))

aber trotzdem: eine globale Variable erstellt, der zweite Lauf von EA überprüfte ihr Vorhandensein - er startete nicht. nach einer Minute stürzte das Terminal ab, aber: die globale Variable blieb.

Beim Neustart des Terminals wird eine einzelne Kopie auf ihre Existenz geprüft und NICHT gestartet. Das Objekt auf der Karte wird also weiterhin benötigt, um "seine Karte" zu identifizieren und zu starten.

 
Candid:
Sie bieten mir also an, für Sie zu arbeiten. Warum sagen Sie mir nicht den Preis?

Entspannen Sie sich ;)

Ich kommuniziere in diesem Forum mit anderen Handwerkern. Diejenigen, die denken, dass sie mir helfen können - sie helfen. Diejenigen, die Geld für ihre Hilfe wollen - schreiben darüber und ich entscheide, ob sie mich bezahlen oder nicht. Es gab Fälle (und mehr als einmal), in denen ich bezahlt habe.

Aber neben der Bezahlung, für einen Programmierer, gibt es Interesse an der Lösung von Rätseln. so pflanzte ich eine von ihnen. wer wollte - hatte Spaß, trainierte sein Denken, wer nicht wollte - ging stillschweigend zu anderen Themen zu lesen.