Diskussion zum Artikel "Ein Versuch, einen EA-Konstruktor zu entwickeln"

 

Neuer Artikel Ein Versuch, einen EA-Konstruktor zu entwickeln :

In diesem Artikel biete ich eine Reihe von Handelsfunktionen in Form eines fertigen EA an. Diese Methode ermöglicht es, durch einfaches Hinzufügen von Indikatoren und Ändern von Eingaben mehrere Handelsstrategien zu erstellen.

Der vom Konstruktor erstellte EA verfügt sofort über mehrere Einstellungen, die zu einzigartigen Strategien kombiniert werden können. In der Version 4.XXX gelten die folgenden Regeln: 

  • Das aktuelle Symbol wird verwendet (ein Symbol des Charts, auf dem der EA gestartet wird).
  • Take Profit, Stop Loss und Trailing werden in Points (Punkten) in den Eingaben eingestellt. Points — aktuelle Symbolpunktgröße in der Kurswährung, z.B. für "EURSD" 1.00055-1.00045=10 Punkte.

Die "points" sind immer auf dem Symboldiagramm zu sehen, wenn Sie sich das Fadenkreuz anzeigen lassen:

points

Abb. 1. Points

Autor: Vladimir Karputov

 
Ich sehe keine Anhänge. Nur einen.
 
Andrei Novichkov #:
Ich sehe keine Anhänge. Nur einen.

Technischer Defekt. Sie werden bald da sein.

 

Guten Tag, danke für den Artikel, aber ich habe eine Frage:)

Warum verwendet man nicht eine Standardklasse und lädt sie mit zusätzlichen Funktionen, weil es so einfach und bequem wie möglich ist, anstatt ein eigenes Fahrrad zu erfinden?

 
Daniil Kurmyshev #:

Guten Tag, danke für den Artikel, aber es gibt eine Frage :)

Warum verwendet man nicht eine Standardklasse und lädt sie mit zusätzlichen Funktionen, weil es so einfach und bequem wie möglich ist, anstatt ein eigenes Fahrrad zu erfinden?

Und Sie haben wahrscheinlich versucht, CExpert selbst zu ergänzen und es ist Ihnen sogar gelungen?

 
Vladimir Karputov #:

Und Sie haben wahrscheinlich selbst versucht, CExpert zu ergänzen und es ist Ihnen sogar gelungen?

Ja, hier ist ein Beispiel dafür, wie Sie durch Vererbung von der Basisklasse CExpert , in einer neuen Klasse CExpertCustom:

1. Die Möglichkeit, Positionen durch neue Geschäfte zu ergänzen (Multi-Trade), wird realisiert.

Da die Basisklasse über virtuelle Funktionen verfügt, wurden diese in der Nachfolgeklasse überschrieben und vor der weiteren Verwendung in zukünftigen Vererbungsklassen von CExpertCustom verborgen.

2. Die Möglichkeit, das Basissymbol des Expert Advisors zu ändern, wurde implementiert, wodurch es möglich ist, Expert Advisors mit mehreren Währungen zu erstellen.

Unterm Strich:

Die Standard CExpert Klasse hat eine hohe Arbeitsgeschwindigkeit

Sie ist so zuverlässig und getestet wie möglich

Sie ist leicht zu ergänzen und zu pflegen

Es ist möglich, einen Expert Advisor mit mehreren Währungen in einem Bot zu erstellen, indem man von der neuen Klasse CExpertCustom erbt.

Da die Standardklasse aktiv Vererbung und Polymorphismus nutzt, ist es möglich, Expert Advisors zu erstellen, die nach einer völlig anderen Logik arbeiten, deren Verarbeitung und Abfolge der Grundfunktionen aber gleich ist.

In diesem Fall kann der Konstruktor von Expert Advisors entsprechend der Vorlage aus dem Terminal mit den notwendigen Indikatoren und MM... verwendet werden.

Dateien:
 
Daniil Kurmyshev #:

Ja, hier ist ein Beispiel, wie Sie von der Basisklasse CExpert in eine neue Klasse CExpertCustom erben können:

1. Die Fähigkeit, Positionen mit neuen Geschäften zu ergänzen (Multitrade) ist implementiert

Da die Basisklasse über virtuelle Funktionen verfügt, wurden diese in der Nachfolgeklasse außer Kraft gesetzt und vor der weiteren Verwendung in zukünftigen CExpertCustom Vererbungsklassen verborgen.

