Fragen von einem "Dummy" - Seite 203

 

Vielen Dank für die Antworten! Der Beginn des Testzeitraums wurde mit einer Marge verschoben und eine Prüfung für das Kopieren von Daten in das Array im Expert Advisor hinzugefügt. Wenn nicht genügend Daten vorhanden sind, funktioniert der Expert Advisor einfach nicht.

double h[1000],l[1000];

if(CopyHigh("EURUSD",PERIOD_D1,1,1000,h)<1000 || CopyLow("EURUSD",PERIOD_D1,1,1000,l)<1000) return;

Obwohl, ehrlich gesagt, diese Art der Problemlösung ziemlich unerwartet ist - das Diagramm im Terminal scheint Balken zu haben (alles wurde bereits vom Handelsserver mit einem riesigen Bestand heruntergeladen), aber der Tester hat keinen Zugang zu ihnen.

Es wäre sinnvoll, diesen Fall direkt als Beispiel in die Dokumentation zu schreiben, und zwar unter der Überschrift "Umgehung der Beschränkungen des Testers zu Beginn der Testphase".

 
solandr: Obwohl, ehrlich gesagt, diese Art der Problemlösung ziemlich unerwartet ist - das Diagramm im Client-Terminal scheint Balken zu haben (alles wurde bereits vom Handelsserver mit einem riesigen Bestand heruntergeladen), aber der Tester hat keinen Zugriff auf sie.

Werfen Sie einen Blick in den Abschnitt über Prüfungen im Handbuch. Meiner Meinung nach gibt es die Idee, dass das Terminal als Server und der Tester als Terminal in der Kombination "Terminal - Tester" agiert. Das heißt, wenn das Terminal über die gesamte verfügbare Historie verfügt, reicht sie nicht für die gleiche Menge an Historie im Tester aus. Der Tester lädt die Historie auf der Grundlage der Testeinstellungen selbständig herunter, und es kann vorkommen, dass der Umfang dieser Historie für die Logik des zu testenden Programms nicht ausreicht.

Ich habe selbst noch nicht mit dem Laden der Historie zum Testen großer Zeiträume gearbeitet, aber anstatt das Testintervall zu erhöhen, sollten Sie versuchen, das sogenannte "Skript zum Laden der Historie" in den Code einzufügen. Im Prinzip sollte dieses Skript die nötige Tiefe der Geschichte für Tests bieten (zumal Sie die Logik seiner Arbeit bereits reproduziert haben).

 
Yedelkin:

Ich habe selbst noch nicht mit dem Herunterladen der Historie zum Testen großer Zeiträume gearbeitet, aber anstatt das Testintervall zu erhöhen, sollten Sie versuchen, das sogenannte "Skript zum Herunterladen der Historie" in den Code einzufügen. Von der Idee her sollte dieses Skript die nötige Tiefe der Geschichte für Tests bieten (zumal Sie die Logik seiner Arbeit bereits reproduziert haben).

Es wird nicht funktionieren
 
stringo: Es wird nicht funktionieren.
Ich verstehe. So hatte ich das Glück, ein ähnliches Skript zu verwenden, um die Historie für mehrere Instrumente auf M1 herunterzuladen (die Tiefe der Anfrage überstieg nicht zwei oder drei Wochen). Die Geschichte war da, aber aufgrund dessen, wie sie genau aussah, habe ich nicht darüber nachgedacht.
 
stringo:
Das wird nicht funktionieren.
Es hat wirklich nicht funktioniert. Der Tester lädt die Historie fest nach seinen eigenen Regeln herunter, und das Skript zum Herunterladen der Historie, das in den Expert Advisor integriert ist, kann nichts Zusätzliches herunterladen.
 
solandr: Es hat wirklich nicht funktioniert. Der Tester lädt die Historie fest nach seinen eigenen Regeln herunter, und das Skript zum Herunterladen der Historie, das in den Expert Advisor integriert ist, kann nichts Zusätzliches herunterladen.
Dann ist dieser Punkt unklar: Was soll ich tun, wenn ich nur den letzten Monat testen möchte, das Programm aber für die Analyse die Daten von vor 3 Jahren D1... benötigt?
 
Yedelkin:
Dann ist dieser Punkt unklar: Was ist, wenn Sie nur den letzten Monat testen wollen, das Programm aber 3 Jahre D1-Daten für die Analyse benötigt?
Wenn Sie das erste Mal auf den Verlauf zugreifen, beginnt der Tester mit dem Herunterladen (wie hier)
 

Dieser Fall wurde schon vor langer Zeit identifiziert. Auf der D1 ist die Geschichte mit +1 Jahr verbunden.

Daher, wenn Sie den Beginn des Tests 01.01.2012 angeben, dann der Expert Advisor begann sofort den Handel der durchschnittliche Zeitraum sollte weniger als 260 sein.

Das heißt, sie wird zu Beginn des Testzeitraums mit den Daten des Jahres 2011 berechnet.

Wenn wir z.B. einen 520-Tage-Durchschnitt benötigen, dann können wir versuchen, den Beginn des Testzeitraums 01.01.2011 anzugeben.

In diesem Fall beginnen die Daten mit dem Jahr 2010 und der 520-Tage-Durchschnitt wird Anfang 2012 verfügbar sein.

Der Expert Advisor sollte nicht ohne diese Daten handeln.

 
notused: Wenn Sie das erste Mal auf den Verlauf zugreifen, setzt das Prüfgerät den Download fort (glaube ich).
Das Skript zum Herunterladen der Historie tut jedoch dasselbe, nämlich auf die Historie zugreifen (und wenn es fehlschlägt, mehr als einmal darauf zugreifen).
 
Karlson: Wenn wir einen 520-Tage-Durchschnitt wünschen, könnten wir versuchen, den Beginn des Tests auf den 01.01.2011 festzulegen.

In diesem Fall werden die Daten aus dem Jahr 2010 stammen und Anfang 2012 wird ein 520-Tage-Durchschnitt verfügbar sein.

Ist also mein erster Vorschlag, das Testintervall zu verlängern, die einzig mögliche Lösung? :/