Vorschläge für EA (Verlieren bis Gewinnen) - Seite 4

 

Hier ist, wie es aussieht auf 2-Jahres-Test, Wechsel zu 1 Los, Wechsel zu Frame 240, beide Parameter in Synchronisation mit einander gemacht=60. (Und alle diese Logik aus, außer M60 genommen).

Balken im Test 13544
Ticks modelliert 5961890
Modellierungsqualität 90.00%
Fehler bei nicht übereinstimmenden Charts 0
Ersteinlage 10000.00
Gesamtnettogewinn 30459,02
Bruttogewinn 99716,99
Bruttoverlust -69257,97
Gewinnfaktor 1,44
Erwartete Auszahlung 152,30
Absolute Auszahlung 1037,97
Maximale Auszahlung 20707,98 (35,94%)
Relativer Verlust 35,94% (20707,98)
Gesamtzahl der Abschlüsse 200
Short-Positionen (Won %) 97 (30,93%)
Long-Positionen (Won %) 103 (30,10%)
Gewinn-Trades (% der Gesamtzahl) 61 (30,50%)
Verlustgeschäfte (% der Gesamtzahl) 139 (69,50%)
Größte
Gewinngeschäft 5833,00
Verlusthandel -3156.00
Durchschnitt
Gewinn-Handel 1634,70
Verlusthandel -498,26
Maximal
Gewinne in Folge (Gewinn in Geld) 6 (14728.00)
Verluste in Folge (Verlust in Geld) 12 (-1587.00)
Maximal
Gewinn in Folge (Anzahl der Gewinne) 14728.00 (6)
Konsekutiver Verlust (Anzahl der Verluste) -9507.00 (5)
Durchschnitt
Gewinne in Folge 1
fortlaufende Verluste 3

 
diostar 2011.10.05 12:37

Sie haben das falsch verstanden. MTF ist nicht der Grund, oder sogar ein Problem. Der prb ist nur MA. Lassen Sie mich versuchen zu erklären, sehr kurz.

MA erzählt die Vergangenheit. Also, wenn man auf MA-Signal sagen, auf einem H1, die Erwartung, E, ist, dass auf dem nächsten Rahmen, sagen wir H4, wird "übereinstimmen" mit der Vergangenheit von H1. Zu profitieren ist, wenn H1 Vergangenheit manifestieren auf H4 aktuellen. Wenn E auftritt, bedeutet schließen den Handel, oder tun, was die Strategie will.

Aber in diesem Fall, nahm das Plakat das Gegenteil. Seine ziemlich grundlegende Handel Fehler, weil alle Erwartungen durcheinander sind.


Tho Multi-TimeFrame ist nicht meine starke Seite. Also, bitte korrigieren Sie mein Denken, wenn es falsch ist.

In der obigen Logik, die Sie gepostet haben:

if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))

Das &&, das ich in Rot hervorgehoben habe, sagt mir, dass der fastMA240 ebenfalls zustimmen muss.

Wenn man bedenkt, dass die fastMA240 die langsamste aller MA ist. Wäre es nicht vernünftig zu sagen, dass die fastMA240 das System langsamer macht, um zu wechseln. Und dass das gesamte System durch das, was der fastMA240 zu sagen hat, gestört wird?

Wenn wir nun Ihren Vorschlag aufgreifen:

if((Close[0]<=fastMA30 && Close[0]<=fastMA60))

Es scheint mir, dass das System schneller auf Änderungen reagieren wird, wenn wir den fastMA240 weglassen. Aber wir haben immer noch das Problem, dass die MA60 die Show leitet.

Zusammenfassend lässt sich sagen, dass alles, was zählt, die Frage ist, ob es sich langfristig um einen profitablen Ansatz handelt. IMO gibt es keine Möglichkeit zu sagen, was besser ist. Ihr Ansatz oder der Ansatz des ursprünglichen Autors, ohne zu testen :)

Schließlich gibt es noch Dinge, die mir an den oben genannten Codes nicht gefallen. 1) Die Verwendung des aktuellen Bar, wie in Close[0], dieser Code ist nicht back-tester-freundlich. 2) Die Verwendung des =-Zeichens, wie in <=, erstens ist es sehr selten, dass ein Preis jemals = sein wird, weil er vom Typ double ist. Und zweitens, in dem seltenen Fall, dass alle MAs = Close[0] sind, wird das System richtungslos, Beispiel: if(xMA>=Close[0]){Buy}_____if(xMA<=Close[0]){Sell}, was ist die richtige Aktion, wenn es =Close[0] ist.

 
diostar:

