Skripte: ThirdPartyTicks - Seite 6

 
fxsaber:
Erstellen einer gefilterten Analogie aus einem benutzerdefinierten Symbol zur Beschleunigung in Tester.

Es ist wirklich schnell in Tester. Die Ticks wurden 10 Mal weniger. Und die Geschwindigkeit hat sich entsprechend erhöht

 
fxsaber:

Eine weitere Quelle für Ticks.

cTrade ist gut, aber was ist mit InteractiveBrokers? Sie haben einige der günstigsten Preise für Daten. Gibt es einen solchen Anschluss?
 
Sergey Lebedev:
cTrade ist gut, aber was ist mit InteractiveBrokers? Sie haben einige der günstigsten Preise für Daten. War ein solcher Anschluss verfügbar?

Nein.

 

Guten Tag!

Ich war dabei, Skripte für Tests an einer regulären Börse (nicht Forex) umzuschreiben. Dabei bin ich darauf gestoßen, dass in der Datei ticks.mqh die Funktion StringToDouble, die zur Übersetzung des Preises verwendet wird, nicht den Fall berücksichtigt, dass der Preis überhaupt keinen Punkt hat. Ich habe es für mich selbst korrigiert. Aber vielleicht ist es für Sie interessant, dies zu wissen und es auch für sich selbst zu korrigieren.

 
traveller00:

Guten Tag.

Ich war dabei, Skripte für Tests an einer regulären Börse (nicht Forex) umzuschreiben. Dabei bin ich darauf gestoßen, dass in der Datei ticks.mqh die Funktion StringToDouble, die zur Übersetzung des Preises verwendet wird, nicht den Fall berücksichtigt, dass der Preis überhaupt keinen Punkt hat. Ich habe es für mich selbst korrigiert. Aber vielleicht ist es für Sie interessant, dies zu wissen und es auch für sich selbst zu korrigieren.

Ich war überrascht, dass Sie den Code verstanden haben. Danke für den Fehlerbericht, ich habe ihn behoben.

  return(point ? Res / TenPow[Pos - point] : Res);
 

Ja, ich habe es für mich selbst fast auf dieselbe Weise korrigiert.

Es mag für Sie nicht nützlich sein, aber da wir gerade darüber sprechen, werde ich über ein paar Besonderheiten schreiben, die ich für mich selbst geändert habe. Es geht vor allem um den Fall, dass eine recht langsame Verarbeitung aller Zeichen gestartet, auf halbem Weg angehalten und dann fortgesetzt wurde.

1. ThirdPartyTicks[i].ToCustomSymbol(Sync, ...) wird in der Funktion CreateAllSymbols aufgerufen. Dies führt dazu, dass this.FilesOffline.Refresh() bei jedem Symbol zuckt, was langsam sein kann, insbesondere wenn es Tausende von Dateien gibt und die Gesamtgröße mehrere zehn Gigabyte beträgt. Idealerweise sollte geprüft werden, dass keine neuen Dateien online sind, und dann nicht bei jedem Symbol aktualisiert werden.

2. In der Funktion ToCustomSymbol wird nicht überprüft, ob das Symbol bereits existiert. Um ehrlich zu sein, habe ich nicht überprüft, was passieren wird, ich bin nicht ins Detail gegangen. Aber für mich selbst habe ich die Prüfung so angepasst, dass sie beim Fortfahren nicht alle Dateien erneut nach alten, bereits vorhandenen Symbolen durchsucht.

P.S. Ich möchte mich bei Ihnen für den Artikel und die vielen Tools bedanken, die Sie gepostet haben, sehr nützlich.

 
traveller00:

Sind Sie sicher, dass Sie das Skript nicht aus einer Zip-Datei erhalten haben? Es handelt sich nicht um eine aktuelle Version. Aufgrund dieses Problems kommt es oft vor, dass ein Fehler behoben wird, der jedoch unbemerkt bleibt.

 
fxsaber:

Sind Sie sicher, dass Sie das Skript nicht aus einer ZIP-Datei erhalten haben?

Ich hatte diesen Fehler schon vor langer Zeit :) Dann habe ich gemerkt, dass etwas nicht stimmt und habe alle Dateien einzeln von Hand heruntergeladen. Ich wollte auch über ZIP schreiben, aber ich habe es vergessen. Es hätte also mit der neuesten Version funktionieren müssen.

 
traveller00:

1. In der Funktion CreateAllSymbols wird ThirdPartyTicks[i].ToCustomSymbol(Sync, ...) aufgerufen. Dies führt dazu, dass this.FilesOffline.Refresh() bei jedem Symbol zuckt, was langsam sein kann, insbesondere wenn es Tausende von Dateien gibt und die Gesamtgröße mehrere zehn Gigabyte beträgt. Idealerweise würde geprüft, dass nichts Neues von online gekommen ist, und dann nicht bei jedem Zeichen aktualisiert.

Vor langer Zeit bemerkte ich einmal Verzögerungen, die damit zusammenhingen, also habe ich eigens eine Abhilfe für das Problem geschaffen. Seitdem gibt es keine Verzögerungen mehr.


Jetzt habe ich 18 GB Archiv und Zips > 35 000 Stück. Alles funktioniert schnell und ohne Verzögerungen.


Vielleicht haben Sie noch nicht ganz begriffen, wie es funktioniert, und deshalb stellen Sie eine solche Hypothese auf.