Diskussion zum Artikel "Universal Expert Advisor: Einbindung der Standard MetaTrader Module für Signale (Teil 7)"

 

Neuer Artikel Universal Expert Advisor: Einbindung der Standard MetaTrader Module für Signale (Teil 7) :

Dieser Teil des Artikels beschreibt die Möglichkeiten der Einbindung der Signal-Module, Teil der Standard-Bibliothek des MetaTraders, durch CStrategy. Der Artikel beschreibt, wie man mit Signalen arbeitet und wie man eigene Strategien auf ihrer Basis erstellt.

Das untenstehende Diagramm zeigt das allgemeine Schema der vertikalen Vererbung von Klassen des Prozesses für die automatische Erzeugung von Strategien:

 

Fig. 1. Schema der Vererbungen der Standardklassen des Strategiegenerators

Autor: Vasiliy Sokolov

 

Vasily, interessant wie immer. Zunächst einmal, vom Standpunkt der Programmierung aus betrachtet... obwohl, was kann man schon von einem MQL-Forum erwarten....

Eine kleine Bemerkung :-)))

Die Vererbung wird normalerweise von unten nach oben gezeichnet. Ungefähr so:



 
Ich schrieb etwas Ähnliches in mql4 in einer Datei und ohne Verwendung von Drittanbieter-Bibliotheken, so dass ein Signal Benutzer kann einen freien Baum von Beziehungen zwischen 70 Elementen für zehn beliebige benutzerdefinierte Indikatoren zu erzeugen, um das Ergebnis der gebauten Bedingungen aus einem solchen Garten zu sammeln ist eine Menge Spaß, aber es stellte sich heraus, etwas wirklich universell.
 
Dennis Kirichenko:

Vasily, interessant wie immer. Zunächst einmal, vom Standpunkt der Programmierung aus betrachtet... obwohl, was kann man schon von einem MQL-Forum erwarten....

Eine kleine Bemerkung :-)))

Die Vererbung wird normalerweise von unten nach oben gezeichnet. Das ist ungefähr richtig:

Das wusste ich nicht. Ich schätze, ich bin Linkshänder, also habe ich es andersherum verstanden:)
 
Aleksey Semenov:
Ich schrieb etwas Ähnliches in mql4 mit einer Datei und ohne Verwendung von Drittanbieter-Bibliotheken, so dass ein Signal Benutzer kann einen freien Baum von Beziehungen zwischen 70 Elementen für zehn beliebige benutzerdefinierte Indikatoren zu erzeugen, um das Ergebnis der gebauten Bedingungen aus einem solchen Garten zu sammeln ist eine Menge Spaß, aber es stellte sich heraus, etwas wirklich universell
Können Sie den Prototyp sehen?
 
Aleksey Semenov:
Ich schrieb etwas Ähnliches in mql4 mit einer Datei und ohne Verwendung von Drittanbieter-Bibliotheken, so dass ein Signal Benutzer kann einen freien Baum von Beziehungen zwischen 70 Elementen für zehn beliebige benutzerdefinierte Indikatoren zu generieren, um das Ergebnis der gebauten Bedingungen aus einem solchen Garten zu sammeln ist eine Menge Spaß, aber es stellte sich heraus, etwas wirklich universal.
Ja, ich bin geneigt, die Tatsache, dass eine universelle Strategie-Generator sollte auf der Grundlage eines Baumes geschrieben werden, aber die Aufgabe ist ziemlich schwierig.
 
Frage an die Öffentlichkeit: Nutzt jemand das MetaTrader-Signalsystem überhaupt? Und wer verwendet Signalklassen in seiner Expert Advisor Programmierung?
 
Vasiliy Sokolov:
Frage an die Öffentlichkeit: Nutzt jemand das MetaTrader-Signalsystem überhaupt? Und wer verwendet Signalklassen bei der Programmierung seiner Expert Advisors?

Я. Ich mache das immer so:

  • Ich schreibe einen Indikator
  • Ich mache ein Signalmodul auf der Basis des Indikators
  • Wenn ich einen Expert Advisor erstelle, schließe ich das notwendige Signalmodul an.
Auf den ersten Blick mag es scheinen, dass der Weg nicht nah ist, aber in der Tat ist es sehr bequem zu ändern, zu modifizieren Indikator Signale oder neue Signale zu erfinden.

 
Karputov Vladimir:

Я. Das tue ich immer:

  • Ich schreibe einen Indikator
  • Ich erstelle ein Signalmodul auf der Grundlage des Indikators
  • Bei der Erstellung eines Expert Advisors verbinde ich das notwendige Signalmodul.
Auf den ersten Blick mag es scheinen, dass der Weg nicht nah ist, aber in der Tat ist es sehr bequem zu ändern, zu modifizieren Indikator Signale oder neue Signale zu erfinden.

Ein wirklich gründlicher Ansatz. Ja, das hat seine Vorteile.

Im Allgemeinen haben viele Entwickler bereits ihre eigenen Signalmodule geschrieben. Warum nicht eine zentralisierte Basis solcher Module schaffen? Jeder kann sein Modul teilen und in die Datenbank einstellen. Gral natürlich nicht zu gießen, aber die Vorteile werden für alle offensichtlich sein, wir werden das Rad nicht neu erfinden müssen.

 

Bei der Initialisierung der Anzeigesignale:

//+------------------------------------------------------------------+
//| Initialisierung des Signalmoduls CSignalMacd |
//+------------------------------------------------------------------+
COnSignal_RSI_AC::COnSignal_RSI_AC(void)
{
   MqlSignalParams params;
   params.every_tick = false;
   params.magic = 32910;
   params.point = 10.0;
   params.symbol = Symbol();
   params.period = Period();
   params.usage_pattern = 2;
   params.signal_type = SIGNAL_AC;
   CSignalAC* ac = m_adapter_ac.CreateSignal(params);
   params.usage_pattern = 1;
   params.magic = 32911;
   params.signal_type = SIGNAL_RSI;
   CSignalRSI* rsi = m_adapter_rsi.CreateSignal(params);
   rsi.PeriodRSI(RSI_Period);
}
Ein Signalmodul (Adapter) wird ein Magik (32910) übertragen, das zweite wird das zweite (32911) übertragen. D.h. ein Magik wird verwendet, um Positionen zu öffnen und ein anderer, um sie zu schließen? Oder verstehe ich etwas falsch?
 
Гога:

Bei der Initialisierung der Anzeigesignale:

Ein Signalmodul (Adapter) wird ein Magik (32910) übertragen, das zweite wird das zweite (32911) übertragen. D.h. ein Magik wird verwendet, um Positionen zu öffnen und ein anderer, um sie zu schließen? Oder habe ich etwas falsch verstanden?
In diesem Fall sind die Magiks CExpert rudemembers, von denen das Signal selbst geerbt wird. Das Signal braucht sie nicht, zumindest in CStrategy, weil es keine Pending Orders platziert. Allerdings ist eine Majic nur für den Fall angegeben.