Wunder mit dem Testgerät.

 

Liebe Entwickler, ich habe einen Indikator, der ein Signal für den Einstieg und ein Signal für den Ausstieg gibt.
Ich starte einen Handelsroboter mit diesem Indikator. Bei drei Durchläufen des Testers erhalte ich drei verschiedene Ergebnisse.
Ich arbeite mit dem Tester seit Version 3. Als ob alle Nuancen berücksichtigt worden wären: Der Indikator wird nicht neu gezeichnet, das Signal wird nicht am 0ten Balken gelesen.

Ich führe die Tests zu den Eröffnungskursen durch und überprüfe sie in jedem Tick-Modus. Welche Informationen benötigen Sie, um zu verstehen, warum die Testergebnisse bei denselben Indikator- und EA-Einstellungen zu wechseln scheinen?

 

So viele Details wie möglich und vorzugsweise mit Service.

  1. Ein paar Berichte über die Ergebnisse.
  2. Log-Dateien.
  3. Server.
  4. Welche Agenten werden verwendet
  5. Expert Advisor mit dem Indikator (Quellcode ist vorzuziehen)
  6. .
  7. Die Einstellungen im Strategietester.
 
1CMaster:

Liebe Entwickler, ich habe einen Indikator, der ein Signal zum Einstieg und ein Signal zum Ausstieg gibt.
Ich betreibe einen Handelsroboter mit diesem Indikator. Drei Durchläufe des Testers - drei unterschiedliche Ergebnisse.
Ich arbeite schon seit langem mit dem Tester, seit Version 3. Ich habe alle Nuancen berücksichtigt: der Indikator überzieht nicht und ich lese das Signal nicht auf der 0th bar.

Welche Informationen benötigen Sie, um zu verstehen, warum die Testergebnisse bei denselben Indikator- und EA-Einstellungen zu wechseln scheinen?

MT4 MT5?
 
1CMaster:

Liebe Entwickler, ich habe einen Indikator, der ein Signal zum Einstieg und ein Signal zum Ausstieg gibt.
Ich betreibe einen Handelsroboter mit diesem Indikator. Drei Durchläufe des Testers - drei unterschiedliche Ergebnisse.
Ich arbeite schon seit langem mit dem Tester, seit Version 3. Ich habe alle Nuancen berücksichtigt: der Indikator überzieht nicht und ich lese das Signal nicht auf der 0th bar.

Ich führe die Tests zu offenen Kursen durch und überprüfe sie in jedem Tick-Modus. Welche Informationen benötigen Sie, um zu verstehen, warum die Testergebnisse bei denselben Indikator- und EA-Einstellungen in gewisser Weise wechseln?

Manchmal geschehen solche Wunder, wenn sich herausstellt, dass eine Variable (insbesondere das Array) nicht initialisiert ist. // Aus Versehen.

In solchen Fällen, in der Variable gibt es eine zufällige Müll, und als Ergebnis - wie-Wunder-in-a-Tester :)

Überprüfen Sie es, vielleicht eine Beule im Code. Ich habe (whew, whew) Tester nicht ein Wunder in letzter Zeit.

 
alexvd:

So viele Details wie möglich und vorzugsweise mit Service.

  1. Ein paar Berichte über die Ergebnisse.
  2. Log-Dateien.
  3. Server.
  4. Welche Agenten werden verwendet
  5. Expert Advisor mit dem Indikator (Quellcode ist vorzuziehen)
  6. .
  7. Die Einstellungen im Strategietester.

Liebe Entwickler.

Ich sende Ihnen den gesamten Quellcode.

Eine kurze Anleitung:

Öffnen Sie EURUSD H1, legen Sie die Indikatoren SS (Signalsystem) und FB (Fibo-Balken) an. Es werden zwei Signale angezeigt - Kreis - Verkaufssignal. Alle Parameter sind fest vorgegeben, es muss nichts eingestellt werden.

2. Start-Tester für den Zeitraum 01.01.2012 - 25.02.2012 EURUSD H1. Bei einem Verkaufssignal sollte der Tester verkaufen und bei einem Abschluss-Signal das Geschäft schließen.

3 Wenn mehrere Tester laufen, zeigen sie unterschiedliche Ergebnisse (+96,80; -156,20; -416,20; -335,20). Richtig ist -335,20 - und dann visuell übereinstimmen Signale Tester mit Signalen Indikator SS.

Der Indikator ist speziell für die Überprüfung der Korrektheit des Prüfers geschrieben. Ich habe es mehrmals überprüft, indem ich die Signale verschoben habe.

Es ist nicht klar, was vor sich geht. Ich hoffe, Sie können die Situation klären. Ich kann die Optimierung nicht durchführen, da die Ergebnisse unterschiedlich sind.

WICHTIG: Ich betreibe die portable Version von Metatrader (/portable) auf einem Server mit Windows Server 2008 R2 SP1, 2*Xeon 5640 (12 Kerne, 24 Threads).

Dateien:
MQL5.zip  248 kb
 
Wo ist dieser Service-Desk - soll ich dort eine Anfrage stellen?
 
1CMaster:
Wo ist dieser Service-Desk - soll ich dort eine Anfrage stellen?
in Ihrem Profil, Profil oben rechts.
 
1CMaster:

Besonderheit von MT5: Wenn der Indikatorpuffer nicht absichtlich auf Null gesetzt wird, kann das Terminal bei der Arbeit mit iCustom() jeden beliebigen Müll vom Stapel als Pufferwert zurückgeben.

Daher gibt es unverständliche Signale.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Besonderheit von MT5: Wenn der Indikatorpuffer nicht absichtlich auf Null gesetzt wird, kann das Terminal bei der Arbeit mit iCustom() jeden beliebigen Müll vom Stapel als Pufferwert zurückgeben.

Daher gibt es unverständliche Signale.

Haben Sie einen Link zur korrekten Verwendung von iCustom() unter Berücksichtigung dieser Nuancen? Ich bin zu müde, um es zu überprüfen und zu suchen, was los ist.
 
1CMaster:
Gibt es einen Link zur korrekten Verwendung von iCustom() unter Berücksichtigung dieser Nuancen? Weil ich es leid bin, es zu überprüfen und zu suchen, was falsch ist.

Was hat iCustom() damit zu tun? Der anzuschließende Indikator muss den Puffer vor der Verwendung initialisieren (z. B. mit Nullen, wenn es sich um einen Oszillator handelt).

Ich habe Ihnen gestern ziemlich genau gesagt, woher Ihre Spucke kommt.

MetaDriver:

Manchmal geschehen solche Wunder, wenn sich herausstellt, dass eine Variable (insbesondere ein Array) nicht initialisiert ist. // Aus Versehen.

// Oder glauben Sie allen Ernstes, dass der Prüfer schuld ist, warum dann nur Sie?
 
https://www.mql5.com/ru/docs/array/arrayinitialize

ArrayInitialize

Initialisiert ein numerisches Array mit dem angegebenen Wert.

void  ArrayInitialize(
   double  array[],     // инициализируемый массив
   double  value        // значение, которое будет установлено
   );

Parameter

array[]

[out] Das zu initialisierende numerische Array.

Wert

[in] Neuer Wert, der auf alle Elemente des Arrays gesetzt wird.

Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - Документация по MQL5