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
Ich habe so eine interessante Eigenheit bemerkt
Ich habe einen Statistik-Indikator (kostenlos) für mt4.
Ich beschloss, eine für mt5 zu machen.
Die Bibliothek kommt gerade recht (ich bin zu faul, eine solche Bibliothek selbst zu schreiben).
Zuvor hatte ich eine Version für MT5, aber die funktionierte mit ihren eigenen Fehlern.
Ich habe den ganzen MQL5-Code entfernt - die MT4Orders-Bibliothek angeschlossen - und sie zeigt beim Start Unsinn an.
Zur gleichen Zeit ist alles normal in der Historie:
und OrderPrint zeigt alles korrekt an (wie in der Historie).
Ich habe Trades nach Ticketnummer ausgewählt (kompliziertes und verwirrendes System, ich komme selbst immer durcheinander und nach einer Weile vergesse ich, wie es funktioniert :-)) )
Hier ist ein Stück Code:
Der Punkt ist, dass das nächste Ticket (für die Statistik) durch die Sortierung nach Schlusszeit ausgewählt wird, und wenn die Zeit die gleiche ist, wird es nach Ticketnummer ausgewählt.
In diesem Fall zeigt es also Unsinn an.
Aber wenn ich einen harmlosen Druckstring hinzufüge:
dann funktioniert alles.
Was ist die Magie von Print?
Dieser Druck funktioniert gut:
Ein solcher Druck funktioniert normalerweise nicht mehr.
Ich habe es herausgefunden.
int i; // Funktioniert nicht
int i=0; // alles funktioniert
eine interessante Sache, die mir aufgefallen ist
Schreiben Sie einen kurzen Quelltext, um diese Funktion zu reproduzieren. Dann wird es möglich sein, ohne zu raten zu handeln.
Auswahl nach Ticket funktioniert
Schreiben Sie eine kurze Quelle für die Wiedergabe dieser Funktion. Dann wird es möglich sein, ohne zu raten zu handeln.
Die Ticketauswahl funktioniert
Wahrscheinlich liegt es an der Initialisierung der Variablen (bei mir).
Weiteres Parsing.
Wir haben sie in unserer Korrespondenz ausgegraben:
In dieser Aufgabe.
Ein Beispiel für eine Aufgabe mit einem schwebenden Auftrag: Das Niveau der Einstellung eines Auftrags wird auf der Grundlage des Preisverlaufs berechnet, aber auf der Grundlage der Art der Ticks Bewegung angepasst. Nachdem der Auftrag ausgelöst und der Handel geschlossen wurde, sollte der EA keinen Auftrag auf der Grundlage desselben Preisniveaus erteilen (kann aber in diesem Moment um einen anderen Wert angepasst werden). Ich speichere diese Information (das Niveau, auf das sich die Order bezieht) in der Hauptvariablen, die an das Ticket gebunden ist. Man kann sie natürlich auch in einen Kommentar schreiben, aber das ist nicht immer bequem und zuverlässig.
Es ist logisch, an OrderTicketOpen zu binden. Dann müssen wir SELECT_BY_TICKET für TicketOpen-Transaktionen erstellen, was wir jetzt nicht haben. Nun, und fügen Sie SELECT_BY_TICKET für TicketOpen order hinzu.
Es ist klar, dass es mehrere ENTRY_OUT-Vorgänge für beide Varianten von TicketOpen geben kann, aber nur einer sollte ausgewählt werden. Für solche Buchhaltungsaufgaben ist eine solche Mehrdeutigkeit jedoch kein Hindernis.
Guter Punkt, danke. An eine solche Regelung hatte ich nicht gedacht.
Es ist interessant, dass in mt5-Berichten alles anders gezählt wird als in mt4-Berichten.
In mt4 erfolgt die Sortierung nach dem Zeitpunkt des Abschlusses, und wenn der Zeitpunkt des Abschlusses eines Geschäfts gleich ist, wird es als Ticket gezählt.
in mt5 ist das anders, in mt5 erfolgt die sortierung in den berichten nach dem zeitpunkt der eröffnung der geschäfte.
ungünstig.
@fxsaber Wie haben Sie die Sortierung implementiert? wie in mt4 nach Schlusszeit? oder wie in mt5 nach Ticketnummer (Eröffnungszeit)?
Es ist interessant, dass in mt5-Berichten alles anders gezählt wird als in mt4-Berichten.
In mt4 erfolgt die Sortierung nach Abschlusszeitpunkt, und wenn der Zeitpunktdes Abschlusses eines Geschäfts gleich ist, wird es nach Ticket gezählt.
Zeit der Eröffnung der Geschäfte.
Ungünstig.
Und das ist es nicht.
@fxsaber Wie haben Sie die Sortierung implementiert? wie in mt4 nach Schlusszeit? oder nach Ticketnummer (Eröffnungszeit)?
In MT5 wird nach der Schlusszeit sortiert - das ist die Art und Weise, wie MT5 selbst seine Datensätze in der Historie anlegt.
Das ist es nicht.
Und das ist es auch nicht.
MT5 sortiert nach Geschäftsschluss - das ist die Art und Weise, wie MT5 selbst seine Datensätze in die Historie stellt.
Ich verwende den von mt4 heruntergeladenen Bericht.
Als ich einen Statistikindikator erstellte, stimmten meine Zahlen nicht mit dem Bericht von mt4 überein.
Ich habe die Erfahrung gemacht, dass die Zahlen nur dann übereinstimmen, wenn alle Positionen nach der Schlusszeit sortiert sind (und wenn die Zeit dieselbe ist, sortieren wir die Positionen nach Trades).
Nach diesem Prinzip sind alle Zahlen der Statistiken meines Berichts und des mt4-Berichts identisch.
Im Falle von mt5 - ich habe nichts an meinen Berechnungen geändert, sondern nur Ihre Bibliothek angewendet. und festgestellt, dass die Sortierung in mt5 beim Hochladen des Berichts - nach der Öffnungszeit sortiert.
Nein, das habe ich. SELECT_BY_TICKET funktioniert aus irgendeinem Grund nicht korrekt.
Ich gehe von dem von mt4 heruntergeladenen Bericht aus.
Wenn ich die Statistik-Indikator gemacht, meine Zahlen nicht mit dem Bericht von mt4.
Ich habe durch Erfahrung herausgefunden, dass es für alle Zahlen identisch zu sein, ist es notwendig, alle Positionen nach Schließungszeit zu sortieren (und wenn die Zeit die gleiche ist, sortieren wir diese Positionen nach Trades).
Nach diesem Prinzip sind alle Zahlen in den Statistiken meines Berichts und des Berichts von mt4 identisch.
Im Falle von mt5 - ich habe nichts an meinen Berechnungen geändert, sondern nur Ihre Bibliothek angewendet. und herausgefunden, dass die Sortierung in mt5 beim Hochladen des Berichts nach der Eröffnungszeit sortiert ist.
Nein, das habe ich. SELECT_BY_TICKET funktioniert aus irgendeinem Grund nicht korrekt.
Was in mt4 perfekt funktioniert, funktioniert in mt5 nicht perfekt.
Ich gehe von dem von mt4 heruntergeladenen Bericht aus.
Wenn ich die Statistik-Indikator gemacht, meine Zahlen nicht mit dem Bericht von mt4.
Ich habe durch Erfahrung herausgefunden, dass es für alle Zahlen identisch zu sein, ist es notwendig, alle Positionen nach Schließungszeit zu sortieren (und wenn die Zeit die gleiche ist, sortieren wir diese Positionen nach Trades).
Nach diesem Prinzip sind alle Zahlen in den Statistiken meines Berichts und des Berichts von mt4 identisch.
Im Falle von mt5 - ich habe nichts in meinen Berechnungen geändert, sondern nur Ihre Bibliothek angewendet. und fand, dass die Sortierung in mt5 beim Hochladen des Berichts - Sortierung nach Öffnungszeit.
Führen Sie
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Bibliotheken: Bericht
fxsaber, 2018.12.11 12:28 pm.
Um sofort zu verstehen, wie der Bericht aussieht, genügt es, dieses Skript auf Ihrem Konto auszuführen
und nein, ich habe es geändert. SELECT_BY_TICKET funktioniert aus irgendeinem Grund nicht richtig
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Bibliotheken: MT4Orders
fxsaber, 2019.03.11 21:40
Ticketauswahl funktioniert