Fehler, Irrtümer, Fragen - Seite 322

 
Renat:
Der 404-Build des Testers stürzt also auch beim Testen des Standard Moving Average Expert Advisors ab?
Die Verwirrung tritt sowohl bei Moving Average als auch bei MACD auf...
 
52_rus:

Test: MACD Sample für ein Jahr auf TF H1. Unmittelbar nach dem ersten Test, der zweite Test: MACD Probe für ein Jahr auf dem TF Н4 ; In dem Bericht werden die Ergebnisse des ersten Tests auf TF H1 angezeigt.

Wenn wir nach dem ersten Test 5 Minuten warten und dann den nächsten Test auf einer anderen TF durchführen, erhalten wir einen neuen korrekten Bericht, der sich vom ersten Testbericht unterscheidet.

404 bauen

Ein Link zu einem ähnlichen Problem: https://www.mql5.com/ru/forum/3139

Vielen Dank für diese Nachricht. Reproduziert, wir werden es korrigieren.
 

Guten Tag an alle und jeden. Ich habe einige Codes für den Expert Advisor geschrieben:

   double Open1[1],Open2[1];
   int data1=CopyOpen(Symbol1,0,1,1,Open1);
   int data2=CopyOpen(Symbol1,0,5,1,Open2);
   double ss=MathAbs(Open1[0]-Open2[0]);

Berechnet die Differenz zwischen 1 und 5 Balken. In das Protokoll gedruckt

und erhielt dies

ss ist eine Modulo-Differenz, vor dieser Zeile befinden sich offene Nummern 1 und 5 Balken,

wie Sie sehen können, ist der Unterschied nicht klar, wie er berechnet wird, und er ist für alle i-ten gleich

Barren, Währung und TF. Sie tritt in 1 von 10 Fällen auf. Vielleicht handelt es sich um einen Dienst, oder ich habe mich geirrt?

... oder habe ich mich geirrt?

 
alexluek:

Guten Tag an alle und jeden. Ich habe einige Codes für den Expert Advisor geschrieben:

Berechnet die Differenz zwischen 1 und 5 Balken. Ausgabe in das Protokoll über Print

Wie wäre es damit?

Print(DoubleToString(ss,SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));
 
alexvd:

Wie wäre es damit?

OK, ich werde in 3-4 Stunden nachsehen, wenn das Testgerät fertig ist,

aber es ist nicht klar, warum diesin Print geschieht (Zahlenumwandlung)

wenn es auf diese Weise berechnet wird und der Expert Advisor so funktioniert.

Vielleicht weisen Sie darauf hin, wenn Sie das Gleiche im Code tun?

Dann wird es möglich sein, Ihre Konstruktion im Code auszuprobieren

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 

Das gleiche ...

 
alexluek:

Das gleiche ...

Normalisieren Sie die Differenz

double ss=MathAbs(NormalizeDouble(Open1[0]-Open2[0], SymbolInfoInteger(Symbol1,SYMBOL_DIGITS)));

https://www.mql5.com/ru/articles/1561

https://www.mql5.com/ru/docs/convert/normalizedouble

https://www.mql5.com/ru/docs/basis/types/double

oder besser noch

double ss=NormalizeDouble(MathAbs(Open1[0]-Open2[0]), SymbolInfoInteger(Symbol1,SYMBOL_DIGITS));
Особенности работы с числами типа double в MQL4 - Статьи по MQL4
  • www.mql5.com
Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 

Ich werde es in ein oder zwei Stunden versuchen und antworten...

 
alexluek:

Ich werde es in ein oder zwei Stunden versuchen...

Informieren Sie sich zunächst in der Hilfe über echte Zahlen.
 

Hmmm... Es ist wieder da.

possible loss of data due to type conversion

wahrscheinlich fehlt etwas NormalizeDouble

wie bei der Handhabung von Arrays (z.B. nicht verwechseln mit ...[1]-identify und [0] - use)