Ist es möglich, ein System von Prioritäten in MQL4 zu setzen, so dass der EA-Code zuerst ausgeführt wird, und dann alle anderen EAs?
Ich habe versucht, start() in einer Schleife zu starten, vielleicht habe ich etwas falsch gemacht, aber ich habe nichts erhalten, außer dass das Terminal angehalten wurde.
Als Berufsanfänger brauche ich Hilfe.
Das ist möglich. Zum Beispiel, indem man eine weitere Variable für das Terminal hinzufügt, die nur er verwalten kann, und für andere wird es eine Erlaubnis zu arbeiten.
Ich verstehe, dass ich vorgeschlagen habe, was Sie bereits umgesetzt haben. Offensichtlich wird es falsch gemacht.
Wenn der Anlageberater noch keine Zeit hatte, die Terminalvariable zu ändern, sollten die Sklaven nicht zum Handel zugelassen werden.
Möglich. Zum Beispiel durch Hinzufügen einer weiteren Terminalvariable, die nur er kontrollieren kann, und für andere wird sie zur Arbeitserlaubnis.
Keine Zeit für den EA-Manager, den gewünschten Wert der globalen Variablen zu setzen
Der EA-Manager hat keine Zeit, den richtigen Wert für die globale Variable zu setzen
Nun, man muss dem Sklaven nicht das Recht geben, zu atmen, bis er aufwacht.
Sehen Sie sich diese Funktion an. Dies ist die einzige Funktion in MQL4, die die Kernel-Ebene behandelt (bietet atomaren Zugriff). Das sollte helfen.
Danke, ich hoffe, es hilft, ich habe es irgendwie übersehen. "kann für die Semaphor-Organisation verwendet werden, wenn mehrere gleichzeitig arbeitende Expert Advisors innerhalb eines einzigen Client-Terminals interagieren" - das lässt hoffen. Obwohl, wenn GlobalVariableSetOnCondition von start() von meinem EA in der letzten Runde aufgerufen wird, nachdem EAs bereits Geschäfte eingegeben haben, weiß ich nicht, welchen Unterschied es machen wird .
Nun, man muss dem Sklaven nicht das Recht geben, zu atmen, bis er aufwacht.
Wie organisieren Sie das? Den Sklaven zu erlauben, manuell zu handeln, ist keine Option.
Ich sagte: wenn.
Ja. Nein, nicht gestohlen.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Die Aufgabe ist: In einem Terminal gibt es 9 verschiedene Paare und 8 EAs, die auf jedem von ihnen arbeiten, und jeder darf auf dem 9. Paar handeln, meinem "verwaltenden" EA, der überwacht, wie viele Paare bzw. Kopien von Handels-EAs gleichzeitig Aufträge öffnen dürfen. Alle Expert Advisors gehorchen einer GLOBAL-Variablen. Ich habe eine einfache Schleife geschrieben, die die "magischen Zahlen" der bereits geöffneten Aufträge liest und das Öffnen neuer Aufträge anderer EAs nicht zulässt, indem sie den Wert der globalen Kontrollvariable setzt, die den Handel verbietet.
So sollte es "im Rahmen des Szenarios" sein. So funktioniert das aber nicht wirklich. Das Problem ist, dass bis mein "verwaltender" EA Zeit hat, den Wert der globalen Variable , die den Handel verbietet, zu setzen, die arbeitenden EAs Zeit haben, Aufträge für 6 Paare statt der erlaubten 2 zu öffnen. Der Algorithmus funktioniert korrekt, wenn ich zuerst den EA-Manager starte und dann EAs handeln lasse, dann werden nicht mehr als 2 EAs (2 Paare) geöffnet (verboten durch die globale Variable, die vom EA-Manager gesetzt wurde).
Ist es möglich, in MQL4 ein System von Prioritäten zu setzen, so dass zuerst der Code des EA ausgeführt wird, und dann alle anderen EAs?
Ich habe versucht, die Schleife start() zu starten, vielleicht habe ich etwas falsch gemacht, aber das Terminal hängt sich auf.
Hilfe für einen unerfahrenen Profi.