Nach den Ergebnissen zu urteilen, werde ich keine Optimierung empfehlen. Bis diese Strategie- und Logikfragen geklärt sind.

Erstens hatte ich nicht so viel Zeit, nachdem ich den 7-Jahres-Test auf einem H1 durchgeführt hatte, und so viel Motivation, alle Codezeilen im EA durchzusehen, aber ich war sicherlich von der Verwendung von 2 magischen Zahlen beeindruckt - für "langsame" Trades und "schnelle" Trades. Was für eine Art von Strategie ist das, dachte ich?

Dann werfe ich einen Blick auf die Codierungsmuster und versuche, die slowmagic-Nummer auszukommentieren. Die Ea hat nicht funktioniert, wie erwartet.

Dann habe ich die andere schnelle magische Zahl auskommentiert. Und Überraschung, Überraschung, die Ea kompiliert ohne Fehler.

Also, es scheint, die Logik ist völlig unvollständig von dem, was gewünscht ist? Für sicher, Ihre EA sind nur Füllung basierend auf einige langsame MA-Logik, aber nie auf die schnelle?

Da Sie der Besitzer dieses EA sind, sollten Sie bessere Antworten auf all diese, als meine einfachen Wege haben.


Ich hatte Ideen, die nicht umgesetzt wurden, daher sehen Sie langsame und schnelle magische Zahlen.


Der EA verwendet nur langsame magische Zahlen für die Aufträge, und es ist völlig getrennt von langsamen und schnellen MAs, die durch Einträge gescannt werden

Ich hoffe, das beantwortet Ihre Frage

danke

 
ubzen:
Ihr solltet daraus ein kleines Projekt machen, um daraus ein Gewinnsystem zu entwickeln. Jeder beginnt mit der aktuellen Version des EA und fügt dann etwas dazu. Dann wählt ihr den stärksten Coder unter euch aus, um die besten Ideen zusammenzutragen. Wenn ihr das Ziel erreicht habt, fügt ihr es in die Codebasis ein. Es wird ziemlich interessant sein zu sehen, was dabei herauskommt.

Ich würde gerne an einem solchen Projekt mitarbeiten, um einen profitablen EA aus einer Basisversion des geposteten EA zu erstellen.

 
mbirrell:

Ich würde nach einem anderen Weg suchen, um in den Markt einzusteigen. Wenn das Signal von diesen Indikatoren kommt, ist es bereits zu spät. Ich verwende immer Limit-Orders in Erwartung dessen, was der Markt tun wird. Manche mögen über diesen Ansatz lachen, aber er hat sich für mich bewährt. Denken Sie daran, dass es sich nicht um einen Sprint, sondern um einen Marathon handelt.


Ich stimme Ihrer Logik auf jeden Fall zu, aber wie würde ich meine bestehende Logik an das Limit-Order-Modell anpassen?
 
danjp:

Interessante Idee, ich f c0d3 ist damit einverstanden, ich würde es versuchen. Ich sollte in der Lage sein, meine Regeln Funktion mit den Regeln mfro seine ersetzen. Das würde es Regeln Handelszeiten, E-Mail-Benachrichtigung, Fehlerprüfung, Stacking, Limit und Pending Orders Trailing Stop, Stop usw. geben. Es würde wahrscheinlich nur ein oder zwei Tage dauern, bis diese Regeln in meiner EA-Shell funktionieren würden. Ich könnte dann versuchen, die Regeln zu optimieren, um sie profitabler zu machen.

Ich bin auf jeden Fall mit diesem OK, aber würden Sie mit der gemeinsamen Nutzung Ihres Codes auf diesem Thread in Ordnung sein?
 
diostar:

Wenn Sie seine "Regeln" gesehen haben, sehen sie in etwa so aus (für den Fall des Verkaufs):

Mathematisch gesehen, ist dies ein ziemlicher Unsinn. Der Grund dafür ist, dass der MA auf höheren Frames erwartungsgemäß langsamer ist, da er mehr Zeit benötigt, um einen Balken abzuschließen, als auf niedrigeren. Also, alles in allem, diese Logik endet in erster Linie durch diese untere Bedingung bestimmt werden:

Daher, zu diesem Zeitpunkt, MA zeigt die Vergangenheit aus der Perspektive der MA240, dann 60, dann 30, Markt war ein Verkauf ein. Mein Vorschlag kann einfach "reverse" diese unsinnige Regel, so dass anstelle von Short-Eintrag, gehen Sie lang, und umgekehrt. Ich bin mir ziemlich sicher, dass das Ergebnis hübscher ausfallen wird.



Lassen Sie mich einen Short-Handel erklären, für einen Long-Handel ist es genau umgekehrt:

  • Einstiegsbedingung 1: Wenn der aktuelle Schlusskurs unter dem MA30(100 Samples), MA60(100 Samples) und MA240(100 Samples) liegt, befinden wir uns in einem Abwärtstrend
if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))
   {
      // we are in a downtrend
      //Comment("\n"+"short only");
      shortEntry();
   }
  • Einstiegsbedingung 2: Warten Sie darauf, dass der Schlusskurs des entryTF(15M) über dem MA30(50 Stichproben) und MA60(50 Stichproben) liegt

if(iClose(Symbol(),entryTF,1)>=slowMA30 && iClose(Symbol(),entryTF,1)>=slowMA60)
  • Short einsteigen

Die Idee: MTF-Logik

  • Wenn der Kurs unter dem MA30 liegt, der auf dem M30 basiert
  • Wenn der Kurs unter dem MA60 liegt, der auf dem H1 basiert
  • Wenn der Kurs unter dem MA240 liegt, der sich auf H4 bezieht
  • warten, bis die Schlusskurse des M15 über dem MA30 liegen, der auf dem M30 basiert
  • warten, bis die M15-Schlusskurse über dem MA60 liegen, der auf dem M60 basiert
  • Short einsteigen: mit den Auftragsparametern


Ich werde auch versuchen, die Eingaben umzukehren, und sehen, was passiert


Ich hoffe, dies beantwortet Ihre Frage

 
ubzen:

@diostar, interessante Ideen und nehmen auf die MTF-Logik. Das ist etwas, das mir bei MTF-Logiken aufgefallen ist: Ein Zeitrahmen dominiert normalerweise das System.

@danjp, ja, das ist wahrscheinlich der schnellste Weg, um die Regeln in ein funktionierendes Programm zu übertragen, dem Sie vertrauen. Denn die meisten von uns haben bereits eine Vorlage, in die sie eine Logik einbauen können. Wenn sich jemand nicht wohl dabei fühlt, seine Codes weiterzugeben, wäre ein Vorschlag, dass derjenige, der die Codes zusammenstellt, vertrauenswürdige Bibliotheken aus unserer Codebasis verwendet. (Beispiel: OrderReliable.mqh.).

Wisst ihr was? Mir gefällt diese Idee irgendwie. Wenn ich 3 Leute dazu bringen kann, sich von hier aus anzumelden, werde ich einen neuen Thread starten. Wir arbeiten gemeinsam daran, einen profitablen EA zu erstellen. Es wäre ein guter Test, um zu sehen, ob mehrere Händler wirklich mit demselben System handeln können :)


Bitte posten Sie hier den Thread, wenn Sie es starten, ich def wollen teilnehmen
 
danjp:

Ich würde einen Optimierungslauf mit (1*std) -> (5*std) durchführen und im selben Lauf auch 0,3 - > 1,5 für SL und TP ausprobieren. Ich würde mit einem 12-Monats-Lauf beginnen. Wenn Sie bei einigen dieser Läufe gute Ergebnisse erzielen, würde ich eine stundenweise Handelsroutine in den EA einbauen und die Werte aus dem vorherigen Lauf verwenden, um zu sehen, ob Sie ihn noch weiter verbessern können, ohne 24/7 handeln zu müssen.

Viel Glück, halten Sie die Ergebnisse zu posten.

Können Sie eine Dokumentation für die Durchführung eines Backtests mit (1*std) -> (5*std) und (0,3 - > 1,5 auf SL und TP) empfehlen?
 
diostar:

Die Forward-Test insgesamt 156 Trades ist viel viel zuverlässiger, als diese 39 Backtests Trades. Die ganze Idee der Backtest ist es, in so viel Trades wie Sie können, und erhalten ihre schnelle Ergebnisse. Wozu dient das Backtesting?







Backtesting dient nur dazu, die Strategie zu testen und zu sehen, ob die Logik funktioniert, aber ob sie profitabel ist, können nur Vorwärtstests feststellen.


Es ist schon oft vorgekommen, dass ein EA im Backtest profitabel war, und wenn man ihn dann live einsetzt, bricht der EA Ihre Bank.