Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1772

 
Nerd Trader #:
Aber der zweite Bot braucht einen Zeitrahmen, du hast ihn nicht sorgfältig gelesen.

Das haben Sie falsch geschrieben. Der zweite Expert Advisor benötigt den Zeitrahmen, in dem das Signal zum Einstieg (oder zur Eröffnung eines Auftrags) empfangen wurde. Verwenden Sie dann eine globale Variable, um den Zeitrahmen zu speichern (im ersten Roboter). Und lesen Sie es mit dem zweiten Roboter.

Документация по MQL5: Глобальные переменные терминала
Документация по MQL5: Глобальные переменные терминала
  • www.mql5.com
Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Abgesehen von der Erstellung eines Arrays, um die TFs der Aufträge zu speichern, indem man sie zuerst aus dem Kommentar des Auftrags liest, gibt es eine andere einfache Möglichkeit, die TFs an einen anderen Bot zu übertragen? Und dieser Bot läuft auf einem entfernten Server. Wir könnten eine Steckdose gebrauchen, aber es ist immer noch schwierig für mich.
 
Mihail Matkovskij #:

Das haben Sie falsch geschrieben. Der zweite Expert Advisor benötigt den Zeitrahmen, in dem das Signal zum Einstieg (oder zur Eröffnung eines Auftrags) empfangen wurde. Verwenden Sie dann eine globale Variable, um den Zeitrahmen zu speichern (im ersten Roboter). Und lesen Sie es mit dem zweiten Roboter.

Es funktioniert nicht so, weil der Bot auf einem entfernten Server läuft, also schreibe ich die TF in den Kommentar, das wäre in Ordnung, aber es wird durch das Ticket überschrieben, wenn man einen Teil des Volumes schließt.

 
Nerd Trader #:
Es ist also ein Bot, nicht der Punkt.

Wieso ist das nicht der Punkt?! Jeder Programmierer wird Ihnen sagen, dass der Indikator keine Trades macht. Studieren Sie die Dokumentation sorgfältig, bevor Sie mit der Entwicklung von Anwendungen beginnen.

Nerd Trader #:

Das geht nicht, weil der Bot auf einem entfernten Server läuft, also schreibe ich die TF in den Kommentar, das wäre OK, aber es wird durch das Ticket überschrieben, wenn man einen Teil des Volumes schließt.

Dann lassen Sie den 1. Roboter parallel eine Market- oder Pending-Order mit Mindestvolumen eröffnen und es wird möglich sein, dort einen Kommentar zu schreiben, der sich nicht ändern wird.

 
Nerd Trader auf einem entfernten Server.

Diese Option ist noch einfacher als ich vorgeschlagen habe.

Erstellen Sie eine Reihe von Zeigern auf Objekte: Ticket - Bestellinformationen. Wenn der Auftrag abgeschlossen ist, löschen Sie das Objekt und den Zeiger aus dem Array. Es gibt nichts Schwieriges. Aber Sie müssen lernen, wie man mit dynamischen Arrays, Zeigern und Klassen arbeitet. Ich muss etwas gesagt haben, das Sie erschreckt hat. :)
 
Mihail Matkovskij #:

Wieso ist das nicht der Punkt?! Jeder Programmierer wird Ihnen sagen, dass der Indikator keine Trades macht. Studieren Sie die Dokumentation sorgfältig, bevor Sie mit der Entwicklung von Anwendungen beginnen.

Dann lassen Sie den 1. Roboter gleichzeitig einen Markt oder eine Pending Order mit einem Mindestvolumen eröffnen und Sie können dort einen Kommentar schreiben, der sich nicht ändern wird.

Es ist mir egal, was er nicht produziert :) Ich kann genauso gut sagen, dass ich einen Tippfehler gemacht habe.


<<Dann lassen Sie den 1. Roboter parallel einen Markt oder eine Pending Order mit minimalem Volumen eröffnen, und es wird möglich sein, dort einen Kommentar zu schreiben, der sich nicht ändern wird. >>

Oh nein, danke :) retten Sie Bill Gates vor solchen Manövern.

 
Nerd Trader #:

es funktioniert nicht so, weil der Bot auf einem entfernten Server läuft, also schreibe ich die TF in den Kommentar, das wäre in Ordnung, aber es wird durch das Ticket überschrieben, wenn man einen Teil des Volumes schließt.

Um die Informationen über TF in den Auftrag zu schreiben, müssen wir seine magische Zahl verwenden. Aber dieses Attribut ändert sich nie. Wir sollten alle TFs der Reihe nach nummerieren und unter Berücksichtigung dieser Zahl eine magische Zahl generieren + etwas Platz für die ID-Funktion lassen, besser sind bitweise Operationen.

 
Nerd Trader #:
Ich könnte sagen, ich habe einen Tippfehler gemacht.


Nein, das ist kein Tippfehler. Sie verstehen einfach nicht den Unterschied zwischen einem Roboter und einem Indikator. Und das ist für jeden Programmierer offensichtlich. Lesen Sie die Dokumentation:https://www.mql5.com/ru/docs/runtime/running.

Zitat aus dem Artikel:

Jedes Skript, jeder Dienst und jeder Experte arbeitet in seinem eigenen Thread. Alle Indikatoren, die für ein Symbol berechnet werden, auch wenn sie auf verschiedenen Charts laufen, arbeiten in einem Thread. So teilen sich alle Indikatoren auf einem Symbol die Ressourcen eines Threads.
Die folgenden Funktionen sind in Indikatoren verboten:


Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij #:

Diese Option ist noch einfacher als ich vorgeschlagen habe.

Erstellen Sie eine Reihe von Zeigern auf Objekte: tikets - Bestellinformationen. Wenn der Auftrag abgeschlossen ist, löschen Sie das Objekt und den Zeiger aus dem Array. Es gibt nichts Schwieriges. Aber Sie müssen lernen, wie man mit dynamischen Arrays, Zeigern und Klassen arbeitet. Ich muss etwas gesagt haben, das Sie erschreckt hat. :)

Sehr sogar. Ich stellte mir vor, eine Struktur mit zwei Din. Arrays tikets und timeframes zu erstellen, in denen die Werte entsprechend ihrer Namen platziert werden.

 
Mihail Matkovskij #:

Nein, das ist kein Tippfehler. Sie verstehen einfach nicht den Unterschied zwischen einem Roboter und einem Indikator. Und das ist für jeden Programmierer offensichtlich. Lesen Sie die Dokumentation:https://www.mql5.com/ru/docs/runtime/running.

Zitat aus dem Artikel:

Mensch, schon gut, schon gut, nur nicht nervös werden.
Grund der Beschwerde: