Asynchrone und mehrfädige Programmierung in MQL - Seite 28

 
Andrey Barinov:

Drucken, ASSERT, DEBUG. In diesem Fall verwende ich nicht den internen Debugger...

Ja, das ist eine Unannehmlichkeit. Fast wie im alten MQL4.

 
Реter Konow:
Und wie entspricht dieses "Multithreading" seinem Begriff? Ist es möglich, mit dieser Funktion Programmaufgaben in Threads aufzuteilen?

Für bestimmte Aufgaben 100%. Zum Beispiel müssen Sie den Handel verwalten - Trawl oder etwas anderes.

Diese Aufgabe kann auf dem Agenten bei jedem Tick so lange ausgeführt werden, wie Sie möchten, und die grafische Benutzeroberfläche wird weiterhin funktionieren.

 
Andrey Barinov:

Mit dieser Regelung werden Schutzmaßnahmen getroffen

  • Gegen jemanden, der OBJ_CHART schließt. Zum Beispiel das "intelligente" Skript von jemandem.
  • Der Mechanismus des Freund-oder-Feind-Effekts ist nicht nur bei ID zu beobachten.
Datenaustausch über Dateien - keine physischen Probleme mit der Festplatte? Mir scheint, dass alle Marktkopierer wegen dieser Synchronisierung etwas Schlimmes tun.


Welches Flag verwenden Sie, um den Slave-/Master-EA-Modus zu identifizieren? Wenn ich OBJ_CHART verwende, ist es ein Slave. Und im MT4? Meine Eingabe war datetime, also habe ich das Problem einfach mit einer negativen datetime gelöst. Aber ich habe es nicht ohne Input versucht.

 
Andrey Barinov:

Für bestimmte Aufgaben 100%. Zum Beispiel müssen Sie den Handel verwalten - Trawl oder etwas anderes.

Diese Aufgabe kann auf dem Agenten bei jedem Tick so lange ausgeführt werden, wie Sie möchten, und die grafische Benutzeroberfläche wird weiterhin funktionieren.

Es ist immer noch ein dunkler Wald. Die Funktion speichert die Diagrammvorlage, und kann ich dann ein neues Diagramm aus dem EA öffnen und die gespeicherte Vorlage darauf anwenden, so dass eine Kopie des EA in diesem Diagramm läuft?
 
fxsaber:

Mit dieser Regelung werden Schutzmaßnahmen getroffen

  • Gegen jemanden, der OBJ_CHART schließt. Zum Beispiel das "intelligente" Skript von jemandem.
  • Der Mechanismus des Freund-oder-Feind-Effekts ist nicht nur bei ID zu beobachten.
Datenaustausch über Dateien - keine physischen Probleme mit der Festplatte? Mir scheint, dass alle Marktkopierer wegen dieser Synchronisierung etwas Schlimmes tun.

Ja, Schutz ist notwendig, wie immer.

Dateien sollten mit Bedacht verwendet werden. Nur bei Bedarf. Es werden ja nur Momente signifikanter Umgebungs-/Zustandsänderungen synchronisiert, die der Agent selbst nicht erkennen kann.

Der Nachahmer läuft in der Regel auf einem VPS, so dass es nicht wirklich eine große Sache ist.

 
Andrey Barinov:

Nachahmer arbeiten in der Regel auf einem VPS, so dass es nicht allzu beängstigend ist.

Schlechte VPS... oben ergänzte die Frage.

 
Реter Konow:
Immer noch ein dunkler Wald. Die Funktion erstellt eine gespeicherte Kopie des Diagramms, und kann ich dann ein neues Diagramm aus dem EA öffnen und die gespeicherte Vorlage darauf ausführen, so dass die Kopie des EA in diesem Diagramm ausgeführt wird?

1. der Benutzer platziert den EA auf einem leeren Chart.

2. Der EA erstellt eine Vorlage (mit sich selbst auf dem Chart)

3. Der Expert Advisor erstellt einen neuen Chart (OBJ_CHART oder einen normalen Chart im Falle von MT4)

4. Der Expert Advisor wendet die Vorlage auf den neuen Chart an.

5. Eine Kopie des EA startet auf dem neuen Diagramm, jetzt sollte es verstehen, dass dies der Agent ist, nicht der Haupt-EA :)

6. Sie beginnen zu kommunizieren.

Sie leben glücklich bis ans Ende ihrer Tage und sterben noch am selben Tag :)

 
fxsaber:

Schlechte VPS... oben ergänzte die Frage.

Sie können keine Kopie ohne Dateien (für den Marktplatz) erstellen. Und die Synchronisierung von Dateien zwischen Terminals in einer Handelsumgebung erfordert wesentlich mehr Vorgänge als die Synchronisierung zwischen Agenten.


Der Agent in MT4 wird durch das Vorhandensein entsprechender globaler Variablen bestimmt, die vom Haupt-EA gesetzt werden, bevor eine Vorlage auf einen neuen Chart angewendet wird.

 
fxsaber:

Schlechte VPS... oben ergänzte die Frage.

Sie müssen berücksichtigen, dass das Betriebssystem die Schreibvorgänge auf der Festplatte nicht unterbindet, es weiß, wie man zwischenspeichert. Ich weiß nicht mehr, wo, aber es gibt sogar eine Einstellung irgendwo im Wind.

 
Andrey Barinov:

1. der Benutzer platziert den EA auf einem leeren Chart.

2. Der EA erstellt eine Vorlage (mit sich selbst auf dem Chart)

3. Der Expert Advisor erstellt einen neuen Chart (OBJ_CHART oder einen normalen Chart im Falle von MT4)

4. Der Expert Advisor wendet die Vorlage auf den neuen Chart an.

5. Eine Kopie des EA startet auf dem neuen Diagramm, jetzt sollte es verstehen, dass dies der Agent ist, nicht der Haupt-EA :)

6. Sie beginnen zu kommunizieren.

Sie leben glücklich bis ans Ende ihrer Tage und sterben noch am selben Tag :)

Fantastisch!)) Danke!

Ja, das ist der mit dem Multithreading. Sie müssen für jede schwere Aufgabe eine Kopie des EA auf einem separaten Diagramm über eine Vorlage laufen lassen und dieser Kopie sagen, dass sie nur die Funktion ausführen soll, die sie ausführen soll. Die anderen Funktionen der Kopie können ruhen.

Funktioniert die Kommunikation über Ressourcen mit Kopien auf normalen Diagrammen (nicht OBJ_CHART)? Oder gibt es irgendwelche Einschränkungen?