Fehler, Irrtümer, Fragen - Seite 2916
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Da die Namen identisch sind, wird die kleinste erste Ziffer der Zahl ausgewählt, die das vierte Objekt ist, und da die ersten beiden Objekte eine vierte Ziffer haben, wird die kleinste Ziffer nach der vierten der ersten beiden Objekte ausgewählt.
Ja, nur die umgekehrte Umwandlung kann nicht durchgeführt werden. Die Zuweisung von Zufallszahlen an Objekte ist so, als würde man die Sprache MQL831 statt MQL5 nennen.
Um die Objekte in der Reihenfolge ihrer Erstellung manuell zu verarbeiten, müssen Sie meiner Meinung nach entweder die Namen nach allen oder während des Prozesses der Erstellung jedes einzelnen Objekts nummerieren und dann den Roboter laufen lassen, um das Array zu verarbeiten und zu schreiben, wobei die Nummerierung der Erstellung in den Namen beibehalten wird.
Meiner Meinung nach müssen wir, um Objekte in der Reihenfolge ihrer Erstellung manuell zu bearbeiten, entweder die Namen nummerieren, nachdem alle Objekte erstellt wurden, oder bei der Erstellung jedes Objekts und dann den Roboter einschalten, damit er ein Array verarbeitet und schreibt, das die Nummerierung der Erstellung in den Namen beibehält. In Zukunft wird dies ermöglichen, Objekte aus der Liste richtig auszuwählen, sowohl durch die ObjectName-Funktion als auch durch andere ähnliche Funktionen, in der Reihenfolgeder manuellerstellten Objekte.
Warum nicht ObjectGetInteger() mit der Eigenschaftskennung OBJPROP_CREATETIME verwenden?
Was hindert mich daran, ObjectGetInteger() mit der Eigenschafts-ID OBJPROP_CREATETIME zu verwenden?
Die Idee ist, dass ich möchte, dass alles, was ich auf dem Chart zeichne, im Namen von Objekten geschrieben wird, einschließlich der Nummerierung der Objekterstellung in der Liste, in der Reihenfolge der Erstellung, des Zeitrahmens, des Fibo-Level-Typs und der Seriennummer des Fibo-Level-Typs, gleichzeitig schreiben wir Arrays mit diesen Level-Daten in der Reihenfolge, in der sie aufgelistet sind. Dann werden wir Kriterien für Handelsaktionen durch diese Namen und Daten in Arrays entsprechend der Reihenfolge der Erstellung dieser Objekte erstellen.
Bisher habe ich diesen Weg gefunden: Wir erstellen 4 Fibo-Objekte
In der Liste wird die Reihenfolge der Erstellung gespeichert, nummerieren Sie sie für die Verarbeitung entsprechend der Reihenfolge der Erstellung
Führen Sie den Expert Advisor
Wir gehen die Objekte in der Reihenfolge ihrer Erstellung durch, wobei wir ihre Namen ändern, um die Reihenfolge der Erstellung in der Liste beizubehalten,
und schreiben die Merkmale und Ebenen der Objekte in Arrays in der Reihenfolge ihrer Erstellung wie in der Liste.
Der erste Durchlauf des Codes, der die Reihenfolge der Erstellung von Objekten in der Liste beibehält, ändert die Namen, ergänzt mit Merkmalen zur Orientierung bei der Erstellung von Kriterien und behält die Reihenfolge in der Liste der Objekte für eine korrekte weitere Auswahl bei, indem er die Reihenfolge im Falle einer Änderung der Objektkoordinaten durchgeht, und das korrekte Überschreiben von Arrays in der Reihenfolge der ersten Befüllung.
Bislang wird die Logik beim ersten Durchgang gespeichert)))
Der Punkt ist, dass ich möchte, dass alles, was ich auf dem Chart zeichne, im Namen von Objekten geschrieben wird, einschließlich der Nummerierung von Objekten in der Liste, in der Reihenfolge der Erstellung, des Zeitrahmens, des Typs des Fibo-Levels und der Seriennummer des Fibo-Level-Typs, parallel dazu schreiben wir Arrays mit den Daten dieser Levels in der Reihenfolge der Objekte in der Liste der grafischen Objekte. Dann werden wir Kriterien für Handelsaktionen mit diesen Namen und Daten in Arrays entsprechend der Reihenfolge der Erstellung dieser Objekte erstellen.
Bisher habe ich die folgende Methode gefunden: Wir erstellen 4 Fibo-Objekte in der Liste in der Reihenfolge ihrer Erstellung, nummerieren sie für die Verarbeitung entsprechend der Reihenfolge der Erstellung Führen Sie den Expert Advisor
Der erste Durchlauf des Codes, der die Reihenfolge der Objekte in der Liste beibehält, ändert die Namen der Objekte, um die Reihenfolge ihrer Erstellung beizubehalten, und zeichnet Merkmale und Ebenen in Arrays in der Reihenfolge der Erstellung dieser Objekte wie in der Liste auf.
Während des ersten Durchlaufs wird die Logik gespeichert)))
Alles wäre viel einfacher, wenn den Objekten in der Objektliste implizit eine Nummer zugewiesen würde, die der Reihenfolge entspricht, in der sie erstellt wurden.
Leute, die sich dessen bewusst sind, haben das Skizzieren mit der CCanvas-Klasse aufgenommen. Und ich habe ein völlig unbekanntes Problem entdeckt. Gefüllte Hintergrundrechtecke und Kreise werden gut gezeichnet, aber alle meine Versuche, einen Kreis zu zeichnen, endeten in einem kompletten Fehlschlag. Es gibt drei Varianten von Kreisen im Code und kein Ergebnis beim Zeichnen dieser Kreise im Diagramm. Funktioniert dieser Code für Kreise, oder fehlt da etwas?
Es hat immer funktioniert.
Ja, alles funktioniert.
Versuchen Sie dieses Skript. Es zeichnet in drei Algorithmen Circle, CircleAA und CircleWu Kreise mit beliebigem Radius, Farbe und Transparenz
CircleAA sollte besser nicht verwendet werden - es ist ein sehr langsamer Algorithmus.
Es wäre viel einfacher, wenn den Objekten in der Liste der Objekte stillschweigend eine Nummer zugewiesen würde, die der Reihenfolge entspricht, in der sie erstellt wurden.
Der Punkt ist, dass ich möchte, dass alles, was ich auf dem Chart zeichne, im Namen von Objekten geschrieben wird, einschließlich der Nummerierung von Objekten in der Liste, in der Reihenfolge der Erstellung, des Zeitrahmens, des Typs des Fibo-Levels und der Seriennummer des Fibo-Level-Typs, parallel dazu schreiben wir Arrays mit den Daten dieser Levels in der Reihenfolge der Objekte in der Liste der grafischen Objekte. Dann werden wir Kriterien für Handelsaktionen mit diesen Namen und Daten in Arrays entsprechend der Reihenfolge der Erstellung dieser Objekte erstellen.
Bisher habe ich die folgende Methode gefunden: Wir erstellen 4 Fibo-Objekte in der Liste in der Reihenfolge ihrer Erstellung, nummerieren sie für die Verarbeitung entsprechend der Reihenfolge der Erstellung Führen Sie den Expert Advisor
Der erste Durchlauf des Codes, der die Reihenfolge der Objekte in der Liste beibehält, ändert die Namen der Objekte, um die Reihenfolge ihrer Erstellung beizubehalten, und zeichnet Merkmale und Ebenen in Arrays in der Reihenfolge der Erstellung dieser Objekte wie in der Liste auf.
Beim ersten Durchgang bleibt die Logik erhalten)))
Ihre Frage ist auf "einmal" gelöst. Es reicht aus, die Umbenennung der erstellten Objekte zu schreiben.
Jedes Mal, wenn Sie nun ein grafisches Objekt auf dem Chart mit einem installierten Expert Advisor erstellen, werden die Objektnamen die Zeit der Erstellung anstelle einer zufälligen Zahl im Namen tragen und streng in der Reihenfolge der Erstellung sortiert sein.
Ihre Frage ist im Handumdrehen gelöst. Es genügt, die Umbenennung der erstellten Objekte zu schreiben.
Jedes Mal, wenn Sie nun ein grafisches Objekt auf dem Chart erstellen, auf dem der Expert Advisor installiert ist, wird der Name des Objekts anstelle einer Zufallszahl den Zeitpunkt der Erstellung enthalten und streng in der Reihenfolge der Erstellung sortiert sein.
Vielen Dank!!! Nicht vollständig gelesen über diese Event-Handling-Funktionen, vereinfachen das Leben eines proger)
Ist die Objekterstellungszeit (Verwendung als ulong-Typ) OBJPROP_CREATETIME nicht ein Identifikator für den Auftrag zur Objekterstellung?
Ja! Danke!!!