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
Wir sollten etwas hinzufügen wie:
Ansonsten werden manchmal nur Eigenschaften benötigt und keine Balken.
Alle Methoden der Klasse sind öffentlich. Um also nur Eigenschaften zu klonen, rufen Sie CloneProperties() auf.
Die Bibliothek und das Anwendungsbeispiel wurden aktualisiert.
Пример
Wenn ein Backtest auf Kreuzen läuft, zieht der Tester nicht nur das Hauptsymbol, sondern auch ein Hilfssymbol, das die Umrechnung der Gewinnwährung des Hauptsymbols in die Kontowährung ermöglicht. Das Ziehen des Hilfssymbols, die Generierung seiner Ticks und die Synchronisierung mit dem Hauptsymbol beanspruchen im Einzellauf- und insbesondere im Optimierungsmodus wertvolle Rechenressourcen (und Zeit).
Eine solche Präzision ist jedoch fast immer unnötig. Deshalb möchte ich diese Besessenheit/Unvollkommenheit des MetaTrader 5-Testers umgehen. In MetaTrader 4 ist dies einfach möglich - es gibt eine Möglichkeit, die Kontowährung direkt im Tester zu ändern. MetaTrader 5 hat eine solche Möglichkeit nicht.
Das Demoskript zeigt eine Möglichkeit, diese Einschränkung des Testers zu umgehen - unnötige Berechnungen zu entfernen. Zu diesem Zweck wird eine Kopie des Symbols für den Backtest erstellt, aber die Währung des Gewinns/der Marge wird auf die Kontowährung gesetzt. Das heißt, die Handelsergebnisse müssen nicht umgerechnet werden. Und der Gewinn wird tatsächlich in Pips berechnet, was in manchen Situationen sehr deutlich sein kann.
Ergebnis
Auf diese Weise wird eine kostenlose Beschleunigung des Testers/Optimierers erreicht.
ZЫ Ich habe es gründlich am EURGBP gemessen . Der Zeitgewinn beträgt ~2 mal. Die Trades sind vollständig aufeinander abgestimmt. In der Tat kostenlos!
Die folgende Bemerkung betrifft nicht nur die Bibliothek.
Wenn Sie einige Eigenschaften eines benutzerdefinierten Symbols ändern müssen, sollte dies in einigen Fällen VOR dem Import von Zitaten geschehen.
Um die Zuverlässigkeit des Ergebnisses zu gewährleisten, empfehle ich daher dringend, zuerst alle Eigenschaften des Symbols festzulegen und erst dann zu importieren.
Wenn Sie zum Beispiel SYMBOL_TRADE_TICK_VALUE und SYMBOL_TRADE_TICK_SIZE einstellen möchten, sollten Sie dies vor dem Importieren von Ticks/Balken tun.
Im MT5-Tester haben Limit-Orders in der Regel (z.B. im Forex-Bereich) eine positive Slippage, was zu einer Selbsttäuschung führt (manchmal sogar in Form von Tester-Grails auf echten Ticks!).
Es gibt jedoch eine Möglichkeit, diese Funktion des Testers zu umgehen. Im Folgenden finden Sie eine detaillierte Anleitung dazu.
1. Wenn das ursprüngliche Symbol (offener Chart) nicht benutzerdefiniert ist oder das Konto abgesichert ist, führen Sie dieses Skript auf dem Symbolchart aus
Sie erhalten dann dieses Bild
2. Wenn das Konto abgesichert ist (das Wort Hedge steht in der Titelleiste des Terminal-Fensters), wechseln Sie zu einem beliebigen Netting-Konto (z. B. MetaQuotes-Demo) und laden Sie das Terminal neu.
3. Führen Sie dieses Skript auf dem aktuellen Chart aus.
3. Wählen Sie das erhaltene benutzerdefinierte Symbol im Tester
Jetzt werden Limit-Orders nicht mehr rutschen!
Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien
Fehler, Bugs, Fragen
fxsaber, 2018.02.14 14:41 AM.
Hässlicher Bug nicht Terminal, sondern Plattform MT5Läuft auf MQ-Demo auf einige sich langsam bewegende Symbol. Zum Beispiel, EURHUF.
Das Skript öffnet eine BUY-Position mit TP = Bid. D.h. die Position sollte sofort geschlossen werden. Der TP wird aber erst beim nächsten Tick auf Erfüllung der Annahmebedingung geprüft!
Eine sofortige Schließung der Position erfolgt erst beim nächsten Tick. Und wenn der nächste Tick Bid < TP hat, bleibt TP ohne Akzeptanz.
Das Gleiche gilt für Limit-Orders (kommentierte Zeile). Im Tester ist die Situation ähnlich.
Auf das Hervorgehobene sollte hingewiesen werden, denn im vorhergehenden Beitrag gibt es dieses
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Bibliotheken: Symbol
fxsaber, 2018.04.06 09:21 Uhr.
2. Wenn das Konto abgesichert ist (das Wort Hedge ist in der Titelleiste des Terminal-Fensters vorhanden), gehen Sie zu einem beliebigen Netting-Konto (z.B. MetaQuotes-Demo) und laden Sie das Terminal neu.
und nicht jeder wird bemerken, dass Limit-Orders zum aktuellen Kurs auf Börsensymbolen von Netting-Konten sofort (und im Tester) ausgeführt werden, ohne auf den nächsten Tick zu warten.
Beachten Sie, dass nicht nur das Börsensymbol wichtig ist, sondern auch das Netting-Konto. Sie können z.B. ein MOEX-Symbol auf einem Hedge-MQ-Demo nehmen, aber es wird nicht auf die gleiche Weise (und im Tester) ausgeführt wie auf demselben Netting-MQ-Demo.
Dies ist einer der Gründe, warum Backtests auf denselben völlig identischen MOEX-Symbolen je nach Kontotyp unterschiedlich ausfallen können.
ZЫ Ich spreche mit mir selbst....
ZY Ich führe Selbstgespräche...
Nein, ich habe nur nichts hinzuzufügen.
Es ist schade, dass man mit Tamburinen tanzen muss, um die normale Auslösung von Befehlen zu realisieren.
Es ist schade, dass man mit Tamburinen tanzen muss, um das normale Auslösen von Befehlen zu realisieren.
Ich habe die Anweisungen geändert und die Tänze erheblich vereinfacht. Zum Beispiel wird beim Netting alles mit einem Klick erledigt - das Skript wird gestartet.
Ich habe einen einfachen Filter auf echte Ticks angewandt, der im leichtesten Fall > 90 % der Informationen herausfiltert. Je stärker der Filter, desto gröber das Backtest-Ergebnis.
Aber es war interessant, wie sich der schwächste Filter auf das Ergebnis und die Geschwindigkeit auswirkt.
Qualität.
War
Wurde
Geschwindigkeit
Wurde
War
Ergebnis
Nach realen Ticks verringerte sich die Anzahl der Ticks um das 16-fache (der leichteste Filter), die Geschwindigkeit der Optimierung erhöhte sich um das 14-fache, die Qualität litt überhaupt nicht (die Analyse, die hier nicht berücksichtigt wurde). Natürlich ist dies nur möglich, wenn der TS auf eine bestimmte Weise geschrieben wird. Vor allem, wenn die Balkenanalyse fehlt.
Die frühere kostenlose Universalbeschleunigung brachte nur eine zweifache Steigerung. Die aktuelle ist ebenfalls kostenlos (die Qualität leidet nicht), aber weniger universell. Der Gewinn liegt jedoch um mehr als eine Größenordnung höher. Jetzt optimiere ich TC nur noch auf diese Weise. Kein Fehler.
SZY
Gleichzeitig eine kurze Überprüfung dieser Implementierung (nur Bar Spread anders berechnet).
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Skripte: ThirdPartyTicks
Automated-Trading, 2018.03.16 09:35 Uhr.
Баровая история создается с учетом минимальных потерь качества при переходе от режима тестирования "Каждый тик на основе реальных тиков" к "Только цены открытия" - ТС на лимитных ордерах;
Es werden zwei Modi verglichen: "Alle Ticks" und "OHLC M1".
Alle Ticks
OHLC M1
Die Backtest-Qualität ist gleich, die Performance der zweiten Variante in einem Durchgang ist 12-mal besser.
Müssen diese Skripte von einem Nicht-Programmierer in ein Expert Advisor-Programm geschrieben werden?
Es ist sehr verlockend, die Optimierung um den Faktor 12 zu beschleunigen.
Gibt es eine solche Beschleunigung bei der Optimierung durch Eröffnungspunkte?
Müssen diese Skripte von einem Nicht-Programmierer in ein EA-Programm geschrieben werden?
Es ist sehr verlockend, die Optimierung um den Faktor 12 zu beschleunigen.
Gibt es eine solche Beschleunigung bei der Optimierung durch Eröffnungspunkte?
Leider ist es sehr schwierig, alle Aspekte dieses Prozesses zu erklären. Wahrscheinlich bräuchte man dafür einen ganzen Artikel. Daher wird es nicht möglich sein, ihn klar und kurz zu erklären.