Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe noch nichts getan, ich versuche, diesen Code zu kompilieren:
Dieser Code kompiliert. Virtual und BestInterval wurden gestern aktualisiert. Möglicherweise haben Sie eine ältere Version.
Er kompiliert ohne Virtual ,
er kompiliert auch ohne BestInterval,
aber er lässt sich nicht zusammen kompilieren.
Was soll das bedeuten?
Es gibt keinen weiteren Eingabeparameter aus Ihrer Bibliothek.Was meinen Sie damit?
Es gibt keinen einzigen weiteren Eingabeparameter aus Ihrer Bibliothek.Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Bibliotheken: BestInterval
fxsaber, 2018.10.16 14:57 Uhr.
Virtual und BestInterval wurden gestern aktualisiert. Möglicherweise haben Sie eine ältere Version.
Dieser Code lässt sich kompilieren. Virtual und BestInterval wurden gestern aktualisiert. Möglicherweise haben Sie eine ältere Version.
Danke!
Virtual wurde aktualisiert , es kompiliert.
Der Expert Advisor kompiliert, die Intervalle für das Überspringen werden berechnet, die Datei erscheint in Common.
Aber der Parameter inBestInterval_Action ist im Tester nicht vorhanden und erscheint weder mit noch ohne VIRTUAL_TESTER.
Folglich kann ich den Test nicht unter Berücksichtigung der geworfenen Intervalle durchführen.
Ich brauche Hilfe - was mache ich falsch?
Der Expert Advisor wird kompiliert, die Intervalle für das Überspringen werden berechnet, die Datei erscheint in Common.
Aber der Parameter inBestInterval_Action fehlt im Tester und erscheint weder mit noch ohne VIRTUAL_TESTER.
Dementsprechend gibt es keine Möglichkeit, den Test unter Berücksichtigung der geworfenen Intervalle durchzuführen.
Ich brauche Hilfe - was mache ich falsch?
VIRTUAL_TESTER wird nur benötigt, um die Optimierung zu beschleunigen oder umzukehren. Deshalb ist es nicht vorgeschrieben, mit BestInterval zu arbeiten.
Forum zum Handel, zu automatisierten Handelssystemen und zum Testen von Handelsstrategien.
Bibliotheken: BestInterval
fxsaber, 2018.10.15 13:30
1. Nehmen Sie einen beliebigen Expert Advisor und schreiben Sie diese Zeilen an dessen Anfang
ZY Es ist gut, dass du den Code herausgefunden hast. Wenn die Bibliotheken in der gleichen Form wie in KB sind, weiß ich nicht, warum. Vielleicht haben Sie vergessen, sie zu kompilieren, als Sie VIRTUAL_TESTER entfernt haben.
fxsaber:
ZY Es ist gut, dass der Code in Ordnung gebracht wurde. Wenn die Bibliotheken die gleichen sind wie in KB, weiß ich nicht, warum. Vielleicht haben Sie vergessen, sie beim Entfernen von VIRTUAL_TESTER zu kompilieren.
Ich habe eine Datei TesterEA_mq4.mq5 mit dem folgenden Inhalt erstellt:
TesterEA.mq4 ist die Originaldatei von KB. Normal kompiliert.
MT4Orders, Virtual, BestInterval sind frisch von KB.
Ich habe EMA.mqh korrigiert (ein Fehler bei der Division durch Null war aufgetreten):
EMA( const int period ) : Alpha(1.0 / Periode), Wert(0)
durch
EMA( const int period ) : Alpha(2.0 / (Periode+1.0)), Wert(0)
Ich habe in BestInterval.mqh versucht, anstelle von
zu machen.
BestInterval Action-Variable erscheint im Tester, mit BestInterval Action=false ist alles schön im Log, aber mit BestInterval Action=true läuft der ganze Test und nichts über Intervalle wird ins Log geschrieben....
Das ist schade... :)
Ich habe die folgende Datei TesterEA_mq4.mq5 erstellt:
TesterEA.mq4 ist die Originaldatei von KB. Sie wurde normal kompiliert.
MT4Orders, Virtual, BestInterval sind frisch von KB.
EMA.mqh korrigiert ( Fehler bei Division durch Null):
EMA( const int period ) : Alpha(1.0 / Periode), Wert(0)
von
EMA( const int period ) : Alpha(2.0 / (Periode+1.0)), Wert(0)
Null Periode ist ein falscher Wert. Die Division durch Null ist also normal und wird absichtlich belassen, um zu zeigen, dass ein solcher Wert nicht gesetzt werden kann.
Ich habe in BestInterval.mqh versucht, anstelle von
zu machen.
BestInterval Action-Variable erscheint im Tester, mit BestInterval Action=false ist alles schön im Log, aber mit BestInterval Action=true läuft der ganze Test und nichts über Intervalle wird ins Log geschrieben....
Das ist schade... :)
Hier ist die Quelle für Action
Mit Action=true sollte im Bericht des Testers derselbe Gewinn erscheinen, der im Protokoll mit Action=false berechnet wurde.
Für Action ist dies der Quellcode
Wenn Action = true ist, sollte im Bericht des Testers derselbe Gewinn erscheinen, der im Protokoll berechnet wurde, wenn Action = false ist.
Nö, die Steinblume kommt nicht heraus... :)
In dieser Form, wenn Action = true ist, werden keine Aufträge mehr geschlossen und die gesamte Marge wird sofort mit neuen Aufträgen aufgefressen (wahrscheinlich etwas mit CloseBy) ....
Wenn Virtual.mqh deaktiviert ist, funktioniert alles, aber die Aktionsintervalle werden ignoriert.
Und es ist eine Herausforderung, Ihren Code tiefer zu verstehen... Ich denke, ich verzichte vorerst. ;)
Nein, es kommt keine Steinblume heraus... :)
Wenn Action = true ist, werden in diesem Formular keine Aufträge mehr geschlossen, sondern sofort die gesamte Marge mit neuen Aufträgen aufgefressen (wahrscheinlich etwas mit CloseBy) ....
Es würde mich nicht überraschen, wenn es bei Netting ausgeführt wurde. CloseBy funktioniert dort nicht.
Wenn Virtual.mqh deaktiviert ist, funktioniert alles, aber die Aktionsintervalle werden ignoriert.
Und es ist eine Herausforderung, Ihren Code tiefer zu verstehen... Ich denke, ich verzichte vorerst. ;)
Mach es in der Hecke. Ich habe mich nicht um das Netting gekümmert, weil MT4-advisor natürlich nicht in diesem Modus laufen sollte.
Der Algorithmus zum Ignorieren schlechter Intervalle ist einfach. Der TS wird in einer virtuellen Umgebung gestartet. Dort wird die Netting-Position nur derjenigen offenen Positionen berechnet, die in die berechneten Intervalle passen. Dann synchronisiert er seine Netting-Position mit der virtuellen Position in der realen Umgebung. Dies geschieht auf die für die Analyse hässlichste, aber einfach zu implementierende Weise - CloseBy.
Eigentlich ist der Reverse-Modus auf die gleiche Weise implementiert. Ich könnte die CloseBy-Variante so umschreiben, dass sie auch auf Netting-Konten funktioniert. Ich war damit nicht beschäftigt.