Öffnen, Schließen in einem von MQL5 Wizard generierten Expert Advisor - Seite 6

 
Andy:

EURUSD auf M1; nicht durch Ticks, sondern durch Balken; Test ab 18:00 MSK; (kann keinen Screenshot einfügen).


Bitte lesen Sie sorgfältig Punkt für Punkt:

Tick-Erzeugungsmodus, Testdaten: von ... An. Screenshot des Zeilennamens des Testers und gleichzeitig Protokolleinträge. Im Allgemeinen eine detaillierte Beschreibung.


 
Andy:

Bis auf den Screenshot ist alles geschrieben (nehmen Sie mich beim Wort).


Lesen Sie den obigen Text. Solange Sie nicht ALLES geschrieben haben, werde ich nicht antworten.

 
Andy:

Warum haben sie meinen Beitrag gelöscht?

EURUSD auf M1; nicht durch Ticks, sondern durch Balken; Test ab 18:00 MSC.

Hierist die bärische Kerze um 18:15 Uhrauf der Long-Linie und Short im Log.



Die Datei wurde aktualisiert (jetzt wird auch das "0"-Muster gedruckt).


Hinzugefügt: Verwenden Sie Strategy Tester - keine Notwendigkeit, das Terminal sofort live zu quälen :)

Dateien:
 
Andy:

Gab es keine, und welche gab es?


Öffnen Sie die Datei: CSignalMA::LongCondition und CSignalMA::ShortCondition Funktionen - Sie können dort alle Ausdrucke sehen. Und jetzt muss ich mich verabschieden, es ist Zeit für den Herd.

 
Andy:

Auf den Zeilen wird korrekt (lang) geschrieben, aber im Protokoll steht kurz (Muster 1).


Bitte geben Sie die folgenden Informationen an:

  1. Art des Handelskontos: Netting oder Hedge
  2. Screenshot aus dem Strategy Tester: Registerkarte "Einstellungen" und "Parameter"
  3. Beschreiben Sie genau, was Sie mit "Die Zeilen sind richtig (lang), aber das Protokoll ist kurz (Muster 1)" meinen.

 
Andy:
Für Netting- und Hedge-Konten sind die Standardeinstellungen korrekt (es ist nicht nötig, einen Screenshot zu machen), aber wenn der Patch 1 ausgeführt werden soll, schreibt die Zeile alles richtig (lang), aber in Wirklichkeit ist das Log des Expert Advisors kurz und andersherum. Sie können das selbst überprüfen - führen Sie die Datei aus, und sie wird im Terminal und im Prüfprogramm gleich aussehen. Und wie entfernt man dann diese Linien?

Wenn die Position umgedreht wird - in diesem Moment entstehen zwei vertikale Linien - können Sie dies überprüfen: Die letzten beiden Linien haben die gleiche Zeit. Zur Veranschaulichung - ich habe die vertikale Linie durch die Objekte "OBJ_ARROW_UP" und "OBJ_ARROW_DOWN" ersetzt:

Schritt 1

и

Schritt 2

Wie Sie im zweiten Screenshot sehen können, gab es ZWEI Signale und ein Kaufsignal wurde gewonnen (die Verkaufsposition wurde geschlossen und eine Kaufposition wurde eröffnet).

Wenn Sie einen EA erstellen, suchen Sie nach dem Modul "Signale des Indikators 'Gleitender Durchschnitt' + OBJ_ARROW_UP_DOWN".


 
Andy:

Und für Muster 1 sollte es ein Verkaufssignal geben, da die Kerze zinsbullisch ist, aber der Indikator fällt (schwacher Rückprall von der Indikatorlinie).

Diese beiden Signale stammen von welchem Muster, eines von 1 (Verkaufen) und das andere von wo (Kaufen)?


Ich werde jetzt darüber nachdenken, was ich noch in die Logs schreiben könnte, um das Innenleben des Signalmoduls und der CExrert-Klasse zu sehen.

 
Andy:

Und bei Muster 1 sollte es ein Verkaufssignal geben, da die Kerze zinsbullisch ist, aber der Indikator fällt (schwacher Rückprall von der Indikatorlinie).

Diese beiden Signale stammen von welchem Muster, eines von 1 (Verkaufen) und das andere von wo (Kaufen)?


Wladimir Karputow:

Ich werde nun darüber nachdenken, was ich sonst noch in die Protokolle schreiben könnte, um das Innenleben des Signalmoduls und der Klasse CExrert zu zeigen.


Signalmodul Version 1.001 - gibt jetzt Signalrichtung, Musternummer, Signalstärke und Formeln aus (druckt sie)

   double            DiffMA(int ind)                     { return(MA(ind)-MA(ind+1));  }
   double            DiffOpenMA(int ind)                 { return(Open(ind)-MA(ind));  }
   double            DiffHighMA(int ind)                 { return(High(ind)-MA(ind));  }
   double            DiffLowMA(int ind)                  { return(Low(ind)-MA(ind));   }
   double            DiffCloseMA(int ind)                { return(Close(ind)-MA(ind)); }

Beispielhafte Ausgabe:

2017.01.13 00:00:18   ShortCondition: m_pattern_0 12247, result 80, Open(1.06259), Close(1.06229), MA(1.06475)
***
2017.01.13 17:00:00   LongCondition: m_pattern_0 26715, result 80, Open(1.06451), Close(1.06449), MA(1.06302)
2017.01.13 17:00:00   LongCondition: m_pattern_3 5648, result 60, Low(1.06199)-MA(1.06302)<0.0
 
Andy:
Ich werde jetzt eine neue Datei ausprobieren, aber mit der vorherigen - mit einer bärischen Kerze, die einen steigenden Indikator kreuzt, zwei Signale: ein Verkauf von Muster 0 und ein Kauf von 1, und es war ein Verkaufstrigger.

Eine solche Frage wird nicht akzeptiert. Geben Sie eine detaillierte Beschreibung: Screenshot von STRATEGY TESTER: Registerkarte "Einstellungen", Registerkarte "Parameter". Datum, an dem Sie die Unstimmigkeit festgestellt haben: Auszug aus der TESTER-Protokolldatei, Bildschirmfoto des Zeitpunkts der visuellen Prüfung.


Ohne diese notwendigen Angaben ist eine weitere Diskussion sinnlos, da ich oder jemand anderes in der Lage sein MUSS, Ihre Situation eindeutig zu ÜBERPRÜFEN.

 
Andy:

Und warum werden zwei Muster auf einmal ausgelöst (auch in Ihrem Screenshot)?


Denn so ist das Leben und niemand hat die Wahrscheinlichkeitstheorie außer Kraft gesetzt (auf sehr kleinen Zeitrahmen, wie M1, liegen Balkenpreise und Indikatorwerte sehr nahe beieinander - daher sind Situationen möglich, in denen mehrere Muster gleichzeitig erkannt werden). Führen Sie den Strategietester auf H1 aus - dann werden die Situationen eindeutiger sein.