Spread Profile by Hour

  • Utilitys
  • Quoc Dat Quach
    Quoc Dat Quach
    Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself.
  • Version: 1.0

„Spread-Profil nach Stunde“ erstellt die Spread-Verteilung eines Symbols für jede Stunde des Server-Tages anhand der Tick-Historie Ihres Brokers und stellt diese in Form von 24 Balken dar. Der ausgefüllte Teil eines Balkens entspricht dem Median-Spread dieser Stunde, die hellere Oberkante erreicht das 90. Perzentil. Geben Sie die von Ihnen üblicherweise verwendete Stop-Größe ein, und jeder Balken wird mit seinem Median-Spread als Anteil dieses Stops beschriftet, sodass die Kosten in derselben Einheit wie Ihr Risiko angegeben werden.

Es handelt sich um ein Messinstrument. Es platziert keine Orders, verwendet keine DLL und keine WebRequest und schreibt keine Dateien, mit Ausnahme des CSV-Exports, den Sie aktivieren können.

Warum es existiert: Bei Intraday- und Scalping-Regeln entscheidet oft der Spread und nicht das Einstiegssignal darüber, ob ein Vorteil bestehen bleibt. Das Terminal zeigt den aktuellen Spread an, und die Balkenhistorie speichert einen einzigen Spread-Wert pro Balken, wodurch verborgen bleibt, was innerhalb der Stunde geschah. Dieselben Regeln können in ruhigen Stunden funktionieren und beim täglichen Rollover oder bei einer Sitzungseröffnung Verluste einfahren, einfach weil der Spread dort um ein Vielfaches größer ist. Dieser Indikator liest die Kursnotierungen selbst – jeden Bid- und Ask-Tick der letzten N Kalendertage über „CopyTicksRange“ – und gruppiert sie nach der Tagesstunde in Serverzeit.

Was er für jede Serverstunde berechnet, über die letzten N Kalendertage (ohne den heutigen Tag), damit sich das Bild während des Handels nicht verschiebt:

  • Median und 90. Perzentil des Spreads in Punkten für jede Stunde im Panel; Mittelwert, Maximum und die Anzahl der Kursnotierungen hinter jeder Stunde im CSV-Export.
  • Zwei Erfassungsmodi. Tick-Zählung: Jede Kursangabe zählt einmal. Zeitgewichtet: Jede Kursangabe zählt für die Zeit, in der sie gültig war, bis zu 60 Sekunden. Die Tick-Zählung überrepräsentiert schnelle Märkte, und schnelle Märkte weisen oft große Spreads auf; die Zeitgewichtung gibt Auskunft darüber, welchen Spread Sie zu einem zufälligen Zeitpunkt dieser Stunde vorgefunden hätten.
  • Ein Wochentagsfilter (Montag bis Freitag) für Regeln, die nur an einem bestimmten Wochentag handeln; erhöhen Sie damit die Tiefe des historischen Datensatzes, da 20 Kalendertage nur zwei oder drei Tage eines bestimmten Wochentags umfassen.
  • Die Kostenansicht: Bei Eingabe einer Stop-Größe in Punkten wird jeder Balken mit dem Median-Spread als Prozentsatz dieses Stops beschriftet, und in der Kopfzeile werden der Median und das 90. Perzentil der aktuellen Stunde in derselben Einheit angezeigt. Ist das Fenster zu schmal für eine Beschriftung auf jedem Balken, behält nur der Balken mit dem höchsten Median seine Beschriftung.
  • Der Median-Spread der aktuellen Stunde in Kontowährung pro 1,00 Lot, basierend auf dem Tick-Wert und der Tick-Größe des Symbols.
  • Die Stunden an beiden Enden der Medianrangliste, jeweils bis zu drei, in der Kopfzeile. Stunden mit demselben Median werden zusammen aufgeführt oder zusammengefasst, zum Beispiel „Günstigste: 23 Stunden bei 6 pt“, sodass gleiche Werte niemals als Rangliste dargestellt werden; wenn jede Stunde denselben Median aufweist, wird dies in der Kopfzeile angegeben.
  • Die aktuelle Server-Stunde ist hervorgehoben und der Live-Spread wird als gestrichelte Linie über die Balken dargestellt.
  • Optionaler CSV-Export der stündlichen Tabelle nach MQL5\Files\SpreadProfile_<Symbol>_<JJJJMMTT>.csv im UTF-8-Format, der nach jeder Berechnung geschrieben wird.

