Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Ansichten:
969
Rating:
(31)
Veröffentlicht:
2018.01.30 11:30
\MQL5\Indicators\fxsaber\
Ping.mq5 (7.45 KB) ansehen
\MQL5\Include\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Einer der wichtigen Handelsparameter ist die Aktualität des Preises. Viele Faktoren wirken sich auf diesen Parameter aus, der populärste von denen die Netzlatenz zwischen dem Terminal und dem Handelsserver ist.

Häufig wird ein anderer Parameter außer Acht gelassen: der so genannte "interne Ping des Terminals" - eine zusätzliche Verzögerung von Kursen innerhalb des Terminals (der Plattform). Auch bei einem Null-Ping kann diese Verzögerung erheblich sein.

Zwei Varianten der Visualisierung des Indikators

Dieser Indikator zeigt die Dynamik der Änderung dieses Parameters, der wie folgt berechnet wird:

#include <TypeToBytes.mqh> // https://www.mql5.com/de/code/16280

// Erhalten eines aktuellen Ticks mit dem Wert der internen Verzögerung von Kursen (in Millisekunden)
bool SymbolInfoTick( const string &Symb, MqlTick &Tick, double &Ping )
{
  static const bool IsTester = (MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION));
  
  static MqlTick PrevTick = {0};
  static ulong PrevTime = 0;
  
  const ulong NowTime = IsTester ? 0 : GetMicrosecondCount();
  const bool Res = SymbolInfoTick(Symb, Tick);
  
  if ((!IsTester) && Res)
  {
    if (_R(Tick) != PrevTick)
    {
      Ping = PrevTime ? MathAbs(Tick.time_msc - PrevTick.time_msc - (NowTime - PrevTime) / 1e3) : 0;
      
      PrevTime = NowTime;
      PrevTick = Tick;
    }
    else
      Ping = 0;
  }

  return(Res);
}

Auf der Abbildung sieht man, dass der berechnete Wert gar nicht klein ist (Terminal mit einem Chart), und dass das Streben nach einer Null-Netzlazenz beim Handel oder bei einige Typen der Analyse in MetaTrader 5 irreführend sein kann.


Besonderheiten

  • Der Ping wird in Millisekunden berechnet;
  • Der Indikator verbraucht eine minimale Rechenleistung des Terminals;
  • Beim Zurücksetzen des Indikators (Änderung der Zimeframe, des Symbols usw.) gehen die gespeicherten Daten verloren (es wird keine Datenbank geführt);
  • Nach dem Löschen des Indikators bleibt sein Kommentar im Chart;
  • Es ist unmöglich, solchen Indikator für MetaTrader 4 zu erstellen, denn Tickdaten mit einer Genauigkeit von 1 Ms sind nicht verfügbar;
  • SymbolInfoTick in Indikatoren benötigt ein "Aufwärmen" in Form von ersten Calculate-Ereignisse;
  • Der Indikator kann als Template für die Visualisierung jeglicher Werte in Echtzeit dienen - man muss nur eine Zeile ersetzen;
  • Für die Kompilierung benötigt der Indikator eine Bibliothek - sie wird für den Vergleich von MqlTick-Strukturen bei der Berechnung der Verzögerung verwendet:

    #include <TypeToBytes.mqh> // https://www.mql5.com/de/code/16280
  • Es gibt zwei Varianten der Anzeige des Indikators je nach dieser Zeile:

    #define HISTOGRAM_VIEW // die Zeile auskommentieren, um den Indikator nicht als Histogramm sondern als Kerzen anzuzeigen

Der aktuelle Indikator zeigt die Verzögerung von Kursen (nachfolgend Ping genannt), die mit dem Calculate-Ereignis verbunden ist. Es hat sich herausgestellt, es gibt es so viele Faktoren, die den Ping wesentlich beeinflussen, dass man Zweigel an dem Sinn der Anwendung einiger Indikatoren in Handelssystemen (und bei Analyse) haben kann. Natürlich ist das Ereignis NewTick weniger negativen Einflüssen ausgesetzt, aber auch da ist der Ping nicht klein (wenn man ihn im Expert Advisor misst), was die Bedeutung einiger Geschwindigkeitswerte der Plattform sinnlos macht.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/19422

Candle_row Candle_row

Der Indikator nummeriert Kerzen entsprechend der Bewegungsrichtung.

RSI Eraser RSI Eraser

Der Expert Advisor basiert auf Signalen des iRSI Indikators (Relative Strength Index, RSI).

Exp_Stopreversal_Tm Exp_Stopreversal_Tm

Der Expert Advisor basiert auf Signalen des Stopreversal Indikators und bietet die Option, ein festes Handelsintervall festzulegen.

Daniella Daniella

Ein Semaphor-Signalindikator unter Verwendung von Average True Range.