Fragen von einem "Dummy" - Seite 110

 
openlive:
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.

  int handle16=FileOpen("signal10000.csv",FILE_WRITE|FILE_CSV,";");
  int handle17=FileOpen("signal10000.dat",FILE_WRITE|FILE_BIN,";"); 

#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

Dateien:
 

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);
}

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
openlive:

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

Wenn Sie morgen keine Antwort erhalten, wenden Sie sich mit einem Dateianhang an das Service Desk. Sie sollten in der Lage sein, Ihnen das zu sagen.
 
kandallov:

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.

 
openlive:

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).

 
openlive:

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

#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"
//#property tester_file "signal10000.csv"
//#property tester_file "signal10000.csv"

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:

2012.02.26 16:31:09     Core 1  connection closed
2012.02.26 16:31:09     Core 1  log file "C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log" written
2012.02.26 16:31:09     Core 1  EURUSD,H1: 1105951 ticks (4663 bars) generated within 3796 ms (total bars in history 10867, total time 3844 ms)
2012.02.26 16:31:09     Core 1  OnTester result 0

Der Ordner des Testagenten befindet sich also hier - C:\Programme\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log.

 
MetaDriver:

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.

Was ist der "Mathe-Modus"?
 
Rosh:

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]

Grund der Beschwerde: