Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Nach den Abfragen des Tick-Indikators zu urteilen, sind die Daten im Feld time_msk ein Vielfaches von 1000. d.h. es geht nicht um Millisekunden, die Auflösung beträgt 1 Sekunde.
Frage: Warum wurde die Struktur von MqlTick dann erweitert?
Ist es bei Ihnen nicht so?
Ich habe ein Demo-Konto bei Openbroker und ein echtes Konto am selben Ort. Auf der realen alle Access-Server gibt das gleiche Ergebnis. auch auf der Demo das gleiche. Ich habe mir Si-6.16, RTS-6.16 und SBRF-6.16 angesehen. Alle Änderungen sind Vielfache von 1000.
Ist das nicht so?
Im Moment gibt die SymbolInfoTick-Abfrage Nullen in der MqlTick-Struktur anstelle von echten Millisekunden zurück (ein Vielfaches von 1000)
Bitte warten Sie auf den nächsten Build.
PS auf Anfrage CopyTicks Millisekunden werden unverändert angegeben
Ich habe diesen Indikator aus diesem Thread heruntergeladen, um ihn zu testen. Die letzten 30 Ticks werden genau über CopyTicks abgerufen. Vielleicht sollte ich es aber auch auf einem anderen Server (nicht openbroker) versuchen.
>>"Nullen werden anstelle von echten Millisekunden angegeben".
Es werden keine Nullen angegeben, sondern immer die gleichen Zahlen mit einem Vielfachen von 1000. (...2064, ...2064, ...3064, ..., ..., ..4064 )
Ich habe diesen Indikator aus diesem Thread heruntergeladen, um ihn zu testen. Die letzten 30 Ticks werden genau über CopyTicks abgerufen. Vielleicht sollte ich es aber auch auf einem anderen Server (nicht openbroker) versuchen.
>>"Nullen werden anstelle von echten Millisekunden angegeben".
Es werden keine Nullen angegeben, sondern immer die gleichen Zahlen mit einem Vielfachen von 1000. (...2064, ...2064, ...3064, ..., ..., ..4064 )
Nullen werden von der Funktion SymbolInfoTick übergeben.
Bei CopyTicks werden echte Millisekunden angegeben. Wenn diese 2064, 3064, 4064 sind, bedeutet das, dass es so war. Warum das so war, weiß ich nicht.
Ich habe mir Ihren Code angesehen. Was ist der %-4d-Ausgabespezifizierer? time_msc ist lang, also funktioniert nur d nicht. Es sollte %I64d sein.
Die Nullen werden von der Funktion SymbolInfoTick vorgegeben.
Bei CopyTicks werden echte Millisekunden angegeben. Wenn es 2064, 3064, 4064 ist, dann war es das. Warum das so war, weiß ich nicht.
Ich habe mir Ihren Code angesehen. Was ist der %-4d-Ausgabespezifizierer? time_msc ist lang, also funktioniert nur d nicht. Es sollte %I64d sein.
Ja, Entschuldigung. Der Code ist nicht von mir. Der Autor des Codes hat wirklich einen Ausrutscher in StringFormat. Ich habe in jeder Iteration der Schleife durch Print (tick.time_msc) gedruckt. Das Ergebnis sind lauter Nullen am Ende und wir erhalten immer noch keine Millisekunden. DieCopyTicks-Anfrage bleibt bestehen.
Die Nullen werden von der Funktion SymbolInfoTick vorgegeben.
In CopyTicks werden echte Millisekunden angegeben. Wenn es 2064, 3064, 4064 ist, bedeutet das, dass es so war. Warum das so war, weiß ich nicht.
Ich habe mir Ihren Code angesehen. Was ist der Output-Spezifizierer %-4d? time_msc - er ist lang, deshalb funktioniert nur d nicht. Es sollte %I64d sein.
Geänderter Indikator aus dem ersten Beitrag - spielen Sie nicht mit StringFormat, es sollte jetzt so sein:
Ja, Entschuldigung. Der Code ist nicht von mir. Der Autor hat wirklich einen Fehler in StringFormat. Drucken (tick.time_msc) in jeder Iteration der Schleife. Das Ergebnis sind lauter Nullen am Ende und wir erhalten immer noch keine Millisekunden. Die AnfrageCopyTicks geht ständig.
Hier ist Ihr Indikator auf MetaQuotes Demo-Daten
Fragen Sie Ihren Broker nach fehlenden Millisekunden in Ticks
Hier ist Ihr Indikator auf MetaQuotes Demo-Daten
Fragen Sie Ihren Broker nach den fehlenden Millisekunden in Ticks
ps mein Client Build 1340
juriy5555 :
Пока не знаю, что и у кому конкретно писать, я в этом несколько месяцев. Буду надеяться, что ОпенБрокер всё таки обновит сервер.
ps мой билд клиента 1340
Ich habe auch eine Frage, wenn auch einen etwas anderen Plan, und ich frage mich auch, ob die von den Zecken übermittelten Informationen korrekt sind.
Eine Frage zu realen Mengen.
Wenn Sie Informationen über Ticks vom Indikator anfordern, wird das tatsächliche Volumen dort in das Array volume[] eingefügt. Und wenn Sie Informationen von Ticks erhalten, sollte das pro Kerze akkumulierte Volumen theoretisch mit dem Wert aus dem Array volume[] übereinstimmen.
Hier ist ein Beispiel für Testcode:
Lassen Sie uns vorerst nicht an den Flags hängen und nehmen Sie an, dass jeder empfangene Tick das Gesamtvolumen von sVol ändert (obwohl dies meines Wissens nicht der Fall ist).
Wir warten auf die Bildung einer neuen Kerze und schauen uns die Einträge im Tagebuch an. Broker Opening, Echtgeldkonto, Build 1340, RTS-6.16:
Und so weiter, das tatsächliche Volumen des Indikators wird viel größer sein als das akkumulierte. Dies wirft einige Fragen für Entwickler auf:
1. Sollte das aus dem Array volume[] der OnCalculate()-Funktion erhaltene Volumen das gleiche sein wie das akkumulierte Volumen, das aus Ticks erhalten wird? Meine Meinung sollte natürlich sein, warum sonst in Ticks angeben?
2. Ist es richtig, die Funktion OnCalculate() zu verwenden, um das Volumen zu akkumulieren, oder ist es besser, das Volumen über OnBookEvent() zu erhalten? Die Hilfe sagt:
Das Calculate - Ereignis wird nur für Indikatoren unmittelbar nach dem Senden des Init-Ereignisses und bei jeder Änderung der Preisdaten generiert. Wird von der OnCalculate-Funktion verarbeitet.
Theoretisch ist es also richtig, aber ich würde gerne einen Kommentar dazu hören.
3. Testergebnisse werden OHNE Flag-Analyse angezeigt. Wenn wir die Flags analysieren, müssen Sie, soweit ich weiß, Volumen von Ticks mit Flags 24 nehmen (gleichzeitige Änderung des letzten und des Volumens):
In diesem Fall ist das angesammelte Volumen jedoch noch geringer. Ich würde gerne die Kommentare der Entwickler hören, wie man Ticks jetzt richtig analysiert (da alle Felder aufgezeichnet werden) und ob die Flags korrekt implementiert sind? Die Frage nach der Korrektheit der Implementierung kam auf, weil mir Häkchen mit Flags nicht aufgefallen sind:
Die Indikatordatei befindet sich ebenfalls in der Anwendung.