Fehler, Irrtümer, Fragen - Seite 1861
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
Eine weitere Frage: Ist es normal, dass es keine Flaggen gibt? Build 1585
Alpari
fxopen
Bid und/oder Ask
Last und Volumen
alle Häkchen
wenn überallCOPY_TICKS_ALL =COPY_TICKS_INFO +COPY_TICKS_TRADE
was bedeutet es dann bei Alpari?
Alpari
fxopen
Sie haben keine Flaggen.
es ist klar, aber was wird dann hinzugefügt, umCOPY_TICKS_ALL zu erhalten?
weil sieCOPY_TICKS_TRADE=0 haben
und die Häkchen in der Geschichte mit den fehlenden Flaggen sind die unbekanntenCOPY_TICKS_TRADE ?
es ist klar, aber was wird dann hinzugefügt, umCOPY_TICKS_ALL zu erhalten?
weil sieCOPY_TICKS_TRADE=0 haben
und die Ticks in der Historie mit fehlenden Flags ist unbekanntCOPY_TICKS_TRADE ?
HistoryDealGet*- und HistoryOrderGet*-Funktionen sind in Bezug auf die Leistung sehr seltsam geschrieben.
Wenn ich z. B. HistorySelect für 100K einzelne Datensätze mache. Die HistoryDealGet-Funktion benötigt als erstes Argument nicht die Anzahl der Datensätze in der History-Tabelle, sondern ein Ticket. Und die Tabelle ist nach Zeit und nicht nach Ticket sortiert. Daher durchläuft die Funktion HistoryDealGet bei jeder Ausführung als Erstes die Tabelle und sucht nach einem passenden Ticket.
Warum eine solche Verschwendung von Ressourcen! Es stellt sich heraus, dass das allererste Ticket und das jüngste Ticket mit unterschiedlicher Geschwindigkeit ausgeführt werden. Und um alle Merkmale des letzten Geschäfts zu erhalten, werden die HistoryDealGet-Funktionen jedes Mal die gesamte Tabelle durchlaufen.
Warum sollte man es nicht normal machen?
Und wie kann der HFT-Roboter getestet werden, wenn wir jedes Mal durch HistorySelect in die langsame Historie klettern müssen, um den Provisionsbetrag der aktuellen Position zu erhalten, und auf keinen Fall durch HistorySelectByPosition? Der Slippage der Pending Order wird zum Performance-Müll!
ACCOUNT_PROFIT im Testgerät zeigt Unsinn.
Führen Sie den Expert Advisor aus, der die Position sofort öffnet und schließt.
Das Ergebnis ist
ACCOUNT_PROFIT zeigt Null an, aber in Wirklichkeit sind es -56,44. Folglich werden Eigenkapital, Drawdown usw. falsch geschätzt.
PositionGetDouble(POSITION_PROFIT) - dasselbe.
Und wie kann ein HFT-Roboter getestet werden, wenn man, um die Kommissionsgröße der aktuellen Position zu erfahren, jedes Mal über HistorySelect und nicht über HistorySelectByPosition in die Historie einsteigen muss? Die Slippage einer schwebenden Order zu sehen, wird zum Performance-Müll!
Arbeitet HistorySelect mit einer binären Suche im gewünschten Zeitintervall oder nicht? D.h. O(N) oder O(log(N))?
Nein. Die binäre Suche ist in diesem Fall nicht anwendbar.
Intern sind also beide Geschichten (Aufträge und Abschlüsse) nach Zeit sortiert.
Tut mir leid, ich habe mich ein wenig aufgeregt.
Ja, sie sind nach Zeit sortiert. Der erste Datensatz wird mit einer binären Suche durchsucht.