Liga der Handelssysteme. Machen Sie weiter mit Ihrer guten Arbeit. - Seite 24

 
Georgiy Merts:

Freunde, warum seid ihr so besorgt über die Werbung... Anstelle von "Alpari" schreiben die Leute "berühmte Brokerfirma mit einem A". Oder statt "Insta" - "das berühmte Maklerunternehmen auf I" - nun, das ist lächerlich! Warum paranoid werden? Die Frage war ziemlich spezifisch, und wenn die Antwort darauf als "Werbung" gilt - nun, ich weiß nicht, dann muss man in fast jedem Beitrag Werbung sehen...

Bleiben wir bei der Vernunft, jeder ist intuitiv genug, um Werbung von Erklärungen zu unterscheiden.

Ich habe über TDS gelesen. Ich bin sehr erstaunt, denn es werden die folgenden Merkmale behauptet:

1. keine Begrenzung der Dateigröße auf 2 GB.
2. die Möglichkeit der gleichzeitigen Prüfung in mehreren Exemplaren des Terminals.
Möglichkeit, Tickdaten von verschiedenen Brokern zu importieren.
4. die Simulation des Schlupfes während der Prüfung.
5. die Prüfung mit dem realen Spread.

Natürlich ist das alles nützlich, aber warum braucht man für all das Programme von Drittanbietern, wenn MetaTrader das alles hat?

Und die Arbeit mit Ticks für die Positionierung TS, die Positionen für mehr als einen Tag hält, ist einfach nicht sinnvoll. Ich habe Tests im 1M OHLC-Modus und im "Real Ticks"-Modus verglichen - der Unterschied ist sehr gering. Es macht keinen Sinn, viel Zeit für Tick-Tests zu verschwenden, wenn der schnellere 1M OHLC-Modus für die Positions-TS völlig ausreicht?

Der Test läuft auch durch den MT4-Tester.

Aber die Kurse sind nicht gekrümmt-schräg, hochgeladen vom Terminal aus Metaquotes, sondern echt von Dukas oder von Ihrem Broker.

Zu den Merkmalen:

1. keine Begrenzung der Dateigröße auf 2 GB. - Ich wiederhole, dass die Zitate, an denen Sie sich orientieren, wenig mit der Realität zu tun haben.

2. Die Möglichkeit der gleichzeitigen Prüfung in mehreren Kopien des Terminals. - Ich meine die Arbeit mit den über TDS eingeholten Angeboten.

3. Die Möglichkeit, Tickdaten von verschiedenen Brokern zu importieren. - Eine solche Möglichkeit ist in MT4 nicht vorgesehen und war es auch nie.

4. während der Prüfung Schlupf simulieren. - auch nicht und werden es nie sein.

5. Tests mit realer Streuung - ähnlich wie in Punkt 4.

"Außerdem ist das Arbeiten mit Ticks für einen Positionierungs-TS, der Positionen länger als einen Tag hält, einfach nicht sinnvoll. Ich habe die Tests im 1M OHLC-Modus und im "Real Ticks"-Modus verglichen - der Unterschied ist extrem gering. Warum sollte man viel Zeit mit Tick-Tests verschwenden, wenn für die Position TS der schnellere 1M OHLC-Modus ausreicht?

- es ist der Unterschied, der extrem klein ist, es ist der Unterschied, der eine verlustbringende Strategie von einer gewinnbringenden Strategie unterscheidet ))))

- Wenn Sie nicht wissen, was Sie damit machen sollen, brauchen Sie sicher eine Lösung, die in Zukunft gut funktioniert.

Mit diesen Zitaten kann keine ernsthafte Arbeit geleistet werden. Es spielt keine Rolle, wie lange eine Position auf dem Markt gehalten wird, egal ob es sich um einen Tag oder ein Jahr handelt.

 
Boris Gulikov:

Die Tests werden auch mit dem MT4-Tester durchgeführt.

Nur dass die Kurse nicht schief sind und vom Terminal aus Metaquotes hochgeladen werden, sondern wirklich von Dukas oder von Ihrem Broker.

Über Fics:

...................

Ahhhh... Sie verwenden eine alte Version... MT4... Das macht also Sinn.

Nein... Metatrader 4 ist nicht unser Weg. Wir testen seit einigen Jahren nur noch mit MT5 und erstellen die Arbeitsversionen für MT4.

