Hallo, können Sie in Bar M5 M15 H1 H4 entsprechen
Hallo,
Zeit Symbol OPEM CLOSE PH PB
2013.01.04 04:55 EURGBP 0.81065 0.81078 0.81086 0.81065 172
2013.01.04 05:00 EURGBP 0.81079 0.81046 0.81080 0.81044 90
2013.01.04 05:05 EURGBP 0.81047 0.81044 0.81056 0.81044 89
2013.01.04 05:10 EURGBP 0.81043 0.81059 0.81059 0.81033 111
2013.01.04 05:15 EURGBP 0.81057 0.81052 0.81059 0.81048 78
2013.01.04 05:20 EURGBP 0.81051 0.81065 0.81071 0.81050 124
2013.01.04 05:25 EURGBP 0.81067 0.81066 0.81070 0.81060 243
2013.01.04 05:30 EURGBP 0.81067 0.81076 0.81080 0.81063 108
Hallo,
Zeit Symbol OPEM CLOSE PH PB
2013.01.04 04:55 EURGBP 0.81065 0.81078 0.81086 0.81065 172
2013.01.04 05:00 EURGBP 0.81079 0.81046 0.81080 0.81044 90
Der beste Weg, um periodische Daten (nach mir) zu erhalten ist, MT4 Geschichte zu verwenden, u können herunterladen und exportieren (zu Excel) die historischen Daten. aber wenn u wollen ein reedit dieses Codes für periodische Daten, ich denke, dies wird für u arbeiten:
//+------------------------------------------------------------------+ //|PeriodicRealTimeDataStream.mq5 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" datetime t1; double arro[1],arrh[1],arrl[1],arrc[1]; string T,O,H,L,C; long arrv[1],V; //+------------------------------------------------------------------+ void OnTick() { t1 = (datetime)SeriesInfoInteger(_Symbol,_Period,SERIES_LASTBAR_DATE); static datetime t0 = t1; //--- Werte für das angegebene Diagramm erhalten if (t0!=t1) { //--- Werte in Arrays kopieren CopyOpen(_Symbol,_Period,0,1,arro); CopyHigh(_Symbol,_Period,0,1,arrh); CopyLow(_Symbol,_Period,0,1,arrl); CopyClose(_Symbol,_Period,0,1,arrc); CopyTickVolume(_Symbol,_Period,0,1,arrv); //-- T=TimeToString(t1,TIME_DATE|TIME_MINUTES); O=DoubleToString(arro[0],_Digits); H=DoubleToString(arrh[0],_Digits); L=DoubleToString(arrl[0],_Digits); C=DoubleToString(arrc[0],_Digits); V=arrv[0]; //--- Ausgabe der Werte printf("%s %s %s %s %s %s %d",T,_Symbol,O,H,L,C,V); //--- die Uhrzeit neu einstellen t0=t1; } //--- } //+------------------------------------------------------------------+
Wenn Sie den csv-Export wünschen, können Sie die Dateifunktionen und Variablen wie im Hauptcode verwenden
Was ist mit den Ticks, die Sie vermissen? fügen Sie etwas in die TXT-Datei für sie? wenn Sie nicht, dann sind Sie nicht ". .. speichert alle Tick-by-Tick-Daten von Ask-und Bid-Preise zu einer txt-Datei."
Sie haben Recht, dass es aufgrund der Art und Weise, wie NewTick-Ereignisse behandelt werden, zu fehlenden Kursen kommen kann, aber der Code ist schnell genug, um diese Möglichkeit sehr gering (fast Null) zu halten. Wenn fehlende Ticks häufiger auftreten, als ich dachte (was die Aussagekraft der Analyse beeinträchtigen kann), dann ist Ontick() fehlerhaft, nicht mein Code.
und zu dem Satz "... speichert alle Tick-by-Tick-Daten von Ask- und Bid-Kursen in einer txt-Datei.", hatte ich das schon vor langer Zeit bemerkt und geändert :) es gibt kein "all" mehr, aber im Forum ist es gleich geblieben - tut mir leid, dass ich keine Möglichkeit habe, es zu ändern, ich würde gerne die Kommentare neu bearbeiten, aber das ist bei diesem Satz unmöglich :(
Sie haben Recht, dass es aufgrund der Art und Weise der NewTick-Ereignisbehandlung zu fehlenden Kursen kommen kann, aber der Code ist schnell genug, um diese Möglichkeit sehr klein (fast Null) zu machen. Wenn fehlende Ticks häufiger auftreten, als ich dachte (was die Aussagekraft der Analyse beeinträchtigen kann), dann ist Ontick() fehlerhaft, nicht mein Code.
und zu dem Satz "... speichert alle Tick-by-Tick Daten von Ask- und Bid-Kursen in einer txt-Datei.", ich hatte das schon vor langer Zeit bemerkt und geändert :) es gibt kein "all" mehr, aber im Forum ist es gleich geblieben - tut mir leid, dass ich keine Möglichkeit habe, das zu ändern, ich würde gerne die Kommentare neu editieren, aber das ist bei diesem Satz unmöglich :(
Es ist kein Bug, es funktioniert einfach so ... wenn OnTick() läuft, wenn ein neuer Tick eintrifft, wird der neue Tick ignoriert ...
NewTick
Das NewTick-Ereignis wird generiert, wenn es neue Kurse gibt, es wird von OnTick() der angeschlossenen Expert Advisors verarbeitet. Falls die OnTick-Funktion für den vorherigen Kurs verarbeitet wird, wenn ein neuer Kurs empfangen wird, wird der neue Kurs von einem Expert Advisor ignoriert, da das entsprechende Ereignis nicht in die Warteschlange gestellt wird.
Alle neuen Kurse, die empfangen werden, während das Programm läuft, werden ignoriert, bis die Funktion OnTick() abgeschlossen ist. Danach wird die Funktion nur noch ausgeführt, wenn ein neuer Kurs empfangen wird.
. haben Sie getestet, wie viele Ticks Sie normalerweise verpassen?
Es ist kein Fehler, es ist nur, wie es funktioniert ... wenn OnTick() läuft, wenn ein neuer Tick eintrifft, wird der neue Tick ignoriert ...
Ich bin verwirrt, also denkst du, dass es die Art und Weise ist, wie ein neuer Tick gehandhabt wird und ich auch:)
erdogenes:
Du hast recht, es besteht die Möglichkeit, dass aufgrund der Art der NewTick-Ereignisbehandlung Anführungszeichen fehlen.
RaptorUK:
. . haben Sie getestet, um zu sehen, wie viele Ticks Sie normalerweise verpassen?
Ich weiß nicht, über fehlende Ticks, ich erhalte, was Programm erhält, wie kann ich es berechnen? oder kann es irgendwie berechnet werden?, Ich kann nicht wissen, wie viele Ticks, die Ontick verpassen in einem Tag (ich bin nicht die Entwicklung mql5). Ich kann nicht für MetaQuotes sprechen. Ich habe keinen direkten Zugang zu einem Handelsserver, um die Feeds zu vergleichen. Ich kann es nicht für ein Programm berechnen, es wird sich nicht ändern, wenn das Programm mir gehört, ich kann nur statistisch sprechen.
Für Sie habe ich ein Beispiel mit HF-Datenverarbeitung bearbeitet. Ich erhalte die Rate der Tick-Ankünfte in der gleichen Millisekunde mit den Interbankenkursen 27.01.2011- Programm für die Berechnung ist Gretl, Codes, die Sie verwenden können und Daten werden per PM gesendet (ich kann nicht teilen, dass Daten öffentlich sorry). das Ergebnis ist ~0,003 (es ist die Rate der Ankünfte in der gleichen Millisekunde und es war ein aktiver Tag).
Nehmen wir an, dass die Daten im MT5 verarbeitet werden und (absurderweise) dass alle (~0,003) fehlen. Verliert ein Signal, das zufällig mit einer Rate von ~0,003 resapmled wurde, an Signifikanz? Meine Antwort ist nein. Wir verwenden Resampling mit höheren Raten bereits in der Analyse.
Natürlich war das nur hypothetisch und nicht von einem Broker, aber ich hoffe, Sie verstehen meinen Standpunkt. Und noch einmal: Ich habe nicht die Möglichkeit, die tatsächliche Anzahl der fehlenden Ticks zu ermitteln.
Und noch etwas: Wenn es die "no queue"-Politik des NewTick-Event-Handlers ist, die die fehlenden Ticks verursacht (und das ist sie), dann denke ich, dass die Anzahl der fehlenden Ticks auch von der Geschwindigkeit Ihrer Hardware abhängen kann. Dann kann es nicht als ein Standartwert berechnet werden.
(Ich habe den Kommentar neu editiert: Ich habe den Code, den ich dir geschickt habe, korrigiert, er war fehlerhaft, das wirkliche Ergebnis ist ~0.003 der Code liegt bei)
Ich bin verwirrt, so dass Sie denken, es ist die Art und Weise der newtick Handhabung und ich auch:)
Vielleicht haben Sie missverstanden: wenn fehlende Ticks eine signifikante Auswirkung auf die Analyse hat, dann ist ontick fehlerhaft, nicht normal (weil es der "new tick"-Ereignishandler ist, wenn es nicht genug verarbeiten kann, ist es fehlerhaft), aber ich denke nicht, dass es nicht verarbeiten kann, ich denke nicht, dass es fehlerhaft ist.
Ich weiß nicht, über fehlende Ticks, ich erhalte, was Programm erhält, wie kann ich es berechnen? oder kann es irgendwie berechnet werden?, ich kann nicht wissen, wie viele Ticks, die Ontick in einem Tag verpassen (ich bin nicht mql5 Entwicklung).
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ask Bid Ticks:
Ask Bid Ticks ist eine hochpräzise Lösung für Echtzeit-Tickdaten zur Analyse von Mikrostrukturen (ein Tickdatensammler). Sie arbeitet mit der lokalen Computerzeit.
Autor: Erdem Sen