Fragen von einem "Dummy" - Seite 188

 
Karlson:
Ich habe es noch nicht ausprobiert, aber ich verstehe die Idee, alles in einer Datei zusammenzufassen. Vielleicht können die Entwickler eine Option aufzeigen, wieman unveränderte Daten aus einem Ordner verbinden kann.
Und mit diesem Vorschlag kommen Sie direkt zur CD: Verbinden Sie unveränderliche Daten aus einem Ordner.
 

Guten Tag!

Hier ist eine Funktion, die ich geschrieben habe. Sie berechnet das Verhältnis zwischen dem aktuellen Wechselkurs und dem Kurs zu Beginn des Jahres 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Er funktioniert korrekt, wenn ich einen Test für 2011 oder frühere Zeiträume durchführe, gibt aber 0 zurück, wenn ich für 2012 teste :(

Bitte teilen Sie mir mit, was das Problem sein könnte.

Expert Advisor läuft auf 10 Minuten, ich benutze Server und Konto von Championship 2012 für den Test.

 
MegaVoin:

Guten Tag!

Hier ist eine Funktion, die ich geschrieben habe. Sie berechnet das Verhältnis zwischen dem aktuellen Wechselkurs und dem Kurs zu Beginn des Jahres 2010.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Er funktioniert korrekt, wenn ich einen Test für 2011 oder frühere Zeiträume durchführe, gibt aber 0 zurück, wenn ich für 2012 teste :(

Bitte teilen Sie mir mit, was das Problem sein könnte.

Expert Advisor läuft auf 10 Minuten, ich benutze Server und Konto von Championship 2012 für den Test.

Erstellen Sie einen Ausdruck des Fehlers - wir werden sehen.
 
Yedelkin:
Ja, ich weiß nicht, wie die Logik des Programms ist, aber die Zeitspanne von 10 Minuten wird ein wenig anders angegeben.

Alles andere funktioniert mit 10 Minuten, wie zum Beispiel das hier:

CopyHigh(_Symbol, _Period, 0, 2, MaxVal ) 

Nur diese Funktion versucht, Daten aus dem Monat zu übernehmen.

Und wie kann man den Fehler ausdrucken? Ich habe verstanden, dass CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) -1 anstelle von 1 zurückgibt.

 
MegaVoin:

Und wie kann man einen Fehler ausdrucken? Ich verstehe, dass CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) -1 anstelle von 1 zurückgibt. Aber warum passiert das, ist es möglich, einen Fehler auszugeben?

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 
   double OtkrVal[1]; 
   datetime time=D'2010.01.01 00:00:00';
   ResetLastError();
   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) 
     {
      Print("error = ",_LastError);
      return(0);
     }
   return(Bid / OtkrVal[0]);
}
 
Yedelkin:
Erstellen Sie einen Ausdruck des Fehlers - mal sehen.

Fehler = 4401

Ich kann keine Dekodierungvon Fehlercodes in Metatrader finden...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 
MegaVoin:

Fehler = 4401

Ich kann keine Dekodierungvon Fehlercodes in Metatrader finden...

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
MegaVoin: Fehler = 4401

OK, "Angeforderter Verlauf nicht gefunden". D.h. der Januar 2010 ist nicht im Jahr 2012 zu finden, richtig?

Und was wird auf dem Demokonto (nicht im Tester) angezeigt?

 
Yedelkin:

OK, "Angeforderter Verlauf nicht gefunden". D.h. der Januar 2010 ist nicht im Jahr 2012 zu finden, richtig?

Und was wird auf dem Demokonto (nicht im Tester) angezeigt?

Aha, sie wird nicht entdeckt.

Ich habe ein neues Demokonto erstellt (kein Meisterschaftskonto). Lose mit mehr als 5 werden jetzt übersprungen, wenn ich für 2011 prüfe, aber für 2012 tritt derselbe Fehler auf.

Ich muss wohl irgendwo einstellen, wie viel Geschichte vor dem Testzeitraum zugänglich ist. Und standardmäßig müssen es 2 Jahre sein... Nur wo ist sie konfiguriert...

 
MegaVoin: Erstellen Sie ein neues Demokonto (kein Meisterschaftskonto). Lose über 5 werden jetzt bei der Prüfung für 2011 übersprungen, aber der gleiche Fehler tritt auch bei 2012 auf.

Dieser Fehler tritt also auch auf einem Demokonto auf(nicht im Testprogramm)?

MegaVoin : Ich schätze, ich muss irgendwo einstellen, wie viel Historie vor dem Testzeitraum verfügbar ist. Die Standardeinstellung ist wahrscheinlich 2 Jahre... Nur dort, wo es eingestellt ist...

Ich würde lieber über die Geschichte des Testens im Abschnitt "Testen von Handelsstrategien" lesen.