2. Die Möglichkeit, das Basissymbol eines Expert Advisors zu ändern, wurde implementiert, wodurch es möglich ist, Expert Advisors mit mehreren Währungen zu erstellen.

Unterm Strich:

Die Standard CExpert Klasse hat eine hohe Arbeitsgeschwindigkeit

Maximale Zuverlässigkeit und bewährte

Sie ist leicht zu ergänzen und zu warten

Es ist möglich, einen Multicurrency-Experten in einem Bot zu erstellen, wenn Sie von der neuen Klasse CExpertCustom erben.

Da die Standardklasse aktiv Vererbung und Polymorphismus nutzt, ist es möglich, Expert Advisors zu erstellen, die nach einer völlig anderen Logik arbeiten, deren Verarbeitung und Abfolge der Grundfunktionen aber gleich ist.

In diesem Fall kann der Konstruktor von Expert Advisors entsprechend der Vorlage aus dem Terminal mit den notwendigen Indikatoren und MM... verwendet werden.

CExpert und alles, was damit generiert wird, ist schon lange nicht mehr getestet worden. Deshalb haben wir unseren eigenen Satz von Handelsfunktionen entwickelt: mit einer Menge von Prüfungen. Die von Ihnen gezeigte Klasse hat nicht einen Bruchteil der Funktionalität meines Ansatzes.

 
Vladimir Karputov #:

CExpert und alles, was damit erzeugt wird, ist schon lange nicht mehr geprüft worden. Deshalb habe ich meinen eigenen Satz von Handelsfunktionen entwickelt: mit vielen Prüfungen. Die von Ihnen gezeigte Klasse hat nicht einmal einen Bruchteil der Funktionalität meines Ansatzes.

Die von Ihnen verwendeten Standardbibliotheken:

#include <Trade\PositionInfo.mqh>

#include <Trade\Trade.mqh>

#include <Trade\SymbolInfo.mqh>

#include <Trade\AccountInfo.mqh>

#include <Trade\DealInfo.mqh>

#include <Trade\OrderInfo.mqh>

#include <Expert\Money\MoneyFixedMargin.mqh>

Ihre Funktionsdatei "Trading engine 4" verwendet genau die gleichen Bibliotheken wie die CExpert-Klasse, nur dass Sie die Verarbeitung für dieTrade-Klasseselbst geschrieben habenund die von Ihnen entwickelten Prüfungen und ähnliche Mechanismen bereits in den Klassen CExpertBase, CExpertTrade und anderenimplementiert sind...., das ist es, was ich meine, deshalb spreche ich davon, ein weiteres Fahrrad zu erstellen, denn du könntest die CExpert-Klasse überarbeiten, damit sie die Prüfung besteht, wenn sie aus irgendeinem Grund nicht besteht, wenn du es einmal gemacht hast, hättest du dieses Problem nicht mehr.

Ich denke, dass Sie einen guten Satz von grundlegenden Funktionen haben, die sehr schwierig zu arbeiten sind, wenn Sie sie in einem großen Projekt verwenden, aber das Kopieren von Funktionen aus Ihrem Spenderprojekt in Ihr eigenes, viele Leute werden es sehr mögen, aber es wird schwer sein, die ganze Klasse zu verwenden, im Gegensatz zur CExpert-Klasse, die einfach zu implementieren ist, durch den gleichen "MQL-Assistenten", der in dem Artikel erwähnt wird.

 
Herzlichen Glückwunsch zu dem hervorragenden Artikel.
Die Dateien dieses Artikels sind nicht mit dem Leseterminal verbunden, nur "Indicators_Code.mq5".

Könnten Sie den Artikel bitte ergänzen!?

Vielen Dank! (Entschuldigung für mein Englisch)
 
Archiviert in Dateien:
Dateien:
9717_411.zip  56 kb
 
Vladimir Karputov #:
Archiv in Dateien:

Hallo Vladimir,

ich habe eine Frage zu "Pending Orders" und dem entsprechenden Parameter "Maximum Spread" in der Trading Engine 4.004;


Wie lange wartet diese Funktion darauf, dass schwebende Aufträge platziert werden, bevor der entsprechende Spread erreicht wird?

Mit anderen Worten: Wenn der Spread nach einer bestimmten Zeit nicht auf den angegebenen Wert gesunken ist, wird die Pending Order dann nicht storniert? Wie funktioniert dieser Zyklus?