Der Markt liegt immer falsch - Seite 3

 

Ich habe mich noch nicht mit dem Expert Advisor beschäftigt, aber ich verwende einen ähnlichen Code zur Berechnung des Eigenkapitals

if (AccountEquity() > beginEquity) {
      if (IsTesting()) {
         beginPrice = Bid;
         magicnumber++;
         beginEquity = AccountEquity();
      } else {
         Alert("Please refresh beginPrice, beginEuqity and change magicnumber");
      }

Als zweite Möglichkeit schlage ich vor, die Variable während der Initialisierung mit dem Saldo gleichzusetzen

int init()
  {
//----
   if (IsTesting()) {
      beginEquity = AccountBalance();
   }
   return(0);
  }

In diesem Fall ist es nicht erforderlich, das Eigenkapital zu prüfen, bevor der EA ausgeführt wird,

static double beginEquity = 200000;

Denn sein Eigenkapital ist gleich dem Saldo vor dem Start des Expert Advisors!

Wjatscheslaw.


 
Winner:
Reschetow:
Wenn Sie dazu bereit sind, können Sie dies tun. Andernfalls werden die Mittel für Reinvestitionen verwendet.
Und wie hoch ist das Risiko, dass das Depot nicht geleert wird, wenn der Berater Positionen für das gesamte Depot eröffnet????
Sobald der MT-Tester Multi-Trading unterstützt, wird es möglich sein, eine empirische Schätzung der Verlustwahrscheinlichkeit anhand historischer Daten zu erhalten.

Derzeit kann der Prüfer das Risiko nur bei einzelnen Paaren empirisch bewerten.

Eine analytische Risikoeinschätzung für diese Taktik wurde noch nicht vorgenommen.
 
Reshetov:
timbo:
YuraZ:
Eine sehr gute Strategie,
...
das andere Problem ist, dass die Rücknahmen nach ein oder zwei Jahren erfolgen
Ich habe ein Buch über Devisen, Aktien usw. gelesen. Insbesondere ging es um die Angestellten verschiedener Fonds, die scheinbar das Geld der Einleger vermehren und die als Profis und fast himmlisch angesehen werden. Es gab also den Gedanken, dass sie die gleichen Menschen sind wie alle anderen, nicht besser und nicht schlechter, und dass sie nicht weniger oft Fehler machen. Die "Einlage" ist einfach so groß, dass sie es erlaubt, jeden Drawdown auszusitzen.
Mit anderen Worten: Wenn Sie es nicht so eilig haben, Geld abzuheben, und der Einzahlungsbetrag immens ist, spielt es keine Rolle, welchen Weg Sie einschlagen - früher oder später werden Sie schwarze Zahlen schreiben.
Wenn Sie eine Kaufposition bei einem historischen Maximum oder eine Verkaufsposition bei einem historischen Minimum eröffnen, wird der Gewinn bis zum nächsten historischen Extremum warten. Der Unterschied zwischen Markteintritt und Marktaustritt ist beträchtlich.

Um solche Situationen zu vermeiden, wäre es besser, eine einfache Analyse durchzuführen und sich nicht zu sehr zu sorgen, sondern einen Zeitraum von einem Tag zu wählen.
 

Vielen Dank für Ihre Antwort, verehrter Herr Reshetov. Ich habe bereits selbst erkannt, dass diese Zeilen für Sicherheitsvorkehrungen gedacht sind, so ähnlich wie {try...catch} in anderen Sprachen. Vor allem habe ich im Test wirklich nie die Closeby-Funktion eingegeben.

Ich scheine etwas für den Test erstellt zu haben. Obwohl ich Fehler immer noch nicht ausschließen kann, dachte ich, ich zeige Ihnen etwas, an dem ich gearbeitet habe. Ich habe vor, es auf Finlist zu tun (ich fühle mich dort wohler), aber da Yuri in diesem Forum ist, werde ich wahrscheinlich hier anfangen.

Was Sie hier sehen, wird Ihnen im Allgemeinen helfen zu verstehen, wie die EA-Signale generiert werden.

Bislang habe ich eine Version 1.1 des EA-Algorithmus hinzugefügt. Yuri gibt mir ständig neue Versionen, und ich muss sie wie eine Schnecke ausgraben. Sie scheint die gleiche zu sein wie die Version 1.1, aber sellprofit hat >0.001 statt 0.01.

Der Test wird nach meinem Plan durchgeführt, also tut mir nicht leid. Das bedeutet, dass mein Depot im Moment 1000 Dollar beträgt und ich daher nur eine begrenzte Anzahl von Paaren im Einsatz habe. Bislang verwende ich nur eine EUR-Gruppe. Ich begrenze den Test auf 24 Stunden. Mein Programm ist flexibel und ich kann natürlich auch eine Dauer von 2 oder 10 Tagen festlegen. Aber das ist mir im Moment egal, wichtig ist ein allgemeines Verständnis des Algorithmus. Zumal die Berechnung immer noch viel Zeit in Anspruch nimmt. Testtag ist eine halbe Stunde Berechnung, es ist wegen der Ansicht Tabelle (siehe unten). Es ist sehr lang, aber ich gebe tatsächlich alle Variablenzuweisungen in der Tabelle aus und so. Ich beneide sie sogar um den MMS-Test - wie schnell sie alles machen. Natürlich wird alles professioneller gemacht, aber Sie werden dort nicht alles sehen. Aber für mich ist es ein Korn nach dem anderen - aber ich habe einen klaren Blick.

Einige Erklärungen. Meine Angebote sind speziell vorbereitet - das bedeutet, dass sie Löcher haben und so weiter. Eine solche Verarbeitung nimmt Zeit in Anspruch, solange ich keine neuen Daten laden will und ich den Bereich der historischen Kurse vom 01.01.05 bis 16.09.06 habe. Der Test liegt also innerhalb dieser Grenzen, und das reicht mir im Moment. Ja, die Notierungen sind forexclub, minutengenau und von forextester übernommen.

Ich stelle 3 Tabellen zur Verfügung, in denen Sie alle Entwicklungen sehen können:

1) _history - es ist ähnlich wie "Account history" in mql, aber nur offene und geschlossene Aufträge werden zusammen gefunden, das Zeichen der Trennung ist das Feld [flag]. Dort ist alles klar. Feld id_operation: wenn "1", ist es BUY/.