1. Die Zitate, die ich prüfe, sind EXAKT die gleichen wie in der Realität. Vor allem, wenn Sie den Modus "Alle Ticks basieren auf der Realität" verwenden. Aber wie ich gesehen habe, ist das überflüssig. Für Positions-TCs - 1M OHLS-Modus ist in Ordnung.

2. Ich habe MT5 in 24 Threads gleichzeitig getestet - alle Kerne des lokalen Heimnetzwerks werden genutzt.

3. In MT5 - Sie können leicht importieren Kurse von jedem Anbieter (wie DucaCopi - Import, alles ist möglich). Aber ich bin sehr zufrieden mit den alparischen.

4. In MT5 - sehr gute Imitation von Slippage. Aber für die Positions-TS spielt der Schlupf keine Rolle. Nun, ein Dutzend oder zwei Punkte rutschen manchmal durch... Das sind weniger als 10% des durchschnittlichen TP oder SL... Warum diesen Ausrutschern nachjagen?

5. Im MT5 werden die Tests exakt für den realen Spread durchgeführt. Sie müssen den Modus "Alle Ticks basieren auf der Realität" aktivieren. Aber noch einmal, für Liga TS, mit seinen Positionsstrategien - alle Ticks geben praktisch das gleiche Bild wie "vier Ticks pro Minute" Modus (1M OHLC). Der Unterschied entsteht, wie gesagt, wenn der DC einen irrsinnigen Spread hat - aber nicht wegen dieses Spreads an sich, sondern wegen der Tatsache, dass die Asc-Preise ganz anders zustande kommen und die Trades dadurch anders sind.

Und auch hier können Sie derjenige sein, der andere Daten über die Zecken hat. Für mich gibt es nur einen sehr geringen Unterschied. Vielmehr ist es der Unterschied in der Spanne.

Mein Fazit, das Sie nur durch die Nutzung von TDS bestätigen können: MT4 ist eine veraltete Plattform, die sich nicht zum Testen eignet. Nur MT5 !!!


Ja, nun, sehen Sie selbst - wie kann ich zustimmen, dass TDS eine notwendige Sache ist, wenn MT5 hat alles, was es bietet zunächst, plus erlaubt einige Dinge, die TDS, wie ich es verstehe, nicht zulassen (z. B. mit parallelen Tests auf verschiedenen Kernen, oder testen mehrere Symbole gleichzeitig)? Ich sehe die Vorteile nicht. Für MT4 - ja, TDS bietet große zusätzliche Möglichkeiten (und in MT4, in der Tat, Tick Generation ist ernsthaft anders als real). Aber MT4 ist eine längst überholte Plattform, und ich benutze sie nur, weil mein DC-Konto auf MT4 läuft.

 
Georgiy Merts:

Ähm ... Das verstehe ich nicht. Wie kommt es, dass "ein solcher EA nicht in den Tester passt"? Was denken Sie, wo ich es teste?

Die TC-Liga-Idee wurde von mir vor zwei Jahren vorgeschlagen, und die Leute waren extrem skeptisch. Die allgemeine Vorlage und die erste TC der Liga wurden vor einem Jahr geschrieben, damals hatte ich noch einen alten Computer, und ich lud die Leute ein, an den Tests teilzunehmen. Im letzten TC-League-Thread habe ich beschrieben, wie man es macht, und zwei Leute haben mir beim Testen geholfen... Sie hatten schließlich den am weitesten verbreiteten MetaTrader-Tester!

Das direkte Lesen von Daten im Expert Advisor unterscheidet sich nicht vom Lesen von Daten aus dem Chart - die Funktionen sind die gleichen, aber wenn Sie Daten aus dem Chart wünschen, geben Sie das aktuelle Symbol und den Zeitrahmen an, und wenn Sie bestimmte Daten wünschen, geben Sie diese an. Die interne Einstellungssteuerung ist nicht viel komplizierter - alle Daten werden einfach in einer einfachen Funktion gleichgesetzt, und es wird etwas Code zum Ein- und Ausschalten einzelner Funktionen hinzugefügt. Es ist nicht sehr kompliziert.

