Diskussion zum Artikel "Die Grundlagen für Tests in MetaTrader 5"

 

Neuer Artikel Die Grundlagen für Tests in MetaTrader 5 :

Worin unterscheiden sich die drei Testmethoden in MetaTrader 5, und worauf sollte man ganz besonders achten? Wir laufen Tests eines Expert Advisors, der gleichzeitig auf verschiedenen Finanzinstrumenten handelt, ab? Wann und wie werden Indikatorwerte während der Tests berechnet und wie werden die Ereignisse behandelt? Wie synchronisiert man Bars aus unterschiedlichen Instrumenten während der Tests im Mosud "nur offene Kurse"? Der vorliegende Artikel versucht all diese und weitere Fragen zu beantworten.

Autor: MetaQuotes Software Corp.

 
Es sei daran erinnert, dass bei der Optimierung nach dem Kriterium "Custom max" immer nach einem lokalen Maximum gesucht wird. Um das lokale Minimum zu finden, können Sie von функции OnTester den Wert zurückgeben, der invers zum berechneten Wert der Funktion ist:

return(1/значение_функции);



Es ist besser, den Wert

return(-значение_функции);

zu verwenden, da sonst die Gefahr einer Division durch Null besteht und die Verzerrung geringer ist.

 
Urain:

Es ist besser, die Funktion

zu verwenden, da sonst eine Null-Division auftreten kann und die Verzerrung geringer ist.

Einverstanden. Wir werden es in den Artikel aufnehmen, danke für den Vorschlag!
 

Необходимо помнить, что при оптимизации по критерию "Custom max" всегда ищется локальный максимум. Для поиска локального минимума можно из функции OnTester ..........

Das Wort "lokal" sollte durch "global" ersetzt werden. Es ist das globale Extremum, das in dem angegebenen Bereich gesucht wird.

 
joo:

Das Wort "lokal" sollte durch "global" ersetzt werden. Es ist das globale Extremum, das in einem bestimmten Bereich angestrebt wird.

Es ist schwierig zu sagen. Einerseits garantiert die Optimierung nicht, dass das globale Extremum gefunden wird.
 
Rosh:
Das ist schwer zu sagen. Einerseits garantiert die Optimierung nicht, dass ein globales Extremum gefunden wird.
Was gefunden wird, ein lokales oder ein globales Extremum, ist eine andere Frage. Aber es ist das globale Extremum, nach dem gesucht wird - das ist der Sinn der Optimierung.
 
Rosh:
Einverstanden. Ich werde den Artikel ergänzen, danke für die Anregung!
Hinzugefügt
 
Könnten Sie bitte den Unterschied bei der Erstellung eines Indikator-Handles (z.B. Alligator) mit iAlligator(...) und IndicatorCreate(...) erklären ?
 
slyusar:
Bitte erklären Sie den Unterschied beim Erstellen eines Handles eines Indikators (z.B. Alligator) mit iAlligator(...) und IndicatorCreate(...) ?
Die Handles werden sich nicht "durch Berührung" unterscheiden. Aber das ist nicht das Thema des Artikels.
 
Rosh:
Die Griffe unterscheiden sich nicht durch "Anfassen". Aber das ist nicht das Thema dieses Artikels.

Ich meinte nicht die Unterschiede durch Berührung.....

Du schreibst:

"Unabhängig davon, ob es einen Indikatoraufruf in einem bestimmten Event-Handler gibt oder nicht, werden alle Indikatoren, deren Handles durch iCustom() oder IndicatorCreate() erstellt wurden, vor dem Aufruf der Event-Handler-Funktion zwangsweise neu berechnet."

Frage:

Warum werden Indikatoren, deren Handles mit (wenn wir zu Alligator zurückgehen) iAlligator() erstellt wurden , nicht neu berechnet, was ist der Unterschied zu IndicatorCreate() , was ist besser, was ist schlechter, was sollte verwendet werden und warum?

 
Lesen Sie "Alle Indikatoren, die durch Funktionen von Technical Indicators oder IndicatorCreate() erstellt wurden...".