2) _Ressourcen: Gesamtsaldo, Eigenkapital und Gewinn durch offene Aufträge zum aktuellen Zeitpunkt für alle beteiligten Währungspaare. Auch hier sollte alles klar sein, bis auf das Feld [ID] - das ist mein interner Datumsbezeichner. Ich kann Ihnen das genauer erklären, wenn Sie Fragen haben, aber im Allgemeinen können Sie in der dritten Tabelle _view, wo alles detailliert ist, sehen, welchem Datum es entspricht, und in _resources wird die Summe der einzelnen Minuten angezeigt.

3) _Ansicht - alles ist sehr detailliert, für jedes Währungspaar gibt es eine andere Geschichte der Transaktionsentwicklung. Das Feld [Actual_price] ist der Abschluss eines Minutenangebots. Bid, Ask - Ich erhalte +-Spread (Spread ist von Alpari genommen, aber weil alles in Tabellen ist, kann ich es korrigieren, aber ich sehe nicht viel Sinn, sowieso ist alles ca.) Und Daten lesen ist sehr einfach - die erste Version des EA, und die Zeilennummer wird ein Zeiger sein, und an welcher Stelle war die Zuweisung in der Variable (zum Beispiel das Feld [money_54] entspricht 54th Zeile des EA, wo Geld neu berechnet wird. Wenn "0", bedeutet dies, dass an dieser Stelle keine Berechnung stattgefunden hat, da keine entsprechenden Bedingungen vorlagen). Prüfen Sie das Kommentarfeld, die Vorgänge sind dort dokumentiert und entsprechen dem Verlauf in der Tabelle _history. Ja, ein mögliches Missverständnis. Das Feld Itog_profit ist der Gesamtgewinn für den aktuellen Zeitpunkt der offenen Aufträge für das gegebene Währungspaar. Das Feld "Sellprofit" oder "Buyprofit" kann unterschiedlich sein, da es nur die Daten des letzten offenen Verkaufs- oder Kaufauftrags enthält. Also in der Schleife <for> für die Liste der offenen Aufträge. Der Rest sollte klar sein, es sei denn, Sie finden meine Fehler.