Ich habe bereits meinen eigenen Optimierer - ich nutze die Möglichkeiten von MetaTrader - während der Optimierung der Expert Advisor sammelt Daten-Frames und untersucht sie, die Auswahl der besten auf dem Prinzip der ein Maximum - so dass die maximale Leistung auf Back-und Forward-Tests wäre das Minimum (so dass sichergestellt wird, dass die TS wird nicht schlechter als dieses gefundene Maximum auf die gesamte Geschichte). Eine solche Kombination von Eingabeparametern wird gefunden und als fertiger Funktionstext in das Protokoll geschrieben. Nach der Optimierung nehme ich dieses Protokoll und übertrage diese Funktion direkt in den Code der TC-Klasse. Das ist alles. TC wird optimiert und an den "gemeinsamen Pool" geschickt. Und das so lange, bis er die Kontrollparameter wieder überschreitet.

Ich meine, wenn Sie eine De-facto-Liga in Form eines einzigen EA haben, aber es muss nur in Echtzeit getestet werden, ich spreche nicht über periodische Ausführung von Blöcken im Optimierer, dann ist es ein Rückschritt im Vergleich zu anderen EAs, d.h. Multicurrency ist ein Plus, aber der Mangel an Tester ist ein Minus.

Anders wäre es, wenn es möglich wäre, League im Tester laufen zu lassen, wie der übliche Multicurrency EA im MT5.

Soweit ich verstehe, ist der Code kompatibel mit MT4-Konto, und ich denke, wenn Sie einen eingebauten Block-Optimierer zu machen, wird es möglich sein, es in Tester laufen, und wenn ja, im Vergleich zu den aktuellen Test-Modus, kann es Jahre sparen:)

 
Ivan Negreshniy:

Ich meine, wenn man de facto einen einzigen EA in der Liga hat, der aber nur in Echtzeit getestet werden muss, ich spreche nicht von der periodischen Ausführung von Blöcken im Optimierer, dann ist es ein Rückschritt im Vergleich zu anderen EAs, d.h. die Mehrwährungsfähigkeit ist ein Plus, aber das Fehlen des Testers ist ein Minus.

Anders wäre es, wenn es möglich wäre, League im Tester laufen zu lassen, zum Beispiel als üblicher Multicurrency EA im MT5.

Soweit ich verstanden habe, trotz der Arbeit auf MT4-Konto, der Code ist auch kompatibel mit MT5 und ich denke, wenn Sie einen eingebauten Block-Optimierer zu machen, könnte es gut in den Tester gerast werden, und wenn ja, im Vergleich zu den aktuellen Test-Modus, es könnte Jahre sparen :)

Ja, das ist richtig.

Der Liga-Code ist plattformübergreifend, er kompiliert auf MT4 und MT5 ohne Änderung.

Jeder TS ist als eigene Klasse organisiert. Das ausführbare Modul der Liga sieht also wie folgt aus:

//+------------------------------------------------------------------+ //|                                                        TS_090817 | //|                                     Copyright 2017, George March | //+------------------------------------------------------------------+ /* Советник на основе фабрик, сделанный 090817 - оболочка для МТ5. */ #property description "TS_090817" #include <MyLib\DebugOrRelease\DebugSupport.mqh> #include <MyLib\Common\CurSymEnum.mq5> #include <MyLib\Factories\ForTrade\EURUSD\EURUSD_FactoriesIncludes.mqh> // Объявляем фабрики частей эксперта. // ЕМА сопровождение CTrendDTS_EURUSD_01_EPF epfFact_0(NULL); CTrendSAR_EURUSD_01_EPF epfFact_1(NULL); CTrendSP_EURUSD_01_EPF epfFact_2(NULL); CFlatSP_EURUSD_01_EPF epfFact_3(NULL); CFlatSAR_EURUSD_01_EPF epfFact_4(NULL); CFlatRTS_EURUSD_01_EPF epfFact_5(NULL); CTrendRTS_EURUSD_01_EPF epfFact_6(NULL); CFlatDTS_EURUSD_01_EPF epfFact_7(NULL);

// PriceChannel сопровождение CTrendDTS_EURUSD_PrCh_EPF epfFact_8(NULL); CTrendSAR_EURUSD_PrCh_EPF epfFact_9(NULL); CTrendSP_EURUSD_PrCh_EPF epfFact_10(NULL); CFlatSP_EURUSD_PrCh_EPF epfFact_11(NULL); CFlatSAR_EURUSD_PrCh_EPF epfFact_12(NULL); CFlatRTS_EURUSD_PrCh_EPF epfFact_13(NULL); CTrendRTS_EURUSD_PrCh_EPF epfFact_14(NULL); CFlatDTS_EURUSD_PrCh_EPF epfFact_15(NULL);

