|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Speed of Ticks messen: Wie?
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 |
|
|||
Versuch es doch mal über die Anzahl der Ticks zu gehen.
|
|
|||
Gern. Wie könnte ich das machen?
Wird die Anzahl irgendwo protokolliert? Pit |
|
|||
Zitat:
Nein, aber Du kannst Dir einen kleinen EA schreiben, der pro Tickdurchlauf einen Zähler um 1 erhöht 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. |
|
|||
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; } Das kann noch viel ärger zugehen. Wie eine Nähmaschine. Geändert von Kronenchakra (24.07.16 um 22:03 Uhr) Grund: Ergänzung |
|
|||
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 |
|
|||
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 } |
|
|||
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. ... |
Lesezeichen |
Stichworte |
durchleitung, kurs, metatrader kurs, metatrader ticks, mql4, programmierung, programmierung metatrader, ticks messen, tickspeed |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|