Ich habe gerade angefangen, mich damit zu beschäftigen. Am Anfang war ich mit dem Test zufrieden. Ich stocherte viermal am ersten verfügbaren Tag (ich schaue mir noch nicht einmal den Chart an) mit 2 Symbolen EURUSD+ EURCHF und machte eine Tagesberechnung und hatte gute Ergebnisse - von 15 bis 150 Pips. Aber dann kam der Tag, an dem die Gesamtsumme für den Tag mit -80 Pips endete. Wieder einmal unterbreche ich den Test, und das ist nicht korrekt. Wenn der Test fortgesetzt wird, wird sich offenbar ein anderes Ergebnis ergeben. Aber im Moment betrachte ich es so.

Diese Version des Tests ist eine Art von Scalping und Yuri richtig sagt, dass seine EA ist ganz anders und die Kaution sollte nicht klein sein, weil der technologische Prozess der EA-Betrieb verletzt wird, wenn die Kaution klein ist, gut, Mittelwertbildung nicht wie erwartet gehen, weil es nicht genug Finanzierung und der Kampf für "Überlebensfähigkeit" kann nicht sehr positiv Ergebnis.

Noch einmal möchte ich sagen, dass ich Yuri's Expert Advisor genauso bewundere wie ich selbst. Sehr interessant und originell. Aber sehen Sie selbst - es ist sowohl schön als auch gefährlich, zumindest die Version 1.


Mit freundlichen Grüßen, Fed

Ja, noch einmal: Depo $1000, Bl=1000, BeginPrice - aktuell zum Berechnungszeitpunkt. Ziel des Tests ist es, zu verstehen, wie Signale erzeugt werden.

Erste Prüfung - 15/03/05 10:00 bis 16/03/05 10:00

Dieser Tag war "berichtenswert", aber da wir die Erzeugung von Signalen beobachten (wen interessiert das schon?), ist das erst einmal egal.

Zunächst für 2 Paare EURUSD und EURCHF



 
Jetzt die gleichen Eingabeparameter, aber es wird nur ein EURUSD genommen
Dateien:
 

Jetzt 2 Paare EURUSD und EURCHF, depo 1000, bl 1000, c 15/03/05 00:00 bis 16/03/05 00:00. D.h. leicht veränderte Zeit, BeginPrice=current.

Dateien:
 
Gut und 1 Paar EURUSD, depo 1000, bl 1000, von 15/03/05 00:00 bis 16/03/05 00:00.




Nun, für den Moment werde ich aufhören, mql mit meinen Kreationen zu füllen. Vielleicht ist es uninteressant, vielleicht findet in diesem Stadium jemand meinen Fehler. Aber ich kann die Änderung der Berechnung in Abhängigkeit von Bl und BeginPrice <> aktuell zeigen

Sincerely, Fed
Dateien:
 
FION:
Reschetow:
timbo:
YuraZ:
Eine sehr gute Strategie,
...
das andere Problem ist, dass die Rücknahmen nach ein oder zwei Jahren erfolgen
Ich habe ein Buch über Devisen, Aktien usw. gelesen. Insbesondere ging es um die Angestellten verschiedener Fonds, die scheinbar das Geld der Einleger vermehren und die als Profis und fast himmlisch angesehen werden. Es gab also den Gedanken, dass sie die gleichen Menschen sind wie alle anderen, nicht besser und nicht schlechter, und dass sie nicht weniger oft Fehler machen. Die "Einlage" ist einfach so groß, dass sie es erlaubt, jeden Drawdown auszusitzen.
Mit anderen Worten: Wenn Sie es nicht so eilig haben, Geld abzuheben, und der Einzahlungsbetrag immens ist, macht es keinen Unterschied, welchen Weg Sie einschlagen - früher oder später werden Sie schwarze Zahlen schreiben.
Wenn Sie am historischen Maximum eine Long-Position eröffnen und am historischen Minimum verkaufen, wartet der Gewinn bis zum nächsten historischen Extremum. Reshetov: Es gibt einen bedeutenden Unterschied zwischen Markteintritt und Marktaustritt.

Um dies zu vermeiden, wäre es gut, eine einfache Zehneranalyse durchzuführen und einen Tageszeitraum zu wählen, um eine Übertreibung zu vermeiden.
Ich habe das Buch einfach nicht aufmerksam gelesen. Und in diesem Buch wird eindeutig festgestellt, dass die "Profis" strikt nach den Gegentrends und am häufigsten nach der Durchschnittsmethode handeln. Aus diesem Grund können sie nicht zum lokalen Höchststand kaufen und zum lokalen Tiefststand verkaufen.
 
