Kaufstopp Verkaufsstopp Rasterberater als Klasse - Seite 3

 
Vladimir Karputov:

Version 1.003:

  • schließt nun ALLE gegnerischen Positionen, wenn eine Position eröffnet wird.
  • Die aktuelle Preiserfassung wurde in die Funktionen PlacesBuy und PlacesSell verlagert, um Lücken und Ausrutscher zu vermeiden.
  • InOnTradeTransaction werden schwebende Aufträge in einer while-Schleife platziert - wir kommen dem Server also sozusagen zuvor :) - Das ist zwar nicht die beste Lösung, aber es wird vorerst so bleiben.

Eigentlich können wir jetzt denken:

  1. Wie kann ich meine Positionen am besten erhöhen (Berechnung des Losvolumens)?
  2. Was ist mit den gegnerischen Positionen zu tun?


  1. Wie erhöht man am besten die Position (Berechnung des Losvolumens) - auf keinen Fall Lose hinzufügen, das ist eine Pyramide, das ist etwas anderes, das Los sollte konstant bleiben.
  2. Was ist mit den gegenüberliegenden Positionen zu tun? - Schließen, wie es ist.
 

Ich empfehle, diesen Indikator in die "tester.tpl"-Vorlage einzufügen:LifeHack Balance Equity, dann zeigt der Tester sofort Änderungen des Kontostandes und der Geldmittel an. Ungefähr so:

LifeHack Balance Equity im Testgerät


 
Vladimir Karputov:

Feito. Verbinden Sie den Tresor, aktualisieren Sie die Dokumente des Projekts im Tresor.



Hallo Vladimir, kannst du mich bitte hinzufügen? vielen Dank.

 
Cid Ougaske:


Hallo Vladimir, kannst du mich bitte hinzufügen? Vielen Dank.


Erledigt, hinzugefügt.

Der Plan ist, Statistiken wie diese zu erstellen: wie viele Positionen einer Richtung sind in einer Reihe vor dem Flip offen.

Zum Beispiel: #1Buy, #2Buy, #3Buy und #1Sell -> alle Buy-Positionen schließen. Die Statistik wird also lauten: drei Positionen.

 
Vladimir Karputov:

... die Vorlage verbinden und die Eingabeparameter an die EA-Klasse übergeben



Erledigt, verbunden.

Manchmal gibt es zu viele Parameter. In letzter Zeit bin ich faul geworden. Ich mache es so, weil ich mich nicht mit der Übergabe von Parametern an den EA herumschlagen muss. Was sind die Nachteile?

input double LotSize = 0.1;
input int    SL      = 500;
input int    TP      = 300;
//другие входные переменные

#include <AvLib\ClassEA.mqh> // тут лежит класс советника

CClassEA MyEA;
 

Vladimir, kannst du mich bitte verbinden?

 

Während der Expert Advisor arbeitet, werden bei OnTradeTransaction Daten in das Array geschrieben. Das Aufzeichnungsformat ist wie folgt: Wenn eine Kaufposition eröffnet wird, wird "+1" eingetragen; wenn eine Verkaufsposition eröffnet wird, wird "-1" eingetragen.

Zum Beispiel:

  • Kaufen - wir registrieren "+1".
  • Kaufen - wir registrieren "+1".
  • Kaufen - wir registrieren "+1".
  • Verkaufen - wir notieren "-1".

Nach Abschluss der Prüfung werden die Array-Daten in OnTester verarbeitet und in die csv-Datei geschrieben. Die Datei wird ineinem gemeinsamen Ordner aller Client-Terminals \Terminal\Common\Files erstellt. Der Dateiname wird wie folgt gebildet:

   string file_name="Direction_of_trades"+"_"+m_symbol.Name()+"_"+IntegerToString(StepGrid());

dann wird dem Dateinamen die Erweiterung "csv" hinzugefügt:

   int filehandle=FileOpen(file_name+".csv",FILE_WRITE|FILE_CSV|FILE_COMMON);

Algorithmus der Array-Verarbeitung: wenn der aktuelle Datensatz die gleiche Richtung wie der vorherige hat (es entspricht dem Öffnen mehrerer Positionen einer Richtung in einer Reihe) - dann erhöhen wir den Zähler um eins, wenn der aktuelle Datensatz entgegengesetzt zum vorherigen ist (es entspricht der Umkehrung der Positionsrichtung) - dann weisen wir ihm den Zählerwert "1" zu.

Die resultierende csv-Datei lässt sich leicht in Excel bearbeiten:

Schritt eins: Linksklick auf die Spalte mit den Daten

Linksklick auf

Schritt zwei: Empfohlene Tabelle einfügen

empfohlene Tabelle einfügen


Dies sind die Statistiken (für Schritt "35" und Schritt "65"):

Richtung_des_Handels_EURUSD_35_65

 
Alexey Volchanskiy:

Vladimir, kannst du mich bitte verbinden?


Erledigt. Hinzugefügt (habe den Beitrag nicht sofort gesehen, habe ihn übersehen).

 

Die aktuelle Liste der mit dem Projekt verbundenen Benutzer:

Mit dem Projekt verbundene Benutzer

 

Für Schritt 35, erweiterte Summen:

Richtung_des_Handels_EURUSD_35

Hier können wir sehen, dass

  • Praktisch 50 % aller Fälle liegen vor, wenn die Länge der ununterbrochenen Geschäfte gleich "1" ist. Es gibt also Situationen des folgenden Typs: Wir haben Kaufen eröffnet und dann die Position umgekehrt (d.h. Kauf mit Verlust geschlossen und Verkauf eröffnet) oder diese Situation: Wir haben Verkauf eröffnet und dann die Position umgekehrt (d.h. Verkauf mit Verlust geschlossen und Kauf eröffnet). Somit sind Situationen mit ununterbrochenen Geschäften der Länge "1" ein garantierter Verlust.
  • Ungefähr 25 % aller Fälle, in denen die Länge der ununterbrochenen Trades gleich "2" ist, nach folgendem Beispiel: Wir haben Buy eröffnet, dann einen weiteren Buy eröffnet und die Position umgekehrt (d.h. zwei Buy geschlossen und Sell eröffnet - was zu einem Verlust von Null führt).

Meines Erachtens müssen diese Kategorien (Länge der ununterbrochenen Geschäfte gleich "1" und "2") genauer betrachtet werden, um die Strategie der Platzierung von Stop-Pending-Orders zu korrigieren.

Grund der Beschwerde: