Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Speed of Ticks messen: Wie? (http://www.expert-advisor.com/forum/showthread.php?t=5072)

Pit! 22.07.16 18:29

Speed of Ticks messen: Wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Liebe Leute,

kann ich den Speed der hereinprasselnden Ticks irgendwie messen? Bei einigen Brokern habe ich den Verdacht, daß es zu einer marktglättung dadurch kommt, daß einfach nicht alles weitergeleitet wird. Könnte man die Geschwindigkeit der Ticks messen?

Denkbarer Versuchsaufbau könnte sein
- rattenschnelle VPS (z.B. Standort London)
MT4 gleicher Build bei verschiedenen Brokern mit Datenpunkt London
M1; EURUSD, ein EA der sehr häufig handelt

Hat das schon einmal jemand gemacht? Habt Ihr Ideen oder Erfahrungen dazu?

Danke Euch!
Pit

Raul0 24.07.16 11:10

Versuch es doch mal über die Anzahl der Ticks zu gehen.

Pit! 24.07.16 17:09

Zitat:

Zitat von Raul0 (Beitrag 35105)
Anzahl der Ticks

Gern. Wie könnte ich das machen?
Wird die Anzahl irgendwo protokolliert?
Pit

Raul0 24.07.16 20:57

Zitat:

Wird die Anzahl irgendwo protokolliert?

Nein, aber Du kannst Dir einen kleinen EA schreiben, der pro Tickdurchlauf einen Zähler um 1 erhöht :cool:

Wenn Du das dann noch verfeinern möchtest, kannst Du die Tickanzahl pro Minute ausgeben, z.B.: 10:00 bis 10:01 Uhr, 78 Ticks. Reset und die nächste Minute zählen, oder pro Stunde.

Aber das wäre dann schon wieder ein kleiner Auftrag.

Kronenchakra 24.07.16 21:58

TickSpeedometer
 
Hi!
Die Vermutung stimmt, unterschiedliche Broker liefern unterschiedliche Daten.
Das sieht man im Tickchart deutlich.
Viel Spass mit diesem MiniExperten.
Könnte man auch als Indikator programmieren,
OnTick() wäre dann halt OnCalculate().
Code:

//+------------------------------------------------------------------+
//|                                              TickSpeedometer.mq5 |
//|                                Copyright © 2016 Ing. Otto Pauser |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016 Ing. Otto Pauser"
#property link      ""
#property version  "1.00"
#property description "Misst die Ticks pro angegebener Zeiteinheit"

input int Sekunden = 1;  // Zeitintervall in Sekunden

int time,count;

int OnInit()
  {
  time=Sekunden;      // Sekunden kann nicht verändert werden
  if (time<1)          // kleiner check
      time=1;     
  EventSetTimer(time);
  count=0;
  return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
  EventKillTimer(); 
  }

void OnTick()
  {
  count++;
  }
 
void OnTimer()
  {  // gibt die Anzahl der Ticks aus, Comment(...) wäre auch eine Möglichkeit,
      // oder Ausgabe in eine Datei. Zusätzlich eine kleine grammatikalische Spielerei
  Print("Ticks pro ", time, " Sekunde", time>1?"n":"", ": ", count);
  count=0; 
  }

Zu deinen angehängten Charts, am rechtesten Charts sind die HF-Robots wieder unterwegs.
Das kann noch viel ärger zugehen. Wie eine Nähmaschine.

Pit! 25.07.16 10:14

Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

als Indikator wäre das sehr, sehr nützlich.
Habe ich kompiliert, aber ich verstehe nicht, wo er nun die Ticks anzeigt.
DAnke für die Hilfe!!
Pit

Kronenchakra 25.07.16 12:29

Tick-Anzahl pro Zeiteinheit
 
Hi Pit!

Die Print-Funktion gibt im 'Terminal' im Tab 'Experten' aus.
Ich hab das MiniProg auf Indikator für MT4 umgebaut:

Code:

//+------------------------------------------------------------------+
//|                                              TickSpeedometer.mq4 |
//|                                Copyright © 2016 Ing. Otto Pauser |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright  "Copyright © 2016 Ing. Otto Pauser"
#property link        ""
#property version    "1.00"
#property description "Misst die Ticks pro angegebener Zeiteinheit"
#property strict
#property indicator_chart_window

input int Sekunden = 1;  // Zeitintervall in Sekunden

int interval,count;      // Variablenname time ist nicht möglich

int OnInit()
  {
  interval=Sekunden;      // Sekunden kann nicht verändert werden
  if (interval<1)          // kleiner check
      interval=1;     
  EventSetTimer(interval);
  count=0;
  return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
  EventKillTimer(); 
  }

int OnCalculate (const int rates_total,      // size of input time series
                const int prev_calculated,  // bars handled in previous call
                const datetime& time[],    // Time
                const double& open[],      // Open
                const double& high[],      // High
                const double& low[],        // Low
                const double& close[],      // Close
                const long& tick_volume[],  // Tick Volume
                const long& volume[],      // Real Volume
                const int& spread[])        // Spread
  {
    count++;
    return(rates_total);
  }
 
void OnTimer()
  {
  Comment("Ticks pro ", interval, " Sekunde", interval>1?"n":"", ": ", count);  // gibt links oben die Meldung aus
  count=0;                // reset counter
  }

LG Otto

Pit! 25.07.16 18:21

Fluppt!

Sehr schön! Vielen, vielen Dank!
So komme ich der ganzen Sache schon einen Schritt näher.

Falls möglich, so wäre natürlich eine Ausgabe auch sehr gut im Sinne von

0 | 1 | 0 | 0 | 4 | 2 | 0 | 1 | 0 | 0

für die letzen 10 Sekunden etwa. Das ist so ein Zeitrahmen, in dem sich bereits die Spreu vom Weizen trennen dürfte, denke ich.
Diese Marktglättung durch Broker finde ich einfach unverschämt. Da langen sie beim Spread schon zu und basteln dann noch an der Durchleitung der Signale herum, Mann, Mann, Mann. ...

UForex 26.07.16 19:57

Künstliche Verzögerungen und damit einhergehende Glättungen sind kein Ding der Unmöglichkeit für einen Broker. Meist liegt die Begründung m.M.n. dafür nur zum Teil in einer Manipulation und viel öfter an technischen Hürden & Kostenfragen für den Broker, was den Marktzugang betrifft.

Ein STP/DMA-Zugang kostet wahrscheinlich einfach nur einen Bruchteil der ECN-Markt-Zugangs- & Lizenz-Gesamtkosten für den Broker.
Da die meisten Broker ein STP/DMA-Modell, oder schlimmer noch Market Maker sind, ist damit schon vollautomatisch auf jeden Fall die Glättung und Verzögerung der Kursdaten einhergehend.

Oder was denkt Ihr?

Kronenchakra 27.07.16 00:53

Tick-Anzahl pro Zeiteinheit
 
Hi Pit!

Da brauchst du doch nur den string zusammenbasteln.
Vorne abschneiden, wenn zu lang, und hinten anfügen.
Das schaffst du selber!

LG Otto


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum