[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 669

 
Diger:

Ist das schon einmal passiert?

Im Protokoll des Strategietesters ist kein LOSS zu sehen und die Kurve geht stetig nach unten.

Was würde das bedeuten?

Die Kraft der Schwerkraft... :)) Sie sind nicht auf dem Jupiter? :)) Tut mir leid - war nur ein Scherz...
 
Diger: Ist das schon einmal passiert? Im Protokoll des Strategietesters ist kein LOSS zu sehen und die Kurve geht stetig nach unten. Was würde das bedeuten?
Der Spread ist rückläufig. Zu viele Tauschgeschäfte. Öffnen Sie die Karte des Testers.
 
artmedia70:
Die Kraft der Schwerkraft... :)) Sie sind nicht auf dem Jupiter? :)) Tut mir leid - war nur ein Scherz...

Ich bin selbst ein bisschen ein Freak. Vielleicht bin ich das wirklich. ....
 
Richie:
Den Aufstrich abtropfen lassen. Zu viele Tauschgeschäfte. Öffnen Sie die Karte des Testers.


Sie hatten Recht!

Im Gegensatz zu den üblichen 2p haben wir jetzt 26...

Ich danke Ihnen!

 
Diger:


Du hattest Recht!

Im Gegensatz zu den üblichen 2p haben wir jetzt 26...

Ich danke Ihnen!

Fügen Sie eine Bedingung für den maximalen Spread hinzu, bei dessen Überschreitung keine Trades eröffnet werden (die bereits eröffneten werden jedoch weiterhin vom EA kontrolliert).

 
chief2000:

Fügen Sie eine Bedingung für den maximalen Spread hinzu, bei dessen Überschreitung keine Trades eröffnet werden (die bereits eröffneten werden jedoch weiterhin vom EA kontrolliert).


Ich hielt das vorher nicht für nötig.

Aber der heutige Tester hat mir diese Notwendigkeit gezeigt.

 

Übrigens ist das auch für mich interessant und unklar. Ich habe meinem Expert Advisor ein verlustbringendes Lot nach einem Prinzip hinzugefügt: Finde den größten Verlust und eröffne eine entgegengesetzte Position mit dem Lot dieses Verlustes multipliziert mit dem Koeffizienten, der aus dem aktuellen Zustand des Marktes auf allen TFs und der Position im Verhältnis zum offenen Verlust und dem aktuellen Preis und dem Preisdiagramm selbst berechnet wird (wie - lohnt es sich wirklich, ein Lot zu eröffnen, wenn sich der Preis in die richtige Richtung bewegt...). Wenn der Gesamtgewinn dieser beiden Positionen etwa 50-60 Punkte beträgt, schließen wir beide Positionen, wobei wir die profitable zuerst schließen.

Also, ich bemerkte, dass profitable Handelssystem, das stabile Gewinn für zwei Jahre in der Tester gibt, aber hat in seinem Arsenal von wilden Drawdowns, die nicht akzeptiert werden kann, wenn ich Schleifen verwenden, scheitert es innerhalb von zwei Monaten... Was könnte der Grund dafür sein? Nur eine kurze Vermutung. Ich habe die Entwässerungsstatistiken nicht gespeichert, denn "warum sollte ich?"

 

Frage:

In fast allen Strategien, die im EA implementiert sind, muss ich bei jedem Tick immer wieder dieselbe Codesequenz aufrufen, um Daten über den aktuellen Stand des Marktes zu erhalten.

   CurAsk   =MarketInfo(Symbol(),MODE_ASK);
   CurBid   =MarketInfo(Symbol(),MODE_BID);
   OpnPrice =iOpen(NULL,PERIOD_M5,0);
   OpnPrice1=iOpen(NULL,PERIOD_M5,1);
   ClsPrice1=iClose(NULL,PERIOD_M5,1);
Kann ich sie nur einmal zu Beginn der Startfunktion ansprechen und dann nur die globalen Variablen ansprechen, die die Daten speichern werden? Es ist ein bisschen lästig...
 
artmedia70:

Frage:

In fast allen Strategien, die im EA implementiert sind, muss ich bei jedem Tick immer wieder dieselbe Codesequenz aufrufen, um Daten über den aktuellen Marktzustand zu erhalten.

Kann ich sie nur einmal zu Beginn der Startfunktion ansprechen und dann nur globale Variablen ansprechen, die diese Daten speichern werden? Ich werde hier ein bisschen ölig...


OpnPreis =iOpen(NULL,PERIOD_M5,0);

Ich verstehe, dass die Berechnung auf dem Null-Balken durchgeführt wird, d.h. jeder Tick ändert die Daten

Wenn Sie möchten, können Sie ein Skript schreiben und es in eine Schleife einbinden, die diese Berechnung in globale Variablen einspeist, aber in diesem Fall müssen Sie bei jedem Tick neue Daten synchronisieren. Ich denke, es ist besser, es so zu belassen, wie es ist, aber es in eine separate Funktion auszuliefern und diese Funktion nur in den notwendigen Fällen aufzurufen, d.h. wenn die Berechnung für das Öffnen von Aufträgen wichtig ist, dann kurz vor dem Öffnen bzw. Schließen

 
IgorM:


OpnPreis =iOpen(NULL,PERIOD_M5,0);

Hier verstehe ich, dass die Berechnung auf einem Null-Balken erfolgt, d.h. jeder Tick wird die Daten verändern

logischerweise sollten Sie ein Skript schreiben und es in einer Schleife laufen lassen, das diese Berechnung an globale Variablen sendet, aber in diesem Fall müssen Sie bei jedem Tick neue Daten synchronisieren. Ich denke, es ist besser, es so zu belassen, wie es ist, aber es in eine separate Funktion auszuliefern und diese Funktion nur bei Bedarf aufzurufen, d.h. wenn die Berechnung für die Eröffnung von Aufträgen wichtig ist, dann kurz vor der Eröffnung bzw. vor der Schließung derselben

Igor, das tue ich bisher, aber ich fürchte, es verlangsamt das ohnehin schon langsame System, das aus all diesen Strategien besteht, die miteinander vermischt und durch Bedingungen verbunden sind, und manchmal funktionieren sie alle gleichzeitig. Stellen Sie sich vor, dass jeder von ihnen denselben Code in einer separaten Funktion aufruft.

Ich denke, was soll's, wenn einige Daten vom Null-Bar genommen werden, da ich bereits beim Null-Bar öffne... Ich erhalte nur Daten aus dem ersten, zweiten oder dritten Takt...
OpnPrice =iOpen(NULL,PERIOD_M5,0); Ich erhalte den Eröffnungskurs des aktuellen Balkens und er wird sich nicht ändern - das ist eine vollendete Tatsache . Beim Vergleich des vorherigen Schlusskurses und des Eröffnungskurses des aktuellen Balkens geben einige Funktionen entweder eine Position frei oder weigern sich, sie zu eröffnen...

Diese Daten werden also alle einmal bei Ankunft des Ticks gelesen und dann vom Expert Advisor verwendet. Sie bleiben unverändert und aktuell bis zum nächsten Tick, wenn der Expert Advisor sie für den nächsten Berechnungszyklus aktualisiert.

Wie groß ist die Wahrscheinlichkeit, dass ein neuer Tick vor dem Ende aller laufenden Berechnungen kommt? Mir scheint, dass nur in diesem Fall die Daten alt und irrelevant werden.

Grund der Beschwerde: