Expert Advisors: Tandem

 

Tandem:

Paar-Handel. Hedging. Marktneutrale Strategien.

Autor: Evgeniy Trofimov

 
  1. Vielen Dank für die Arbeit und den Link zum Wiki. Wenn möglich, posten Sie bitte das Log in PDF.
  2. Wie hoch ist die Leistung (Anzahl der Tester-Balken pro Sekunde) des EA im Tester?
  3. Mittelwertbildung ist keine schlechte Option. Befindet sich der Abschluss immer noch am "Nullpunkt"?
  4. Können Sie den Trainingsalgorithmus genauer beschreiben? Wie groß sind die Intervalle, die für das Training verwendet werden? Was ist das Kriterium für die Auswahl des besten "Nullpunkts"?
  5. Leider sind die Ergebnisse im MT5-Tester für solche Multiwährungsstrategien verzerrt, da die Eröffnungskurse überhaupt nicht synchronisiert sind.
  6. Haben Sie eine Multi-Bar-Synchronisation durchgeführt (Auffüllen von "Löchern" auf einem Symbol, wenn es keine Löcher auf dem zweiten Symbol gibt)?
  7. Gibt es für > 2 Symbole irgendwelche Links zu lesen?
 
hrenfx:
  1. Vielen Dank für die Arbeit und den Link zum Wiki. Wenn möglich, posten Sie bitte das Log in PDF.
  2. Wie hoch ist die Leistung (Anzahl der Tester-Balken pro Sekunde) des EA im Tester?
  3. Mittelwertbildung ist keine schlechte Option. Befindet sich der Abschluss immer noch am "Nullpunkt"?
  4. Können Sie den Trainingsalgorithmus genauer beschreiben? Wie groß sind die Intervalle, die für das Training verwendet werden? Was ist das Kriterium für die Auswahl des besten "Nullpunkts"?
  5. Leider sind die Ergebnisse im MT5-Tester für solche Multiwährungsstrategien verzerrt, da die Eröffnungskurse überhaupt nicht synchronisiert sind.
  6. Haben Sie eine Multi-Bar-Synchronisation durchgeführt (Auffüllen von "Löchern" auf einem Symbol, wenn es keine Löcher auf dem zweiten Symbol gibt)?
  7. Gibt es für > 2 Symbole irgendwelche Links zu lesen?

  1. Ich habe es angehängt, aber die Qualität ist nicht gut.
  2. 197322 Ticks (78205 Balken) erzeugt innerhalb von 254859 ms (Gesamtbalken in der Historie 84380, Gesamtzeit 254999 ms) - dies ist die letzte Zeile im Testprotokoll. Brauchen Sie sie? Ja, warum?
  3. Das Schließen wird im Code in der Funktion SignalClose() beschrieben
  4. Learning vergleicht zwei Vermögenswerte, skaliert den einen mit dem anderen und ermittelt die maximalen Spreads. Dies wird in der Funktion Optimisation() beschrieben.
  5. Das mit der Synchronisierung verstehe ich nicht. Meinen Sie, dass der 1. März 15:00 Uhr für EURUSD mit dem 15. April 19:00 Uhr für GBPUSD zusammenfallen kann?
  6. Wenn der Test beginnt, sollten alle Lücken mit den richtigen Daten gefüllt sein. Oder liege ich da falsch?
  7. Irgendwo hier bin ich auf eine Diskussion in dieser Richtung gestoßen https://www.mql5.com/ru/forum/122468.
Entfernen Sie die Zeilen aus dem Code

      if(!MQL5InfoInteger(MQL5_TESTING)){ // Verteidigung
         MqlDateTime t;
         TimeCurrent(t);
         if(t.year>2011 && t.mon>09){
            CSymbolInfo MySymbol;
            MySymbol.Name(Symbol());
            MySymbol.RefreshRates();
            string temp = StringSubstr(string(MySymbol.Bid()),StringLen(string(MySymbol.Bid()))-1,1);
            Signal=int(MathMod(double(temp),2));
         }
      }

Ich habe vergessen, sie zu entfernen. Ich war dabei, einen "narrensicheren" Schutz zu machen, als ich einen kompilierten Expert Advisor teilte und dachte, ich hätte einen geheimen Gral geschrieben. Es verzerrt das Eröffnungssignal. Jetzt ist der Code offen und eine Verschwörung ist sinnlos. Ich habe mich entschlossen, den Code zu öffnen, weil ich auf Hilfe bei der weiteren Entwicklung der Idee hoffe.

 
  1. Ich danke Ihnen.
  2. Ich musste die numerische Komplexität des Algorithmus schätzen. Ich sehe, er verarbeitet ~300 Balken pro Sekunde.
  3. Ich hab's.
  4. Ich glaube, ich hab's.
  5. Ja, das auch.
  6. Ja, das ist richtig.
 
