Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 861
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
Hallo, können Sie mir sagen, warum es nicht funktioniert? Keine Fehler, aber die Aufträge öffnen sich nicht im Testgerät. Ich versuche, einen EA für den Ausbruch des Hochs und des Tiefs einer Tageskerze als Trainingstool zu schreiben.
Hallo, können Sie mir sagen, warum es nicht funktioniert? Keine Fehler, aber die Aufträge öffnen sich nicht im Testgerät. Ich versuche, einen EA für den Ausbruch des Hochs und des Tiefs einer Tageskerze als Trainingstool zu schreiben.
Sie lässt sich nicht öffnen, d. h. sie versucht es nicht, oder sie versucht es, schlägt aber fehl? Was steht im Protokoll?
Hallo, können Sie mir sagen, warum es nicht funktioniert? Keine Fehler, aber die Aufträge öffnen sich nicht im Testgerät. Ich versuche, einen EA für die Aufschlüsselung von Hoch und Tief einer Tageskerze als Trainingswerkzeug zu schreiben.
Analysieren Sie diesen Ausdruck von Ihnen
Ich verstehe die Bedeutung dieses Ausdrucks nicht und vielleicht liege ich falsch, aber Sie sollten zumindest "(TimeCurrent()==HourStart)" durch "(TimeCurrent() - HourStart)" ersetzen.
Wenn ich Sie richtig verstehe, versuchen Sie, eine BuyLimit-Order zu platzieren, wenn es keine BuyLimitOrder UND BuyPosition gibt. Beachten Sie das genaue "UND". Das heißt, dass das Vorhandensein von jedem von ihnen separat zu Ihnen passt, so dass Sie an einer gewünschten Position des aktuellen Preises eine unendliche Anzahl von ByLimits erhalten, eine auf jedem Tick, bis mindestens einer von ihnen auslöst und die erste Position öffnet. Außerdem ist es Ihnen egal, wo der Preis jetzt steht. Sobald die seltsame Bedingung bezüglich der Zeit erfüllt ist (direkt über dem Beitrag), denke ich, dass es einen Fehler gibt, aber egal. Wie auch immer, wenn Sie das nicht beachten, wird der EA beim ersten Tick falsche Orders platzieren, bis der Preis das gestrige Hoch erreicht, weil Sie das gestrige Hoch als Preis für die Platzierung der Order verwenden. Das Kauflimit wird unter dem aktuellen Kurs gesetzt, was bedeutet, dass der aktuelle Kurs über dem gestrigen Höchststand liegen sollte, aber bis dahin wird der Auftrag fehlschlagen.
Die einzige Situation, die für Sie in Frage kommt, ist also, wenn der Kurs über das gestrige Hoch gestiegen ist, es kein BuyLimit gibt und keine offenen Trades bestehen. Dies ist eine seltene Kombination. Außerdem wird er den Ausbruch nicht beeinflussen, sondern nach dem Ausbruch abprallen (weil es eine Begrenzung gibt), und er wird Ihnen viele Fehler liefern, beginnend mit dem ersten Tick über dem gestrigen Maximum (das ist ein weiterer Fehler). Die Bedingung ist bereits erfüllt, der Expert Advisor gibt die Order aus, aber es gibt auch einen Spread, den zulässigen Mindestabstand zum Markt usw.
Ich habe Schwierigkeiten, die Bedeutung dieses Ausdrucks zu verstehen, vielleicht liege ich falsch, aber ersetzen Sie zumindest "(TimeCurrent()==HourStart)" durch "(TimeCurrent() - HourStart)".
Das ist richtig, hier liegt ein Fehler vor. Sie benötigen if (TimeHour(TimeCurrent())==HourStart)
Jetzt wird die Bestellung manchmal geöffnet, aber es werden mehr Fehler erzeugt (OrderSend error 130).
Der Irrtum über Limitaufträge ist hier nicht korrekt.
Das ist richtig, hier liegt ein Fehler vor. Er benötigt if (TimeHour(TimeCurrent())==HourStart)
Jetzt werden manchmal Transaktionen geöffnet, aber es treten mehr Fehler auf (OrderSend error 130).
Bei Limitaufträgen ist das nicht richtig.
Hier ist ein Skript zur Arbeit mit der Zeit.
Er ist zwar alt, funktioniert aber einwandfrei.
Hallo.
Bitte helfen Sie mir zu verstehen, wie man mit Dateien arbeitet.
Wenn das Programm läuft, speichere ich die empfangenen Daten in einer Datei und lese die CSV-Datei.
Die Datei wird größer, die Geschwindigkeit sinkt. Ich habe versucht, einige der Elemente in den Zeilen zu aktualisieren (zu überschreiben). Niemals!
Sie können eine markierte Zeile nicht löschen! Ich kann nicht ein neues Element zu einer alten Zeile hinzufügen!
Das ist sehr seltsam! Sie können eine Datei oder ein grafisches Objekt usw. einfach löschen. Aber wenn es darum geht, mit einer erstellten Datei zu arbeiten, ist es eine absolute Sackgasse!
In Foren gibt es nur eine Empfehlung: "Lesen Sie die Datei in den Speicher ein, ändern oder löschen Sie die Zeile und speichern Sie die neue Datei unter dem alten Namen".
Dies scheint mir nicht die richtige Lösung zu sein. Ich muss etwas übersehen haben. Bitte helfen Sie mir, es herauszufinden.
Das scheint mir nicht die richtige Entscheidung zu sein. Wahrscheinlich übersehe ich etwas. Bitte helfen Sie mir, es herauszufinden.
Sie sollten dringend von Microsoft eingestellt werden, um diese"falsche Lösung" für die Dateiverarbeitung endlich zu korrigieren.
Dateibearbeitung ist nicht wie das Bearbeiten einer Datei in einem Dateieditor, sondern eher wie das Würfeln eines Wortes mit einzelnen Buchstaben.
Wenn Sie einen neuen Buchstaben einfügen wollen, müssen alle darauf folgenden Würfel nach rechts verschoben werden.
Wenn Sie einen alten Buchstaben entfernen wollen, müssen alle Würfel, die auf ihn folgen, nach links verschoben werden.
Wenn die Datei also nicht groß ist und die Arbeit keinen Zugriff auf die Datei erfordert, ist es in der Tat einfacher, die Daten in eine neue Datei zu schreiben, die alte zu löschen und die neue Datei in den Namen der alten umzubenennen.
Wenn ich mich nicht irre, ist das Einzige, was in MQL bei der Arbeit mit Dateien fehlt, die Möglichkeit, die Dateilänge auf die gewünschte Größe zu kürzen.
Hier ist ein Skript für die Arbeit mit der Zeit.
Es ist alt, aber es funktioniert einwandfrei.
Früher habe ich auch Kims Funktion verwendet, dann fand ich Zeit, meine eigene zu schreiben:
Laufzeit deaktivieren - Sie müssen bei der Initialisierung des Konstruktors ungültige Daten eingeben, z. B. 25 Stunden oder 70 MinutenSie sollten dringend von Microsoft eingestellt werden, damit sie diese"falsche Lösung" für die Dateiverwaltung endlich korrigieren.
Das Arbeiten mit Dateien ist nicht wie das Bearbeiten einer Datei in einem Dateieditor, sondern eher wie das Würfeln eines Wortes mit einzelnen Buchstaben.
Wenn Sie einen neuen Buchstaben einfügen wollen, müssen alle darauf folgenden Würfel nach rechts verschoben werden.
Wenn Sie einen alten Buchstaben entfernen wollen, müssen alle Würfel, die auf ihn folgen, nach links verschoben werden.
Wenn die Datei also nicht groß ist und die Arbeit keinen Zugriff auf die Datei erfordert, ist es in der Tat einfacher, die Daten in eine neue Datei zu schreiben, die alte zu löschen und die neue Datei in den Namen der alten umzubenennen.
Wenn ich mich nicht irre, ist das Einzige, was in MQL bei der Arbeit mit Dateien fehlt, die Möglichkeit, die Dateilänge auf die gewünschte Größe zu kürzen.