// ZZPendings сопровождение CTrendDTS_EURUSD_ZZPnd_EPF epfFact_16(NULL); CTrendSAR_EURUSD_ZZPnd_EPF epfFact_17(NULL); CTrendSP_EURUSD_ZZPnd_EPF epfFact_18(NULL); CFlatSP_EURUSD_ZZPnd_EPF epfFact_19(NULL); CFlatSAR_EURUSD_ZZPnd_EPF epfFact_20(NULL); CFlatRTS_EURUSD_ZZPnd_EPF epfFact_21(NULL); CTrendRTS_EURUSD_ZZPnd_EPF epfFact_22(NULL); CFlatDTS_EURUSD_ZZPnd_EPF epfFact_23(NULL); // Файл шаблона советника #include <MyLib\TSTemplate\ExpertAdvisorT.mq5>

Alle.

In diesem Fall ist dies der Code aller TS auf Eurodollar, die mit minimaler Menge zusammenarbeiten.

Wir können andere TS für andere Symbole angeben. Alles ist kompiliert - testen Sie es einfach.

Für die Optimierung werden jedoch spezielle Klassen verwendet, die Nachfolger der Basisklassen von TS, in denen man die Einstellungen vornehmen kann und die in der Lage sind, genau die Dateien mit den Funktionen zu bilden, die benötigt werden, um Einstellungen in TS vorzunehmen.

 
Georgiy Merts:

Ähm ... Das verstehe ich nicht. Wie kommt es, dass "ein solcher EA nicht in den Tester passt"? Was denken Sie, wo ich es teste?

Die TC-Liga-Idee wurde von mir vor zwei Jahren vorgeschlagen, und die Leute waren extrem skeptisch. Die allgemeine Vorlage und die erste TC der Liga wurden vor einem Jahr geschrieben, ich hatte damals noch einen alten Computer, und ich lud die Leute ein, sich an den Tests zu beteiligen. Im letzten TC-League-Thread habe ich beschrieben, wie man es macht, und zwei Leute haben mir beim Testen geholfen... Sie hatten schließlich den am weitesten verbreiteten MetaTrader-Tester!

Das direkte Lesen von Daten im Expert Advisor unterscheidet sich nicht vom Lesen von Daten aus dem Chart - die Funktionen sind die gleichen, aber wenn Sie Daten aus dem Chart wünschen, geben Sie das aktuelle Symbol und den Zeitrahmen an, und wenn Sie bestimmte Daten wünschen, geben Sie diese an. Die interne Einstellungssteuerung ist nicht viel komplizierter - alle Daten werden einfach in einer einfachen Funktion gleichgesetzt, und es wird etwas Code zum Ein- und Ausschalten einzelner Funktionen hinzugefügt. Es ist nicht sehr kompliziert.

Ich habe bereits meinen eigenen Optimierer - ich nutze die von MetaTrader bereitgestellten Möglichkeiten - während der Optimierung sammelt der Expert Advisor Datenrahmen und untersucht sie, wobei er den besten auf der Grundlage des Prinzips des Maximums auswählt - so dass die maximale Leistung bei Back- und Forward-Tests das Minimum war (wodurch sichergestellt wird, dass der TS nicht schlechter abschneidet als dieses gefundene Maximum in der gesamten Historie). Eine solche Kombination von Eingabeparametern wird gefunden und als fertiger Funktionstext in das Protokoll geschrieben. Nach der Optimierung nehme ich dieses Protokoll und übertrage diese Funktion direkt in den Code der TC-Klasse. Das ist alles. TC wird optimiert und an den "gemeinsamen Pool" geschickt. Und das so lange, bis er die Kontrollparameter wieder überschreitet.

Welche TF ist der Kanal gebaut und der Roboter handelt auf den Pfund-Bock?

 
Roman Shiredchenko:

Auf welchem TF ist der Kanal aufgebaut und handelt der Roboter auf dem Pfund Bax?

М15

 
Georgiy Merts:

М15

danke

 
Georgiy Merts:

Ja, das ist richtig.

Der Liga-Code ist plattformübergreifend, er kompiliert auf MT4 und MT5 ohne Änderungen.

