Testen von 'CopyTicks' - Seite 5

 
Karputov Vladimir:
Ich bitte also um zwei Seiten: Geben Sie ein möglichst kurzes Beispiel (ich stelle sicherheitshalber klar, dass es sich bei dem "Beispiel" um eine *.mq5-Datei mit einer Stückzahl von einem Stück handelt - also nur eine), das das Problem zeigt.
Na ja, wenigstens hast du eine ganze Hyphe bekommen... Und zuerst dachte ich, dass der Monitor stirbt...
 

Im Anhang finden Sie den Quelltext, der die beiden nachfolgenden Textdateien erzeugt. Das obige Bildschirmfoto eines Teils dieser Dateien ist ein Beispiel für den Unterschied zwischen den Flaggen und dem Volumen.

 
zimbabve15:

Im Anhang finden Sie den Quelltext, der die beiden nachfolgenden Textdateien erzeugt. Das obige Bildschirmfoto eines Teils dieser Dateien ist ein Beispiel für den Unterschied zwischen den Flaggen und dem Volumen.

Ich habe Ihnen doch gesagt, dass sie vereinfacht werden muss. Hier ist der Indikator: er zeigt die Flags von zwei MqlTick-Strukturen in einer Zeile an (eine Struktur wird über CopyTicks gefüllt, die zweite über SymbolInfoTick). Zusätzlich werden die Flaggen dieser beiden Strukturen verglichen - falls die Flagge gleich Null ist, dann Alarm.
 

das Ergebnis Ihres Indikators auf meinem Terminal.

Ich habe die Prämisse Ihrer letzten Nachricht nicht ganz verstanden. Entweder muss ich es noch einmal machen, oder Sie haben mir gezeigt, wie es hätte gemacht werden sollen und haben es selbst gemacht. Ihre und meine Methode zeigen den Unterschied in der Struktur der Zecken, die mit verschiedenen Methoden erfasst werden. Wo sind wir gelandet?

 
zimbabve15:

das Ergebnis Ihres Indikators auf meinem Terminal.

Ich habe die Prämisse Ihrer letzten Nachricht nicht ganz verstanden. Entweder muss ich es noch einmal machen, oder Sie haben mir gezeigt, wie es hätte gemacht werden sollen und haben es selbst gemacht. Ihre und meine Methode zeigen den Unterschied in der Struktur der Zecken, die mit verschiedenen Methoden erfasst werden. Wo sind wir gelandet?

Auf welchem Handelsserver und mit welchem Instrument testen Sie? Flaggen mit "0" werden eindeutig empfangen - dies ist ein Fehler des Handelsservers.
 

Nehmen wir an, es gibt eine Störung des Handelsservers mit den Flaggen. Wie sieht es mit den Mengen aus? Ein paar Beiträge weiter oben habe ich einen Screenshot und zwei Textdateien geschickt, aus denen klar hervorgeht, dass die Flaggen nicht nur Null sein können, sondern dass sie bei denselben Ticks, die mit verschiedenen Methoden ermittelt wurden, unterschiedlich sind und unterschiedliche Volumina aufweisen - das sind zwei. Wenn bei der Übertragung vom Server ein Fehler auftrat undSymbolInfoTick falsche Informationen erhält, auf welcher Grundlage erhält dann die Funktion CopyTicks Ticks mit einem anderen Volumen? Und was soll man glauben?

 
Zwei angehängte Dateien - die gleiche Art und Weise gesammelt Ticks, aber auf Euro-Dollar-Paar bei FiboGroup Broker. Sehen Sie, es gibt zwar keine Nullen, aber ein Durcheinander mit Flaggen
 

Nachfolgend finden Sie einen Screenshot und Dateien der Tick-Historie des MetaQuotes-Demo-Servers. Die Flaggen der gleichen Ticks, die mit verschiedenen Methoden empfangen werden, sind unterschiedlich.

Dies hat zur Folge, dass ein und derselbe Tick, der über CopyTicks undSymbolInfoTick empfangen wird, auf zwei verschiedenen Forex-Handelsservern verschiedener Unternehmen unterschiedliche Flags hat und auf dem Börsenhandelsserver damit auch unterschiedliche Volumina übertragen werden.

 
zimbabve15:

Nachfolgend finden Sie einen Screenshot und Dateien der Tick-Historie des MetaQuotes-Demo-Servers. Die Flaggen derselben Zecken, die auf unterschiedliche Weise empfangen werden, sind unterschiedlich.

Dies hat zur Folge, dass ein und derselbe Tick, der über CopyTicks undSymbolInfoTick empfangen wird, auf zwei verschiedenen Forex-Handelsservern verschiedener Unternehmen unterschiedliche Flags hat und auf dem Börsenhandelsserver damit auch unterschiedliche Volumina übertragen werden.

Auf MetaQuotes-Demo sind sie anders - denn auch hier soll das Beispiel so einfach wie möglich sein. Meine Flaggen sind heute die gleichen wie bei MetaQuotes-Demo.
 

Versuchen Sie, die Tiefe der Tick-Anfrage in Ihrem Indikator auf zwei einzustellen, und sehen Sie die folgenden Werte im Debugger:

Das Element mit dem Index 0 des Arrays tick_array zeigt den Verlauf, d.h. den zweiten angeforderten Tick. Und wenn Sie beobachten, wie sich die Werte bei jeder Iteration ändern - drei von ihnen ändern sich synchron und zeigen den aktuellen Wert der Flagge an, und der gleiche Wert sollte beim nächsten Schritt des Laufs in tick_array[0] angezeigt werden. So wie es sein sollte, passiert es nicht. Oder funktioniert die Funktion CopyTicks korrekt, wenn die Tiefe der Historie nicht mehr als 1 Tick beträgt?