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
2012.02.26 10:57:51 Testerqualität der analysierten Historie ist 100%
2012.02.26 10:57:51 Core 1 EURUSD,H1: Test von experts\pattern10000.ex5 von 2009.12.01 00:00 bis 2012.02.10 00:00 gestartet
......
In den Protokollen scheint alles in Ordnung zu sein, aber versuchen Sie, im Expert Advisor nach einem Fehler zu suchen.
Bei einer flüchtigen Inspektion des Codes habe ich zum Beispiel festgestellt, dass das Programm 3 Dateien verwendet, aber nur eine in den Eigenschaften aufgeführt ist.
#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"
den Code geändert - jetzt können Sie den Fehler sehen
2012.02.26 11:24:56 Kern 1 2009.12.01 00:00:00 Fehler = 5004
Fehler beim Öffnen der Datei - obwohl sich die Datei in C:\ProgramData\MetaQuotes\Terminal\Common\Files befindet und die #Eigenschaft tester_file "primer_massivstarihpatternovdlyaraboty.csv" und das FILE_COMMON-Flag aktiviert ist
Hallo! Ich schreibeeinen einfachenMulticurrency-Indikator, um 2 Instrumente (Währungspaare) auf demselben Diagramm anzuzeigen. Welche Funktion soll ich verwenden, um die Daten für die Zeichnung eines bestimmten Symbols auszuwählen und zu verarbeiten? Wenn Sie ein kleines Beispiel haben, wären wir Ihnen sehr dankbar.
Der nackte Algorithmus meines aktuellen Diagramms sieht nun folgendermaßen aus
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[])
{
int i=0;
bool vol=true;
if(i<vorher_berechnet) i=vorher_berechnet-1;
while(i<rates_total && !IsStopped())
{
ExtCloseBuffer[i]=close[i];
if(i>0)
{
if(close[i]>close[i-1]) vol=true;
if(close[i]<close[i-1]) vol=false;
}
i++;
}
return(rates_total);
}
den Code geändert - jetzt können Sie den Fehler sehen
2012.02.26 11:24:56 Kern 1 2009.12.01 00:00:00 Fehler = 5004
Fehler beim Öffnen der Datei - obwohl sich die Datei in C:\ProgramData\MetaQuotes\Terminal\Common\Files befindet und die #Eigenschaft tester_file "primer_massivstarihpatternovdlyaraboty.csv" und das FILE_COMMON-Flag aktiviert ist
Hallo! Ich schreibeeinen einfachenMulticurrency-Indikator, um 2 Instrumente (Währungspaare) auf demselben Diagramm anzuzeigen. Welche Funktion soll ich verwenden, um die Daten für ein bestimmtes Instrument auszuwählen und zu verarbeiten? Wenn Sie ein kleines Beispiel haben, wären wir Ihnen sehr dankbar.
Mein Algorithmus für die Anzeige des aktuellen Diagramms sieht nun wie folgt aus:
...Sie können die Daten über die Struktur MqlRates oder separat für jede Zeitreihe in MQL5 Reference / Access to Time Series and Indicators empfangen
Es ist besser, MqlRates zu verwenden, weil es Daten über die Balkenzeit speichert (das ist wichtig, weil die Balken für verschiedene Instrumente nicht synchronisiert sind), aber es ist wirtschaftlicher, Zeitreihen zu verwenden.
Aber das Hauptproblem von Expert Advisors mit mehreren Währungen sind die Unterschiede in der Synchronisation - nicht jeder Balken des angeforderten Index in einem Symbol entspricht demselben Index in einem anderen Symbol. Und je weiter man in den Wald vordringt, desto dichter werden die Partisanen, desto mehr verschieben sich die Indizes.
Auch hier müssen wir das Problem der unterschiedlichen Länge der Arrays lösen (da die Datenmenge bei den verschiedenen Tools unterschiedlich ist).
Und das dritte Problem ist, dass nicht jeder Balken des Chart-Indikators angezeigt werden kann (z. B. gibt es keinen Balken für ein natives Symbol, aber für andere, wo soll man ihn hinstellen?)
Das sind die Probleme, mit denen wir konfrontiert sind.
Ich habe es mir angesehen und die Datei in Mql5\Tester\Files abgelegt.
aber das Prüfgerät steht einfach still.
Die Eigenschaft #property tester_file soll verhindern, dass irgendwo von Hand etwas eingetragen wird.
tester_datei
String
Dateiname für das Prüfgerät mit Angabe der Erweiterung, eingeschlossen in doppelten Anführungszeichen (als konstante Zeichenfolge). Die angegebene Datei wird an den Prüfer zur Bearbeitung weitergeleitet. Eingabedateien für Tests, falls erforderlich, sollten immer angegeben werden
Wenn eine Datei datafile .csv für den Programmbetrieb benötigt wird und diese sich im terminal_directory\MQL5\Files befindet, wird die Datei automatisch vom Tester in dasVerzeichnis testing_agent\MQL5\Files verschoben (die #property tester_file datafile.csv muss zu diesem Zweck angegeben werden).
den Code geändert - jetzt ist der Fehler sichtbar
2012.02.26 11:24:56 Kern 1 2009.12.01 00:00:00 Fehler = 5004
Fehler beim Öffnen der Datei - obwohl sich die Datei in C:\ProgramData\MetaQuotes\Terminal\Common\Files befindet und die #Eigenschaft tester_file "primer_massivstarihpatternovdlyaraboty.csv" und das FILE_COMMON-Flag aktiviert ist
Der Fehler ist sichtbar, aber es ist nicht klar, auf welche Datei
Warum werden in den Eigenschaften andere Dateien auskommentiert? Und nebenbei bemerkt gibt es einen Fehler: die gleiche Erweiterung, obwohl der Text einer von ihnen "signal10000.dat" ist.
Ich habe Ihre Dateien nicht, also überprüfen Sie sie selbst.
Wie finden wir nun diesen unglücklichen Ordner, the_agent_testing_directory\MQL5\Files? Seit Windows Vista sind das Sicherheitssystem und die Sicherheitsrichtlinien sehr viel komplexer geworden und können jeden verwirren. Der einfachste Weg, diesen Ordner zu finden, ist, den Tester zu fragen, er weiß genau, wo sich die Testagenten befinden. Im Testerprotokoll wird am Ende eines Tests immer der Pfad zu den Protokollen des Testers angegeben, zum Beispiel:
Der Ordner des Testagenten befindet sich also hier - C:\Programme\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log.
Man kann es nicht frontal machen. Das geht nicht. MetaQuotes Software Corp. ist dagegen. // Ich halte das für falsch, aber vielleicht wissen sie es besser.
Es gibt eine ziemlich zeitaufwändige Option - die Verwendung des mathematischen Modus. Wenn es nicht zu viel Mühe macht, probieren Sie es aus.
Wie finden wir nun diesen unglücklichen Ordner, the_agent_testing_directory\MQL5\Files? Seit Windows Vista sind das Sicherheitssystem und die Sicherheitsrichtlinien sehr viel komplexer geworden und können jeden verwirren. Der einfachste Weg, diesen Ordner zu finden, ist, den Tester zu fragen, er weiß genau, wo sich die Testagenten befinden. Der Pfad zu den Testerprotokollen wird z. B. immer am Ende des Tests in das Testerprotokoll geschrieben:
Der Ordner des Testagenten befindet sich also hier: C:\Programme\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log.
gibt jetzt aus
2012.02.26 15:47:46 Testerdatei C:\Users\openlive\AppData\Roaming\MetaQuotes\Terminal\9C3619DDD286B60B1DB9B989A2FFC701\MQL5\Files\signal10000.csv open error [32]