Fed:

Vielen Dank für Ihre Antwort, verehrter Herr Reshetov. Ich habe bereits selbst erkannt, dass diese Zeilen für Sicherheitsvorkehrungen gedacht sind, so ähnlich wie {try...catch} in anderen Sprachen. Vor allem habe ich im Test die Closeby-Funktion wirklich nie eingegeben

Es ist wirklich schade, dass MQL nicht objektorientiert ist. Handler für Ausnahmesituationen und hausgemachte Event-Handler vereinfachen das Leben der Programmierer erheblich, da viele Fehler bereits im Vorfeld behoben werden können. Und obwohl es kein OOP gibt, müssen wir versuchen, verschiedene Verstöße auf der algorithmischen Ebene vorherzusehen, und der Code ist nicht ganz koscher.
 
Paha:
Hallo!
Nur ein Scherz.
Wie Mathemat sagte: "Oberflächliche Analyse", sehr schön! Kein einziger negativer Wert. Aber ich habe nicht verstanden (vielleicht habe ich es falsch verstanden): Ich schalte den Spieler nicht aus und schließe das Terminal nicht. Wird die Warnung unter solchen Bedingungen angezeigt oder handelt der EA von selbst, wie er sollte? Was passiert, wenn ich die Internetverbindung für kurze Zeit unterbreche und dann wiederherstelle? Ohne jegliche Unterbrechung von meiner Seite aus?
Für mich ist die Frage sehr wichtig, weil ich mindestens 18 Stunden pro Tag vom Computer abwesend bin (Schlaf, Arbeit usw.), und wenn in dieser Zeit die Verbindung unterbrochen wird oder ich keine neuen Daten eingeben kann. ..... Nun, das ist nicht wirklich gut.
Außerdem, wenn ich es richtig verstanden habe: Wenn Sie die Nocke oder das Terminal einschalten, brauchen Sie nur die aktuellen Werte einzugeben und alles läuft wie gewohnt, d.h. Sie schließen den EA wieder an?
Auch, wenn die Warnung angezeigt wird, aber wir nichts tun, wird der EA weiterhin den Handel nach den alten Einstellungen oder wartet es für die neuen eingegeben werden?
Wenn möglich, geben Sie bitte nähere Informationen zu diesen Punkten!!!!
Danke für einen weiteren Grund, mir den Kopf zu zerbrechen! (auf eine gute Art).
Mit freundlichen Grüßen !!!!
Eine kurzzeitige Unterbrechung der Internetverbindung beeinträchtigt die Taktik des Expert Advisors in keiner Weise.

Generell kann man auf Allergien verzichten und auf Semi-Handheld umsteigen, vor allem wenn es keine Möglichkeit gibt, die Expert Advisors zu überwachen. Das Prinzip besteht darin, ein neues Spiel zu beginnen (d.h. eine neue Magie und einen neuen Startpreis für alle EAs), wenn das Eigenkapitalniveau das vorherige übersteigt.

Das heißt, wenn sich eine Gelegenheit bietet, sollte man sich das Eigenkapital ansehen. Wenn sie das vorherige Niveau überschritten hat, dann:
  1. Stoppen Sie alle EAs von der Arbeit.
  2. Wir schließen entgegengesetzte Positionen für alle Symbole mit "Close Overlapped Orders", um keine Verluste durch den Spread zu erleiden.
  3. Erhöhe die Zauberer um 1 und setze ihren Startpreis auf das aktuelle Gebot, d.h. beginne ein neues Spiel.
  4. Erinnern Sie sich an das aktuelle Eigenkapitalniveau. Schreiben Sie sie zum Beispiel auf einen Zettel oder in eine Datei.
  5. Starten Sie die EAs mit den neuen Einstellungen.
  6. Geh zur Arbeit, zum Geschäft oder zu den Mädels.
  7. Wenn sich die Gelegenheit ergibt, das Eigenkapital erneut zu prüfen und die Einstellungen zu ändern, prüfen wir es, und wenn der vorherige Wert überschritten wird, fahren wir mit Punkt 1 fort. Wenn er noch nicht überschritten ist, fahren wir mit Punkt 5 fort.