Jeder TS ist als eigene Klasse organisiert. Das ausführbare Modul der Liga sieht also wie folgt aus:

Alle.

In diesem Fall ist dies der Code aller TS auf Eurodollar, die mit minimaler Menge zusammenarbeiten.

Wir können andere TS für andere Symbole angeben. Alles wird kompiliert und dann getestet.

Zur Optimierung werden jedoch spezielle Klassen als Nachfolger von TS-Basisklassen verwendet, in denen Einstellungen vorgenommen werden können und die in der Lage sind, genau die Dateien mit Funktionen zu bilden, die für die Einstellungen in TS erforderlich sind.

Der Aufbau ist modular und im Prinzip sollte eine Überoptimierung einer einzelnen Strategie während des Tests funktionieren.

Probleme können auf den ersten Blick nur mit der Geschwindigkeit und dem Caching des Codes im Tester bestehen, der es nicht erlaubt, den on-the-fly kompilierten MQL-Code dynamisch zu laden.

Ich weiß nicht, ob Sie vorhaben, Ihre Liga in diese Richtung weiterzuentwickeln, aber es würde mich interessieren, da ich selbst in letzter Zeit ähnliche Gedanken hatte.

Ich bin zufällig auf einen überraschenden Effekt der kurzfristigen Optimierung auf kleinen Zeitskalen gestoßen und kann ihn reproduzieren, aber leider habe ich noch kein Tool, um ihn in einem Tester zu testen.

 
Ivan Negreshniy:

Der Aufbau ist modular, und im Prinzip sollte die Neuoptimierung einer einzelnen Strategie während des Tests funktionieren.

Probleme, auf den ersten Blick, kann nur mit der Geschwindigkeit und Zwischenspeicherung von Code in der Tester, die nicht zulassen, dynamisch zu laden, die kompiliert on the fly MQL-Code sein.

Ich weiß nicht, ob Sie vorhaben, Ihre Liga in diese Richtung weiterzuentwickeln, aber es würde mich interessieren, da ich selbst in letzter Zeit ähnliche Gedanken hatte.

Ich bin auf einen überraschenden Effekt der kurzfristigen Optimierung in kleinen Zeiträumen gestoßen und kann ihn reproduzieren, aber leider habe ich noch kein Tool, um ihn in einem Tester zu testen.

Eine echte dynamische Zusammenstellung ist im MetaTrader kaum möglich.

Ich habe es "halbdynamisch". Das heißt, einige TS zeigen Kontrollparameter - ich optimiere sie neu, finde Parameter, die in den letzten zwei Jahren gute Ergebnisse gezeigt haben (Jahr - zurück, Jahr - vorwärts), wende Änderungen an der TS-Klasse an (hier funktioniert die "dynamische Kompilierung"), dann kompiliere ich alles neu und schicke es zur Arbeit.

Kurzfristige Optimierung... Meiner Meinung nach ist hier alles sehr wackelig und unstabil... Mein Ziel ist es, einen stabilen TS zu bekommen, der für eine lange Zeit funktioniert, auch wenn er nicht viel Gewinn bringt...

 
Georgiy Merts:

Eine echte dynamische Zusammenstellung ist im MetaTrader kaum möglich.

Ich habe es "halbdynamisch". Das heißt, einige TS zeigen Kontrollparameter - ich optimiere sie neu, finde Parameter, die in den letzten zwei Jahren gute Ergebnisse gezeigt haben (Jahr - zurück, Jahr - vorwärts), wende Änderungen an der TS-Klasse an (hier funktioniert die "dynamische Kompilierung"), dann kompiliere ich alles neu und schicke es zur Arbeit.

Kurzfristige Optimierung... Meiner Meinung nach ist hier alles sehr wackelig und unbeständig... Meine Aufgabe ist es nur, einen stabilen TK zu bekommen, der lange Zeit funktioniert, auch wenn er nicht viel Gewinn bringt.

Die dynamische Kompilierung kann über die Befehlszeile mql.exe erfolgen, aber es ist problematisch, das kompilierte Modul während der Tests neu zu laden.

Aber das ist mir egal, denn ich kann ein Neuronetz auch durch Arrays überlasten, aber um langfristige und stabile Strategien zu erhalten und zu debuggen, ist z.B. ein Werkzeug für deren schnelles Testen wichtiger als für kurzfristige Strategien.