Diskussion zum Artikel "Der MQL5-Assistent: Wie man einem EA beibringt, einen bedingten Auftrag (Pending Order) eines beliebigen Preises zu platzieren" - Seite 2
Ich mag diesen Artikel, ist es möglich, einen EA zu schreiben, die nur schwebende Aufträge verwendet, um Trades mit einem anderen Indikator zu öffnen. zum Beispiel, wenn der Preis in eine Richtung um 5 bewegt es löst einen Kauf oder Verkauf unabhängig.
ich mag diesen Artikel, ist es möglich, einen EA zu schreiben, der nur Pending Orders verwendet, um Trades mit einem anderen Indikator zu öffnen. z.B. wenn sich der Preis in eine Richtung um 5 bewegt, löst er unabhängig davon einen Kauf oder Verkauf aus.
Hallo @Vladimir Karputov -- das war ein sehr lehrreicher Artikel, danke dafür!
Ich persönlich finde dieses OOP-Framework in MQL5 recht interessant für den Aufbau von Bots durch die Zusammenstellung von Objekten, die Experten, Signale, Filter, Indikatoren, Risikomanager usw. darstellen -- meiner Meinung nach ein sehr eleganter Ansatz, da er die Wiederverwendung von Code und die Erweiterbarkeit begünstigt, ohne anscheinend viel Leistung zu opfern... allerdings scheint die Lernkurve aufgrund seiner Komplexität ziemlich steil zu sein.
Da ich ausschließlich auf MQL5 umsteige und gute Erfahrungen mit OOP-Konzepten/Sprachen habe, bin ich jedenfalls sehr daran interessiert, es für meinen eigenen Gebrauch beim Prototyping neuer Handelsideen und der Entwicklung von Handelssystemen zu adaptieren. Ich habe den Code der Bibliothek studiert und mit ihm gespielt und wollte wissen, welche Vorgehensweise Sie für die folgenden Fälle empfehlen:
FRAGE: Wie würden Sie einen Trendfilter für die im Experten empfangenen Signale integrieren?
Die Bibliothek enthält die Eigenschaft CExpertBase::m_trend_type, aber leider wird sie in den mit der Plattform gelieferten Beispielen nirgends wirklich verwendet. Ich bin zwischen zwei Gestaltungsmöglichkeiten hin- und hergerissen... Hinzufügen eines Trend-Filterungsobjekt direkt in meiner Unterklasse von CExpert (siehe Codeschnipsel unten), was mehr Kontrolle über Handelsentscheidungen auf der Ebene des Experten bieten könnte. Eine andere Möglichkeit, das Problem zu lösen, könnte darin bestehen, mit den Filtern meines Hauptsignalobjekts zu fummeln und irgendwie den Trend zu berechnen und eine Entscheidung innerhalb meiner Unterklasse von CSignalExpert zu treffen, z. B. innerhalb von CSignalWithTrendFilter::Direction(). Ich bin mir noch nicht ganz sicher, was die Vor- und Nachteile der einen Methode gegenüber der anderen sind, und welche mir mehr Flexibilität für die Anforderungen meiner zukünftigen Projekte bietet, d.h. mehr Code-Wiederverwendung ohne Komplikationen und weniger Anpassungen meiner Basisklassen.
class CExpertWithTrendFilter : public CExpert
{
protected:
CExpertSignal *m_trend;// parallel zu CExpert::m_signal arbeiten, um die von ihm erzeugten Signale zu filtern// ...virtualbool Processing(void);
virtualbool CheckOpen(void);
// ...
};
bool CExpertWithTrendFilter::Processing(void)
{
CExpertBase::m_trend_type = (ENUM_TYPE_TREND) m_trend.Direction();// Bestimmung des aktuellen Trends anhand eines von CExpertSignal abgeleiteten Spezialobjektsm_signal.TrendType(m_trend_type);// Übergabe des Trendtyps/der Trendstärke als Eingabe an m_signal, ebenfalls eine Unterklasse von CExpertSignal
m_signal.SetDirection(); // OPTION #1 >>> Signalrichtung berechnen, eventuell unter Berücksichtigung des oben ermittelten Trends (oder auch nicht)// ...if(CheckOpen()) // OPTION #2 >>> alternativ kann der Trendtyp/die Trendstärke von einem Experten geprüft werden, bevor eine Long- oder Shortposition eröffnet wirdreturn(true);
retun(false); // Rückkehr ohne weitere Operationen
}
bool CExpertWithTrendFilter::CheckOpen(void)
{
if(m_trend_type > TYPE_TREND_FLAT && CheckOpenLong()) // Erlaubt nur die Eröffnung einer Longposition, wenn die Trendfilterrichtung übereinstimmtreturn(true);
if(m_trend_type < TYPE_TREND_FLAT && CheckOpenShort()) // Erlaube nur die Eröffnung eines Shorts, wenn die Richtung des Trendfilters übereinstimmtreturn(true);
return(false); // Rückkehr ohne weitere Operationen
}
Vielen Dank im Voraus für Ihre Hilfe und Empfehlungen.
In this article, I offer my set of trading functions in the form of a ready-made EA. This method allows getting multiple trading strategies by simply adding indicators and changing inputs.
OK, ich verstehe - ich lese den Artikel und werde mir den beigefügten Code ansehen... auf jeden Fall würde ich mich über Ihren Kommentar/Meinung zu der obigen Frage freuen, wenn es Ihnen nichts ausmacht. Herzlichen Dank!
OK, ich verstehe - ich lese den Artikel und werde mir den beigefügten Code ansehen... auf jeden Fall würde ich mich über Ihren Kommentar/Meinung zu der obigen Frage freuen, wenn es Ihnen nichts ausmacht. Herzlichen Dank!
CExpertSignal ist die Vergangenheit. Keine Kommentare.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
hallo vladimir,
Ich mag diesen Artikel, ist es möglich, einen EA zu schreiben, die nur schwebende Aufträge verwendet, um Trades mit einem anderen Indikator zu öffnen. zum Beispiel, wenn der Preis in eine Richtung um 5 bewegt es löst einen Kauf oder Verkauf unabhängig.
hallo vladimir,
ich mag diesen Artikel, ist es möglich, einen EA zu schreiben, der nur Pending Orders verwendet, um Trades mit einem anderen Indikator zu öffnen. z.B. wenn sich der Preis in eine Richtung um 5 bewegt, löst er unabhängig davon einen Kauf oder Verkauf aus.
Sind Sie sicher, dass Ihre Frage bezieht sich auf einen Artikel MQL5 Wizard: How to Teach an EA to Open Pending Orders at Any Price?
Hallo Wladimir.
Hallo @Vladimir Karputov -- das war ein sehr lehrreicher Artikel, danke dafür!
Ich persönlich finde dieses OOP-Framework in MQL5 recht interessant für den Aufbau von Bots durch die Zusammenstellung von Objekten, die Experten, Signale, Filter, Indikatoren, Risikomanager usw. darstellen -- meiner Meinung nach ein sehr eleganter Ansatz, da er die Wiederverwendung von Code und die Erweiterbarkeit begünstigt, ohne anscheinend viel Leistung zu opfern... allerdings scheint die Lernkurve aufgrund seiner Komplexität ziemlich steil zu sein.
Da ich ausschließlich auf MQL5 umsteige und gute Erfahrungen mit OOP-Konzepten/Sprachen habe, bin ich jedenfalls sehr daran interessiert, es für meinen eigenen Gebrauch beim Prototyping neuer Handelsideen und der Entwicklung von Handelssystemen zu adaptieren. Ich habe den Code der Bibliothek studiert und mit ihm gespielt und wollte wissen, welche Vorgehensweise Sie für die folgenden Fälle empfehlen:
FRAGE: Wie würden Sie einen Trendfilter für die im Experten empfangenen Signale integrieren?
Die Bibliothek enthält die Eigenschaft CExpertBase::m_trend_type, aber leider wird sie in den mit der Plattform gelieferten Beispielen nirgends wirklich verwendet. Ich bin zwischen zwei Gestaltungsmöglichkeiten hin- und hergerissen... Hinzufügen eines Trend-Filterungsobjekt direkt in meiner Unterklasse von CExpert (siehe Codeschnipsel unten), was mehr Kontrolle über Handelsentscheidungen auf der Ebene des Experten bieten könnte. Eine andere Möglichkeit, das Problem zu lösen, könnte darin bestehen, mit den Filtern meines Hauptsignalobjekts zu fummeln und irgendwie den Trend zu berechnen und eine Entscheidung innerhalb meiner Unterklasse von CSignalExpert zu treffen, z. B. innerhalb von CSignalWithTrendFilter::Direction(). Ich bin mir noch nicht ganz sicher, was die Vor- und Nachteile der einen Methode gegenüber der anderen sind, und welche mir mehr Flexibilität für die Anforderungen meiner zukünftigen Projekte bietet, d.h. mehr Code-Wiederverwendung ohne Komplikationen und weniger Anpassungen meiner Basisklassen.
Vielen Dank im Voraus für Ihre Hilfe und Empfehlungen.
Ich habe vor langer Zeit zu meiner Trading Engine gewechselt Ein Versuch, einen EA-Konstruktor zu entwickeln - er ist flexibler.
OK, ich verstehe - ich lese den Artikel und werde mir den beigefügten Code ansehen... auf jeden Fall würde ich mich über Ihren Kommentar/Meinung zu der obigen Frage freuen, wenn es Ihnen nichts ausmacht. Herzlichen Dank!
OK, ich verstehe - ich lese den Artikel und werde mir den beigefügten Code ansehen... auf jeden Fall würde ich mich über Ihren Kommentar/Meinung zu der obigen Frage freuen, wenn es Ihnen nichts ausmacht. Herzlichen Dank!
CExpertSignal ist die Vergangenheit. Keine Kommentare.
CExpertSignal ist die Vergangenheit. Keine Kommentare.
:-)