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
Aufträge, Geschäfte und Positionen sind ohnehin nicht an Zeitrahmen gebunden. Entweder haben Sie etwas missverstanden oder Ihre Formulierung ist falsch.
Es tut mir leid, dass meine Wortwahl verwirrend ist, denn mit"Zeitrahmen" meine ich "Datumsbereich". Sagen wir, ich möchte Abschlüsse/Bestellungen auswählen, die innerhalb eines bestimmten Datumsbereichs getätigt wurden, z. B. Abschlüsse vom 2025-10-01 00:00:00 bis 2025-10-22 23:59:59.
Wenn Sie einen Teilbereich eines Handelsverlaufs analysieren wollen, ist es effizienter, nur diesen Teil des Verlaufs vor der Filterung abzufragen, ohne den Filterungscode selbst zu beeinflussen:
Wenn Sie aus irgendeinem Grund einen (engeren) Teilbereich innerhalb des globalen Bereichs, den Sie mit HistorySelect angewendet haben, auswählen möchten, dann können Sie dies im Filterungscode immer noch wie folgt tun:
{ // einige von ihnen gehen hier // HistorySelect(0, LONG_MAX); // HistorySelectByPosition(PositionID); ... DealTuple deals[]; if(SubrangeFrom != SubrangeTo && SubrangeFrom < SubrangeTo) { filter.let(DEAL_TIME, SubrangeFrom - 1, IS::GREATER).let(DEAL_TIME, SubrangeTo + 1, IS::LESS); } filter.let(DEAL_POSITION_ID, PositionID).select(deals, true); ... }Die gelb hervorgehobene Zeile setzt 2 Bedingungen für den Datumsbereich [SubrangeFrom, SubrangeTo] unter Verwendung der zusätzlichen Qualifikatoren IS::GREATER und IS::LESS (standardmäßig werden sie in anderen Aufrufen von let() nicht angegeben, und IS::EQUAL wird normalerweise für Einzelwertfelder verwendet).
Ich kenne nur einen Grund für die Anwendung des Subfilters nach Datumsbereich - es ist für die Einrichtungszeit von Aufträgen (ORDER_TIME_SETUP), weil HistorySelect auf eine andere datetime-Eigenschaft von Aufträgen angewendet wird - nämlich die Ausführungszeit von Aufträgen (ORDER_TIME_DONE). Es könnte auch interessant sein, einen Teilbereich von aktiven Aufträgen (nicht in der Historie) zu filtern, wenn es viele davon gibt.
Sie können sich das Beispielskript MQL5/Scripts/MQL5Book/p6/TradeHistoryPrint.mq5 als Ausgangspunkt ansehen.Wenn Sie einen Teilbereich eines Handelsverlaufs analysieren wollen, ist es effizienter, nur diesen Teil des Verlaufs vor der Filterung abzufragen, ohne den Filterungscode selbst zu beeinflussen:
Wenn Sie aus irgendeinem Grund einen (engeren) Teilbereich innerhalb des globalen Bereichs, den Sie mit HistorySelect angewendet haben, auswählen möchten, können Sie dies im Filterungscode immer noch wie folgt tun:
Die gelb hervorgehobene Zeile setzt 2 Bedingungen für den Datumsbereich [SubrangeFrom, SubrangeTo] unter Verwendung der zusätzlichen Qualifikatoren IS::GREATER und IS::LESS (standardmäßig werden sie in anderen Aufrufen von let() nicht angegeben, und IS::EQUAL wird normalerweise für Einzelwertfelder verwendet).
Ich kenne nur einen Grund für die Anwendung des Subfilters nach Datumsbereich - es ist für die Einrichtungszeit von Aufträgen (ORDER_TIME_SETUP), weil HistorySelect auf eine andere datetime-Eigenschaft von Aufträgen angewendet wird - nämlich die Ausführungszeit von Aufträgen (ORDER_TIME_DONE). Es könnte auch interessant sein, einen Teilbereich von aktiven Aufträgen (nicht in der Historie) zu filtern, wenn es viele davon gibt.
Sie können sich das Beispielskript MQL5/Scripts/MQL5Book/p6/TradeHistoryPrint.mq5 als Ausgangspunkt ansehen.Fehlerbehebung MQL5/Include/MQL5Book/TradeUtils.mqh.
Ein Moderator hat den falsch eingefügten Code formatiert. Normalerweise wird solcher Code entfernt.
@StanislavKorotky Bitte können Sie helfen, in diesem Fehler zu suchen, ich glaube, es begann nach MT5 Updates, weil ich wusste, dass der Code funktioniert in den vergangenen Monaten ohne Änderungen.
Parameter Konvertierung Typ 'long[][2]' zu 'string[][] &' ist nicht erlaubt SymbolFilter.mqh 199 20
Ich vermute, dass der folgende Code helfen wird, das Problem zu lösen:
Hallo @Paul Dick
Versuchen Sie diese https://www.mql5.com/de/code/57233 für die Sortierung von Arrays
Ich füge eine aktualisierte Version der Berechnungsdatei des benutzerdefiniertenOptimierungskriteriums auf der Grundlage von R2 - RSquared.mqh bei, in der die Berechnung für den Fall variabler Lose korrigiert wurde.
Die Qualität der Schätzung wurde deutlich verbessert - nach der Tabelle der Optimierungsergebnisse zu urteilen, wurde die Kombination aus Erholungsfaktor und Sharpe-Parametern erhalten.
Beispiel für die Anwendung.