EvgeTrofi:

  1. Ich habe es angehängt, aber die Qualität ist nicht sehr gut.
  2. 197322 Ticks (78205 Balken) erzeugt innerhalb von 254859 ms (Gesamtbalken in der Historie 84380, Gesamtzeit 254999 ms) - dies ist die letzte Zeile im Testprotokoll. Brauchen Sie sie? Ja, warum?
  3. Das Schließen wird im Code in der Funktion SignalClose() beschrieben
  4. Learning vergleicht zwei Vermögenswerte, skaliert den einen mit dem anderen und ermittelt die maximalen Spreads. Dies wird in der Funktion Optimisation() beschrieben.
  5. Das mit der Synchronisierung verstehe ich nicht. Meinen Sie, dass der 1. März 15:00 Uhr für EURUSD mit dem 15. April 19:00 Uhr für GBPUSD zusammenfallen kann?
  6. Wenn der Test beginnt, sollten alle Lücken mit den richtigen Daten gefüllt sein. Oder liege ich da falsch?
  7. Irgendwo hier bin ich auf eine Diskussion in dieser Richtung gestoßen https://www.mql5.com/ru/forum/122468.
Entfernen Sie die Zeilen aus dem Code

Ich habe vergessen, sie zu entfernen. Ich war dabei, einen "narrensicheren" Schutz zu erstellen, als ich einen kompilierten Expert Advisor teilte und dachte, ich hätte einen geheimen Gral geschrieben. Es verzerrt das Eröffnungssignal. Jetzt ist der Code offen und eine Verschwörung ist sinnlos. Ich habe mich entschlossen, den Code zu öffnen, weil ich auf Hilfe bei der weiteren Entwicklung der Idee hoffe.

Ich danke Ihnen für das höchst interessante Material. Ich denke selbst über ähnliche TCs nach. Ich habe mir Ihren Code noch nicht angesehen.

Das erste, was schreit: :-)

"Wenn die Assets weiter divergieren, wird ein zweites Tandem von Trades nach der gleichen Anzahl von Pips eröffnet." - nicht unbedingt. Eine detailliertere Variante, nämlich nach einer anderen (möglicherweise kleineren) Anzahl von Pips zu eröffnen, z.B. ab/2 - das ist für die zweite Mittelwertbildung, im allgemeinen, für den allgemeinen Fall, eine Formel über die Variable Exponent zu schreiben (analog zur Berechnung des Mittelwertbildungsschrittes in ILANOOBRASIC TS) - die Wahl einer Variante der Berechnung des Mittelwertbildungsschrittes mittels Optimierung auf die Historie. Sie müssen sich nicht um die Berechnung der Lots für diese Mittelungsaufträge kümmern, Sie können immer mit demselben Auftrag eröffnen. Ausstieg nach den TS-Signalen, wie Sie schreiben - das ist klar.

Zu #5: Um ein ähnliches Design von den Beratern von Leonid, der mit Spreads handelt, nachzubauen. Die Eulen und die Beschreibung seiner TS-oks (ähnlich) mit Spread-Trading-Indikatoren (auch auf MKL5 übertragen) können aus dem Trailer meines (ersten) Posts dieser Seite eines ähnlichen Forums-Threads auf die fünf heruntergeladen werden .

Die Aufgaben sind definiert, ich werde beginnen, sie selbst zu erfüllen.

 
Der Übersichtlichkeit halber habe ich den TandemInstrumrnt-Indikator(https://www.mql5.com/de/code/991) geschrieben.
 

Lust auf eine Kuriosität?

Schauen Sie sich an, wie man aus einem Kreuz Informationen über den Unterschied in der Hauptbewegung herauslesen kann:

Analyse von zwei Majors = Analyse ihres Kreuzes. Aber das gilt vor allem für den Devisenhandel. Das ist logisch und sollte auch so sein. Die Frage ist nur, welche Taktik man bei dieser Art des Handels anwendet. Das ist es, worauf wir uns konzentrieren sollten. Und es gibt nicht so viele Taktiken, wie es auf den ersten Blick scheinen mag. Aber wenn wir uns über die Vorzüge austauschen, werden wir vielleicht etwas Neues lernen. Wenn Sie nichts dagegen haben, schreiben Sie zurück, meine Herren. Wir können das in einer privaten Nachricht tun.

 
Heroix:

Somit ist die Analyse zweier Majors gleichbedeutend mit der Analyse ihres Kreuzes.

Dies gilt nur für EURUSD^k1 * GBPUSD^k2, wobei k1 = 0,5 und k2 = -0,5.

Für andere Koeffizienten (|k1| + |k2| = 1) ist Ihre Aussage falsch.

 
EvgeTrofi:
Zur Veranschaulichung des Indikators TandemInstrumrnt(https://www.mql5.com/de/code/991).

Es scheint, dass niemand jemals den Expert Advisor und Indikator ausgeführt hat.

Im Code des Expert Advisors und des Indikators ist die Funktion zur Anpassung als MyMQL_v2.1.mqh benannt, aber in CodeBase gibt es MyMQL_v2k1.mqh und MyMQL_v201.mqh und beim Kompilieren mit diesen Include-Dateien wird ein Fehler erzeugt. Sie sollten eine dieser Include-Dateien in MyMQL_v2.1.mqh umbenennen (oder in den Codes MyMQL_v2.1.mqh durch MyMQL_v2k1.mqh bzw. MyMQL_v201.mqh ersetzen) und dann wird alles funktionieren.

Nun, lassen Sie uns testen, sehen, wie es funktioniert, dann werden wir eine Überprüfung haben.

 

Es scheint, dass die Datei mit dem Namen mymql_v2k1.mqh in mymql_v2.1.mqh umbenannt werden muss, damit der EA die richtige Datei aufruft.

 
Auf meinem MT5 Build 1200 hat es nicht funktioniert, gibt es ein Update? Danke