So wird der Tick-Verlauf behandelt – der Teil, der darüber entscheidet, ob die Zahlen vertrauenswürdig sind: Pro Timer-Schritt wird ein Tag geladen und sofort freigegeben, sodass das Chart bei Gold oder Kryptowährungen mit mehr als 100.000 Ticks pro Tag reaktionsschnell bleibt. Ein Tag, den das Terminal noch herunterlädt, wird einige Sekunden lang erneut versucht, und ein Tag, dessen Ticks die eigenen M1-Balken nicht abdecken, wird erneut versucht, bevor er verwendet wird. Die Tage werden vom neuesten rückwärts gelesen. Wenn drei Handelstage in Folge keine Ticks liefern (bei einem Wochentagsfilter drei aufeinanderfolgende Tage dieses Wochentags) oder zehn Tage in Folge weder Ticks noch M1-Balken enthalten, werden diese Tage nach einer Pause ein zweites Mal eingelesen; sind sie dann immer noch leer, wird der Ladevorgang beendet und in der Kopfzeile wird das Datum des ältesten tatsächlich verwendeten Tages angezeigt; Eine Lücke dieser Länge im Tick-Speicher des Brokers beendet das Laden auf dieselbe Weise. Die Kopfzeile zählt außerdem Tage, die als teilweise verwendet gelten – d. h. Ticks, die den letzten M1-Balken nicht erreicht haben – sowie nicht verfügbare Tage, d. h. Tage mit M1-Balken, aber ohne Ticks. Ein Symbol ohne jegliche Tick-Historie meldet dies innerhalb von etwa zwanzig Sekunden, anstatt ein leeres Feld anzuzeigen. Das Journal erhält pro Berechnung eine Zusammenfassungszeile – verwendete Tage, gelesene Ticks, gefüllte Stunden – sowie eine Zeile mit dem Namen der CSV-Datei, wenn der Export aktiviert ist.

So lesen Sie das Fenster: Jeder Balken entspricht einer Stunde des Tages in Serverzeit. Der durchgezogene Teil ist der Median: Die Hälfte der Kurse bzw. die Hälfte der Zeit im zeitgewichteten Modus wies einen Spread auf oder unter diesem Wert auf. Die hellere Obergrenze ist das 90. Perzentil: Ein von zehn Kursen war breiter als dieser Wert. Messwerte aus den Screenshots, aufgenommen auf einem Demokonto über 20 Kalendertage, von denen 17 Ticks aufwiesen:

  • EURUSD, Tick-Anzahl, 50-Punkte-Stop: Der Median liegt in 23 der 24 Stunden bei 6 Punkten. Um 21:00 Uhr Serverzeit, dem täglichen Rollover, beträgt er 34 Punkte mit einem 90. Perzentil von 58. Das sind 12 Prozent des Stops für den Großteil des Tages und 68 Prozent in dieser einen Stunde.
  • GBPUSD, zeitgewichtet, kein Stop gesetzt: 7 Punkte in 23 Stunden, Median 46 und 90. Perzentil 94 um 21:00 Uhr. Im Tick-Count-Modus liegen die Werte für dieselbe Stunde bei 54 und 100, da sich die Kurse um den Rollover herum häufen, wo der Spread breit ist.
  • XAUUSD, Tick-Zählung, 1.500-Punkte-Stop: Der Median liegt bei 182 Punkten in jeder Stunde, für die Daten vorliegen, was 12 Prozent des Stops und 18,20 USD pro 1,00 Lot entspricht; daher wird dies in der Überschrift angegeben, anstatt gleiche Werte zu ordnen. Die tägliche Unterbrechung um 21:00 Uhr weist weniger als die Mindestanzahl an Ticks auf und wird als Strich dargestellt.

Der praktische Nutzen liegt in der Entscheidung über die Handelsstunden: Wenn Ihr System in einer Stunde handelt, in der der Median-Spread einen großen Anteil Ihres Stopps ausmacht, sollten Sie entweder diese Stunde überspringen, den Stopp erweitern oder prüfen, ob die erwartete Kursbewegung dies rechtfertigt. Das 90. Perzentil zeigt, wie eine schlechte, aber nicht seltene Ausführung aussieht.

Unabhängige Überprüfung. Die stündlichen Statistiken wurden anhand derselben Roh-Ticks durch eine separate Python-Implementierung neu berechnet. Median, 90. Perzentil, Mittelwert, Maximum und Tick-Anzahl stimmten für jede Stunde in beiden Erfassungsmodi überein, zum Beispiel EURUSD um 20:00 Uhr mit 10.692 Ticks und um 21:00 Uhr mit 8.097 Ticks sowie GBPUSD um 21:00 Uhr in beiden Modi. Lasttests auf demselben Rechner: 20 Tage XAUUSD, 4,29 Millionen Ticks, in 1 bis 3 Sekunden; 60 Tage, gefiltert auf montags, 2,60 Millionen Ticks, in 1,3 Sekunden; 365 Tage EURUSD, 9,37 Millionen Ticks über 232 Tage mit Ticks, in etwa 30 Sekunden, einschließlich des zweiten Durchlaufs der Tage vor Beginn der Tick-Historie. Ihre Laufzeiten hängen von der Tick-Dichte Ihres Brokers ab und davon, ob die Ticks bereits auf der Festplatte gespeichert sind.

