Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3527
Beiträge: 35177
Benutzer: 5.630
Aktive Benutzer: 676
Links: 80
Wir begrüßen unseren neuesten Benutzer: mulnic
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 11 Stunden
- mulnic
vor 11 Stunden
- Fuzzy Bear
vor 12 Stunden
- airex
vor 14 Stunden
- phoenix81
vor einem Tag
- focusinger

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 79
Gesamt: 82
Team: 0
Team:  
Benutzer:  André, FatSpiderman, Kronenchakra
Freunde anzeigen

Empfehlungen

Werbung

Like Tree2Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 22.07.16
Mitglied
 
Registriert seit: Jan 2016
Beiträge: 39
Pit! befindet sich auf einem aufstrebenden Ast
Standard 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
Angehängte Grafiken
Dateityp: jpg Tickspeed.jpg (114,4 KB, 15x aufgerufen)
  #2 (permalink)  
Alt 24.07.16
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 340
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Versuch es doch mal über die Anzahl der Ticks zu gehen.
  #3 (permalink)  
Alt 24.07.16
Mitglied
 
Registriert seit: Jan 2016
Beiträge: 39
Pit! befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Raul0 Beitrag anzeigen
Anzahl der Ticks
Gern. Wie könnte ich das machen?
Wird die Anzahl irgendwo protokolliert?
Pit
  #4 (permalink)  
Alt 24.07.16
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 340
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

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

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.
  #5 (permalink)  
Alt 24.07.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 197
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard 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.
UForex likes this.

Geändert von Kronenchakra (24.07.16 um 22:03 Uhr) Grund: Ergänzung
  #6 (permalink)  
Alt 25.07.16
Mitglied
 
Registriert seit: Jan 2016
Beiträge: 39
Pit! befindet sich auf einem aufstrebenden Ast
Standard

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
Angehängte Dateien
Dateityp: ex4 Tickspeedometer.ex4 (6,3 KB, 0x aufgerufen)
Dateityp: mq4 Tickspeedometer.mq4 (1,2 KB, 5x aufgerufen)
  #7 (permalink)  
Alt 25.07.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 197
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard 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
UForex likes this.
  #8 (permalink)  
Alt 25.07.16
Mitglied
 
Registriert seit: Jan 2016
Beiträge: 39
Pit! befindet sich auf einem aufstrebenden Ast
Standard

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. ...
  #9 (permalink)  
Alt 26.07.16
Benutzerbild von UForex
Mitglied
 
Registriert seit: Jan 2016
Ort: Braunschweig
Beiträge: 167
UForex befindet sich auf einem aufstrebenden Ast
Standard

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?
  #10 (permalink)  
Alt 27.07.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 197
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard 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
Thema geschlossen

Lesezeichen

Stichworte
durchleitung, kurs, metatrader kurs, metatrader ticks, mql4, programmierung, programmierung metatrader, ticks messen, tickspeed


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.



-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------