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
Sie müssen das Objekt auch nicht bei jedem Tick neu erstellen, da dies das Fehlerprotokoll mit der Meldung 4200 Objekt existiert bereits überflutet. Erstellen Sie das Objekt stattdessen einmalig in der Funktion on init und verschieben Sie es dann später auf das gewünschte Datum.
um dieses Problem zu vermeiden:
Oder Sie können zusätzlich im Voraus prüfen, ob das Objekt bereits existiert, indem Sie:
ObjectFind(...
Marco, Paul
Vielen Dank für die Antwort und die Hilfe.
Das Problem, vor dem ich im Moment stehe, ist die Konvertierung der Informationen (Datum), die ich aus der Datei abrufe und zum Zeichnen der Linien verwende
Im Code wird die Datei als # Lines in der MT4-Datei-Sektion gespeichert und das gespeicherte Datum ist zum Beispiel 2019.05.18 05:30:00, im ersten Schritt entferne ich die
ersten Schritt entferne ich die letzten 3 Ziffern des Datums und konvertiere es in 2019.05.18 05:30 .. jetzt ist der nächste Schritt, was ich nicht erreichen, um die Zeit in der D'-Format zu machen
Ich habe folgendes versucht
aber das hat nicht funktioniert, also konvertiere ich die Zeichenkette in Zeit
In beiden Fällen wird die Zeile um 1970.01.01 00:00 erstellt. Das Problem ist also, das Datum aus der Datei in etwas Sinnvolles umzuwandeln, das MT4 verwenden kann, um die v-Linie zu erstellen.
Ich hänge den Code an, vielleicht können Sie meinen Fehler erkennen. Im Code habe ich zwei Zeilen erstellt, aber keine der Zeilen wird an dem Datum erstellt, das ich aus der Datei abrufe
Sie machen das falsch, wenn Sie das Datum zwischen Anführungszeichen schreiben
wie es ist:
D'2019.05.18 05:30'
Beides sind Datumsangaben. Genauso wie
sind beides Doppelgänger.Sie machen das falsch, wenn Sie das Datum zwischen Anführungszeichen schreiben
wie es ist:
D'2019.05.18 05:30'
Ich tue dies, weil ich den Text in ein Datumsformat konvertiere, wieWilliam Roeder oben gezeigt hat. Ich bin mir nicht sicher, wo mein Fehler liegt, da ich das Datum korrekt speichere und es in das D'-Format konvertiere, aber immer noch nicht in der Lage bin, die Zeile zu erstellen, obwohl, wenn ich das Datum aus der Datei kopiere und manuell eine Zeile erstelle, es in das richtige Datum übergeht
Ich denke, Sie werden mehr Glück haben, wenn Sie die Zeit als lange ganzzahlige Werte wie Sekunden seit der Epoche speichern und lesen, anstatt diese Konvertierungen von Strings in Datumsangaben vorzunehmen.
Das Datum wird einschließlich der Sekunden gespeichert, zum Beispiel ist dies die Zeit, die aus der Datei 2019.05.19 15:00:00
Während meiner Tests habe ich jedoch herausgefunden, dass, wenn ich das Datum mit Sekunden verwende, die Zeile in1970.01.01 erstellt wird. Das ist der Grund, warum ich die Sekunden entferne, aber immer noch nicht in der Lage bin, die Datei an der richtigen Stelle des Datums zu erstellen.
In diesem Fall können Sie sich auch die Zeitstruktur ansehen:
Sie können die
TimeToStruct()
Funktion wie folgt:
Daraus können Sie dann alle gewünschten Werte extrahieren.
Dies sind Integer-Werte, also keine Strings, mit denen man herumspielen muss.