Eingaben: Historientiefe in Kalendertagen (1 bis 365, Standard 20), Abtastmodus, Wochentagsfilter, Histogrammbereich in Punkten mit einem Überlauf-Bin, Mindestanzahl an Ticks pro Stunde, die angezeigt werden sollen, Stoppgröße in Punkten (0 deaktiviert die Prozentangaben), Fensterhöhe, sieben Farben, von denen vier automatisch abgeleitet werden, wenn „None“ ausgewählt ist (Hintergrund aus dem Chart, Text und Gitter aus diesem Hintergrund, die Obergrenze des 90. Perzentils aus der Balkenfarbe), Schriftgröße und der CSV-Schalter. Jede Eingabe wird durch einen eigenen Kommentar im Terminal dokumentiert.

Hinweise und Einschränkungen. Die Tiefe des Tick-Verlaufs hängt von Ihrem Broker und davon ab, was das Terminal bereits heruntergeladen hat. Beim allerersten Durchlauf über eine große Tiefe lädt das Terminal möglicherweise noch Ticks herunter; ein Tag, der noch nicht vollständig vorliegt, wird einige Sekunden lang erneut versucht und dann als unvollständig oder übersprungen behandelt. Sollte der Ladevorgang also vorzeitig abbrechen, fügen Sie den Indikator erneut hinzu, sobald der Download abgeschlossen ist – der zweite Durchlauf liest dann von der Festplatte. Alle Zeiten sind Serverzeiten; daher kann sich ein Ereignis wie der Rollover zwischen Sommer- und Winterzeit um eine Serverstunde verschieben, und ein Zeitfenster, das den Wechsel umfasst, wird über zwei benachbarte Stunden aufgeteilt angezeigt. Demo- und Live-Konten sowie die Kontotypen „Standard“, „Raw“ und „Zero“ können für dasselbe Symbol sehr unterschiedliche Spreads aufweisen – messen Sie diese auf dem Konto, auf dem Sie handeln. Die Spread-Historie sagt keine zukünftigen Spreads voraus: Nachrichten, Feiertage und geringe Liquidität können zu Spreads führen, die deutlich über dem hier gezeigten 90. Perzentil liegen. Die Kosten pro Lot basieren auf dem aktuellen Tick-Wert, der sich bei Cross-Paaren entsprechend dem Wechselkurs ändert. Das Profil wird einmal pro neuem Server-Tag neu berechnet sowie immer dann, wenn sich die Eingabewerte, das Symbol oder der Zeitrahmen ändern. Der Indikator öffnet sich in einem separaten Fenster, und auf einem Chart können mehrere Instanzen gleichzeitig ausgeführt werden, jede in ihrem eigenen Fenster.

Weitere Produkte dieses Autors
Ein lokaler Handelskopierer für MetaTrader 5. Er kopiert Positionen zwischen MT5-Terminals auf demselben Windows-PC oder VPS und passt die Größe jeder Kopie an die Kontraktspezifikationen beider Broker an (Kontraktgröße, Tick-Wert, Kontowährung), sodass eine Kopie das gleiche Risiko aufweist, selbst wenn die beiden Broker „Lot“ unterschiedlich definieren. Es wird niemals eine zweite Kopie derselben Master-Position eröffnet. So funktioniert es Sie fügen denselben EA in jedem Terminal zu einem Cha
Symbol Spec Auditor fasst den Teil der Kontraktspezifikation eines Symbols, der die Positionsgröße und die Handelskosten bestimmt, in einem einzigen Fenster im Chart zusammen: Punktwert, Spread-Kosten, Margin, Swap, Ausführungsregeln und Handelssitzungen. Die Rohwerte der Spezifikationen werden in einen Geldbetrag pro 1,00 Lot in der Kontowährung umgerechnet, und Broker-Einstellungen, die stillschweigend gegen die Vorschriften zur Lotgröße verstoßen, werden als Warnungen aufgeführt. Mit einem ei
FREE
Der „Repaint Inspector“ misst, ob ein Indikator neu gezeichnet wird, anstatt die Angabe einfach für bare Münze zu nehmen. Sie fügen ihn einem Chart hinzu, geben einen beliebigen benutzerdefinierten Indikator und dessen Parameterliste an, und er liest die Puffer dieses Indikators bei bereits geschlossenen Kerzen erneut aus. Dabei zählt er jeden Wert, der sich verändert, jeden Wert, der erscheint, und jeden Wert, der verschwindet, sowie wie weit zurück in der Historie dies noch geschieht. Es hande
FREE
Ein Kontostandbuch für MetaTrader 5, das Ihre Ergebnisse nach Magic Number, Symbol, Wochentag und Stunde aufschlüsselt, Kursgewinne/-verluste, Provisionen, Swaps und Gebühren in separaten Spalten anzeigt und den bei jeder Ausführung gezahlten Spread sowie die Slippage im Vergleich zu Ihrem gewünschten Kurs misst. Die Summen werden bei jeder Aktualisierung mit dem Kontostand abgeglichen. Es werden niemals Handelsgeschäfte auf der Grundlage eines Charts getätigt. Funktionsweise Fügen Sie es einem
Auswahl:
Keine Bewertungen
Antwort auf eine Rezension