Langfristige Handelsgeschäfte optimieren: Engulfing-Kerzenmuster und Liquiditätsstrategien
Einführung
Ich habe diesen Artikel mit einer klaren Perspektive und Entschlossenheit verfasst, um eine sehr unangenehme Entdeckung zu adressieren, bei der es in letzter Zeit sehr häufig vorgekommen ist, dass sich Händler im Lärm und in der Unsicherheit des kurzfristigen Handels oder Scalpings verloren haben, was zum Untergang so vieler Handelskonten geführt hat. Ich muss zugeben, dass dies nicht nur neue Händler betrifft, sondern dass auch erfahrene Händler immer wieder darunter leiden können.
Die meisten Händler sind so sehr im kurzfristigen Handel, im Scalping und in kleinen Schwankungen gefangen, dass sie leicht vergessen, dass sich der Preis von Punkt A nach B bewegt und dabei eine Agenda, ein Narrativ und ein Ziel vor Augen hat. Außerdem vergessen Händler leicht, dass alles in den Charts aus dem höheren Zeitrahmen stammt, bevor es auf den niedrigeren Zeitrahmen hinunterrieselt, und daher der Ursprung des Wortes Top-Down-Analyse im Handel, da es effektiver ist, Handelsgeschäfte vom hohen bis zum niedrigeren Zeitrahmen zu analysieren und sogar von dort aus Handelsausführungen auf der Grundlage von interessanten Punkten der höheren Zeitrahmenbereiche zu tätigen.
Es hat sich gezeigt, dass Handelsgeschäfte, die in höheren Zeitrahmen analysiert, ausgeführt, gehandelt und verfolgt werden, nicht nur schneller genauer sind, sondern auch einen sehr geringen Drawdown aufweisen, da sich der Preis mit größerer Geschwindigkeit und geringerem Drawdown auf seine Zielpunkte zubewegt. Außerdem sind die Kursschwankungen stärker, d. h. selbst wenn man sich in einem Drawdown befindet, wird der Kurs bald entsprechend dem höheren Zeitrahmen handeln und aus dem Drawdown herauskommen.
Dieser Artikel befasst sich ausführlich mit einem EA, der speziell für langfristige Händler entwickelt wurde, die geduldig genug sind, um ihre Positionen während turbulenter Kursbewegungen im unteren Zeitrahmen zu halten, ohne ihre Ausrichtung häufig zu ändern, bis die Take-Profit-Ziele erreicht sind. Dieser EA ist auch für Händler mit niedrigerem Zeitrahmen und kurzfristige Händler von entscheidender Bedeutung, da er ihnen hilft, je nach Zeitrahmen und Auftragsfluss zu handeln und zu vermeiden, gegen den langfristigen Trend zu handeln.
Es ist oft statistisch bewiesen worden, dass der Handel in dieselbe Richtung wie der höhere Zeitrahmen-Trend mehr Erfolg bei den Handelsergebnissen hat als der Handel gegen den Trend.

Introspektion des Handels mit höheren Zeitrahmen
Das Hauptanliegen dieses Artikels ist es, hervorzuheben, wie höhere Zeitrahmen, die oft von den meisten Händlern ignoriert werden, insbesondere von denen mit begrenzter Erfahrung, und sogar von denen, die so viel Können im Spiel haben, einen so wichtigen Aspekt übersehen können, der sich letztendlich als „Game Changer“ erweisen kann.
Die Wahrheit ist, dass sich der Preis von einem Schlüsselniveau zu einem anderen Schlüsselniveau auf dem höheren Zeitrahmen bewegt, und was auch immer auf dem niedrigeren Zeitrahmen geschieht, ist nur eine Folgeerscheinung. Dies steht eigentlich im Gegensatz zu dem, was die Mehrheit glaubt, nämlich dass der untere Zeitrahmen die Preisbewegungen im oberen Zeitrahmen bestimmt, und dass der Handel in den unteren Zeitrahmen beginnt und von dort ausgeht, was wiederum die Preise und Preisaktionen im oberen Zeitrahmen bestimmt.
Das bedeutet, dass wir, bevor wir etwas unternehmen, unseren Fokus schnell auf den Monatschart (MN) richten sollten und anschließend auf die niedrigeren Zeitrahmen, nachdem wir unsere Beobachtungen und sogar Markierungen der Schlüsselbereiche und interessanten Punkte gemacht haben. Die Schlüsselbereiche und interessanten Punkte werden oft mit unterschiedlichen Bezeichnungen und Terminologien bezeichnet, wenn sie in verschiedenen Strategien verwendet werden.
Einige Händler betrachten sie als Orderblocks, andere als Unterstützung und Widerstand, andere als Angebots- und Nachfragezonen, andere als Liquiditätsüberfälle und so weiter, aber das Wichtigste, worüber sich alle diese Strategien und Theorien einig sind, ist, dass diese Punkte sehr wichtige und nützliche Niveaus sind, die oft Punkte von Interesse sind, an denen man starke Preisreaktionen vorhersehen kann und wo auch die meisten klinisch genauen und professionellen Händler nach ihren idealen Setups suchen. Und genau das will dieser Artikel ausnutzen: wie man einen EA erstellt und einsetzt, der sich dieses Phänomen effektiv zunutze macht.

Erkennung langfristiger Trends, wöchentlicher, monatlicher und täglicher Tendenzen und Vorwegnahme von Handelsrichtungen und -berichten
Nach dem Einloggen in ein MN-Chart werden als erstes die zuvor besprochenen Schlüsselpunkte (Reaktionsbereiche) markiert, die sich in der Regel an den Tiefst- und Höchstständen der vergangenen Woche befinden. Dieser wichtige Reaktionsbereich sollte immer im Auge behalten werden, da der Kurs hier in der Regel immer eine Reaktion zeigt, und er kann auch die Kursentwicklung für diesen Monat oder den Rest des Monats bestimmen.
Dies ist das, was man als niedrig hängende Früchte bezeichnen könnte, da es sich um den nächstgelegenen Reaktionsbereich auf der Basis des (MN) Chart-Zeitrahmens handelt. Ein weiterer interessanter Punkt sind Fair-Value-Gaps, die als Take-Profit-Bereiche genutzt werden können, und die letzten Schlüsselbereiche sind relative gleiche Hochs und Tiefs, die auf dem Chart erscheinen.
Händler, die aufmerksam genug sind, werden feststellen, dass der Preis in diesem Bereich zu ihnen kommen kann und schnell Tief/Hoch bereinigen und dann schnell Engulfing-Kerzen bilden. Dies kann in einem noch kleineren Zeitrahmen geschehen und ist kein Muss; es muss im gleichen Zeitrahmen geschehen, um erfolgreich und effektiv zu sein. Wenn dies z. B. der Fall ist, der Kurs das Tief der Vorwoche ausräumt und sich eine Engulfing-Aufwärtskerze schnell in die entgegengesetzte Richtung ausbreitet, könnten wir Zeuge eines sehr langfristigen Handels sein, da sich Trends, Richtungen und Erzählungen in höheren Zeitrahmen selten ändern.
Das Ziel besteht darin, geduldig zu warten, bis die Engulfing-Kerze abgeschlossen ist, und sobald wir sicher sind, dass sie erfolgreich ist, können wir unsere langfristigen Kaufpositionen eingehen, die wochen- oder sogar monatelang gehalten werden können, wobei unsere Gewinnmitnahmen auf den Höchstständen der Vormonate, auf relativ gleichen Höchstständen oder auf markanten Schrei-Höchstständen liegen, und in diesen Bereichen bestimmen wir unseren monatlichen Ausblick und unser Profil.
Auch wenn dieses Ereignis eingetreten ist, der Kurs aber noch keine signifikanten Gewinnmitnahmebereiche erreicht hat, ist nicht mit einer Trendumkehr zu rechnen. Es wird Schwankungen und kurzfristige Umkehrungen geben, insbesondere im unteren Zeitrahmen, aber sie werden die langfristigen Aussichten nicht wirklich beeinflussen. Das Ende von Trends oder Umschwünge werden am entgegengesetzten Ende des Monats oder in den bereits erläuterten Schlüsselbereichen auftreten. Damit es zu Verkäufen kommt, muss das Engulfing-Kerzenmuster nach einer Liquiditätsbereinigung auftreten. Die gleiche Formel oder Theorie findet sich auch auf dem Wochenchart und wird verwendet, um die wöchentlichen Aussichten und den Bericht zu bestimmen.
So kann der Kurs beispielsweise ein Hoch der Vorwoche erreichen und dieses mit großer Geschwindigkeit und Kraft ausräumen. Nach diesem Liquiditätsentzug bildet sich dann schnell eine rückläufiges Engulfing-Kerzenmuster in die entgegengesetzte Richtung, entweder im D1-Zeitrahmen oder im gleichen W1-Zeitrahmen, und schließt.
Wie in den anderen Zeitrahmen werden Gewinnmitnahmepunkte markiert, und unser ganzes Augenmerk sollte auf dem Tief der Vorwoche liegen. Wenn dieses bereinigt wird und der Kurs sich nicht verlangsamt, kann es sich um einen Bereich mit teilweiser Gewinnmitnahme handeln, da unser langfristiges Ziel an Fair-Value-Gaps, relative gleiche Tiefs oder das letzte Tief im W1-Chart angepasst wird.
Das letzte Szenario, in dem dieses großartige und ausgeprägte Merkmal auftritt, ist der D1-Zeitrahmen, der meiner Meinung nach ein kritischer und grundlegender Zeitrahmen ist, weil er als Mittelweg oder Brücke zwischen zwei Extremen fungiert: den unteren Zeitrahmen und den höheren Zeitrahmen. Der D1-Zeitrahmen ist wahrscheinlich sogar der beste Zeitrahmen für Intraday- und kurzfristige Handelsgeschäfte, die sich über ein paar Tage oder Stunden erstrecken.
Außerdem ist es in diesem Zeitrahmen relativ einfach, sowohl kurzfristige als auch langfristige Schwankungen zu erkennen und schließlich die Geschichte und den Trend zu erkennen. Da es sich hier um einen sehr wichtigen Zeitrahmen handelt, sollten sich Händler auf relativ gleiche Höchst- und Tiefststände, frühere Höchst- und Tiefststände sowie Höchst- und Tiefststände des Vortages konzentrieren, da alle benötigten Daten hier liegen und antizipiert und gehandelt werden.
Der Kurs kann sich in diesem Zeitrahmen aggressiv in Richtung relativ gleicher Höchst-/Tiefststände oder Tiefst- und Höchststände der Vortage bewegen und den Bereich bereinigen. Für dieses Beispiel können wir das Tief des Vortages verwenden. Sehr bald wird sich in diesem Bereich eine Engulfing-Aufwärtskerze bilden, die einen neuen Aufwärtstrend auf D1 signalisiert. Die Engulfing-Kerze kann auch auf dem unteren Zeitrahmen H4 erscheinen.
Wenn dies geschieht, deutet dies auf einen potenziellen langfristigen Trend in diesem Zeitrahmen hin, und das Ziel für Gewinnmitnahmen wäre das Hoch des Vortages oder sogar noch weiter in Richtung der jüngsten Hochs auf D1/relativen gleichen Hochs. In manchen Fällen bieten Fair-Value-Lücken die beste Gelegenheit zum Ausstieg aus Handelsgeschäften oder zur teilweisen Gewinnmitnahme.
Einige wichtige Faktoren, die es zu beachten gilt, sind Widerstands- und Unterstützungsbereiche, sowie Angebot und Nachfrage und Orderblöcke, da sie sich alle auf dasselbe Muster beziehen, nur mit anderen Namen. Eine weitere wichtige Information ist, dass Gewinnmitnahmebereiche nicht statisch sind und sich ändern können, und sogar der Gesamttrend kann sich manchmal ändern, je nach geopolitischem Klima oder Faktoren, die den gehandelten Vermögenswert unterstützen.
Aus diesem Grund sind partielle Gewinnmitnahmen in diesem EA sehr effektiv, ebenso wie andere Faktoren wie Fair-Value-Gaps, um solche Verluste abzumildern und Umkehrungen zu antizipieren. Dennoch sollte ein Händler im Hinterkopf behalten, dass keiner dieser Faktoren auftritt, wenn er sich nicht auf Schlüsselniveaus befindet; diese sind so etwas wie die Busbahnhofpunkte für den Preis.

Höherer Zeitrahmen Richtung, Trends, Narrative
Jetzt kommt der letzte und einfachere Teil. Die Festlegung von Schwerpunkten und möglichen Zielbereichen ist jedoch nur ein Schritt in die richtige Richtung. Nachdem wir dies festgestellt haben und aus praktischen Gründen unsere Markierungen manuell auf dem Chart vorgenommen haben, hilft uns das, uns nicht im Rauschen zu verlieren und uns klar auf die Erzählung im Spiel zu konzentrieren. Sobald das Phänomen im MN-Zeitrahmen auftritt, z. B. wenn er die Tiefststände der Vormonate überwunden hat und die Engulfing-Kerze den Kauf-Einstieg bestätigt haben, bedeutet dies, dass das monatliche Profil, die Tendenz und die Erzählung, die im Spiel sind, allgemein steigen, und der Verkauf würde gegen den monatlichen Trend laufen.
Derselbe Fall tritt auch auf dem Wochenchart auf. Wenn der Kurs beispielsweise die Höchststände der Vorwoche durchbricht, die Engulfing-Abwärtskerze bestätigt werden und der Kurs zu verkaufen beginnt, bedeutet dies, dass die wöchentliche Tendenz, die Tendenz und der Trend auf Verkaufen stehen, und die Chancen stehen gut, dass Sie, wenn Sie versuchen zu kaufen oder eine Aufwärtsbewegung zu handeln, mit hoher Wahrscheinlichkeit ausgestoppt werden, da Sie gegen den Trend der Woche handeln. Das Einfachste, was man tun kann, um schnell Geld zu verdienen, ist der Handel mit wöchentlichen und monatlichen Zeitrahmen. Dies erspart Händlern eine Menge Drawdowns, Herzschmerz und Stop-Outs.
Die letzte wäre ein Charts des Zeitrahmens D1 nach der Säuberung der jüngsten Tiefs / Hochs oder Hochs / Tiefs der vergangenen Tage und Engulfing-Kerze formiert sich von diesen Tiefs entweder in H4 oder D1; das würde einfach bedeuten, eine potenzielle Aufwärts-Tag in Bias, und unteren Zeitrahmen sollten ausgeführt werden, mit diesem im Hinterkopf. Der letzte goldene Nugget, den ich mir für den Schluss aufgespart habe, ist, dass ein Händler, um optimale Ergebnisse und Erfolg zu erzielen, der Ausführung von Handelsgeschäften den Vorrang geben sollte, wenn beide oder alle 3 Zeitrahmen übereinstimmen und die gleiche Richtung, Erzählung und den gleichen Trend aufweisen. Wenn W1, D1 und MN alle dieselbe Sprache sprechen, sind dies einige der einfachsten Handelstage überhaupt – sehr schnell mit minimalen Drawdowns oder Rücksetzern.
In den nächsten Kapiteln werde ich näher darauf eingehen, wie man einen EA entwirft und konfiguriert, der auf der HTF-Analyse basiert und diese zur Bestimmung der langfristigen Überzeugung, z. B. der wöchentlichen, täglichen und monatlichen Erzählung und Verzerrung, verwendet.

Automatisieren von Handelsentscheidungen mit HTF Engulfing King Expert Advisor in MQL5
Um diese Strategie zu automatisieren, zu veranschaulichen und umzusetzen, habe ich Folgendes entwickelt:
- Ein Expert Advisor mit höherem Zeitrahmen zur Analyse von Trends und möglichen Handelseinstiegspunkten nach Liquiditätsbereinigungen, unter Einbeziehung von Trailing Stop Loss und einfachen gleitenden Durchschnitten.
Prozess der Entscheidungsfindung
Die Entscheidungen dieses Expert Advisors (Erkennung von Liquidität, Erkennung von Engulfing-Kerzenmuster und Handelsausführung) werden durch die folgende Logik gesteuert:
Quellcode des HTF Engulfing King Expert Advisor
Dieser Expert Advisor erkennt langfristige Handelssignale aus den Charts D1, MN und W1 mit höherem Zeitrahmen und wartet auf Engulfing-Kerzen unmittelbar nach Liquiditätsbereinigungen, die er als Handelseinstieg interpretiert. Außerdem wird ein einfacher gleitender Durchschnitt verwendet, um die allgemeine Trendrichtung für den Einstieg in den Handel zu ermitteln, und es wird eine Trailing-Stop-Loss-Logik angewendet, um Stop-Loss-Niveaus zu bestimmen und das Kapital zu schützen, wenn sich der Preis zu seinen Gunsten entwickelt. Er beinhaltet ein Risikomanagement (1% Risiko pro Handel).
Eingabeparameter: Konfigurierbare Handelseinstellungen
Mit den Eingabeparametern können die Nutzer das Verhalten des EA für den Handel mit GBPJPY, GBPUSD und EURUSD anpassen, ohne den Kerncode zu verändern. LotSize ist auf 0,1 eingestellt, eine konservative Größe, die für GBP-Paare geeignet ist, um das Risiko bei ihrer moderaten Volatilität (100-300 Pips täglich) zu begrenzen. LookbackBars (3) definiert das Fenster für die Identifizierung der jüngsten Hochs/Tiefs auf H1/H4/D1, wobei ein Gleichgewicht zwischen Reaktionsfähigkeit und Zuverlässigkeit hergestellt wird. StopLossPips (150) und TakeProfitPips (600) sind an die typischen Schwankungsbreiten von GBPJPY, GBPUSD/EURUSD angepasst und zielen auf ein Risiko-Ertrags-Verhältnis von 1:4 ab, um von starken Trends nach einem Ausbruch zu profitieren. TrailingStopPips (100) stellt sicher, dass die Gewinne während der stärkeren Bewegungen des GBPJPY gesichert sind. EngulfingMinBodyRatio (0,3) stellt sicher, dass der Körper der einbindenden Kerze im Vergleich zur vorherigen Kerze signifikant ist, und filtert schwache Signale heraus.
TradeTimeframe (H1) und ConfirmationTimeframe (M15) ermöglichen eine flexible Erkennung von Bereinigungssignalen bzw. eine schnellere Bestätigung des Einstiegs. MaxCandlesPostPurge (3) begrenzt das Zeitfenster für Engulfing-Signale nach der Bereinigung, um späte Einstiegsmöglichkeiten zu vermeiden. VolumeThreshold (1.0) erfordert eine Volumenspitze, um die Liquidität zu bestätigen, was für die nachrichtengetriebenen Bewegungen des GBPUSD entscheidend ist. UseTrendFilter (true) und SMAPeriod (50) aktivieren einen 50-Perioden-SMA, um sicherzustellen, dass die Handelsgeschäfte mit dem breiteren Trend übereinstimmen und falsche Ausbrüche in unruhigen GBP-Märkten vermieden werden.
//+------------------------------------------------------------------+ //| FlexibleMultiTFEngulfingEA.mq5 | //| Expert Advisor for MetaTrader 5 | //| Description: Trades based on H1/H4/D1 highs/lows purges, waits | //| for engulfing candles on H1 or M15, with flexible execution. | //+------------------------------------------------------------------+ #property copyright "Eugene Mmene" #property link "https://EMcapital.com" #property version "1.06" //--- Input Parameters input double LotSize = 0.1; // Lot size for trades input int LookbackBars = 3; // Number of bars to check for highs/lows input double StopLossPips = 150.0; // Stop loss in pips (adjusted for GBPUSD/GBPJPY) input double TakeProfitPips = 600.0; // Take profit in pips (adjusted for GBPUSD/GBPJPY) input double TrailingStopPips = 100.0;// Trailing stop in pips input double EngulfingMinBodyRatio = 0.3; // Min body ratio for engulfing candle input ENUM_TIMEFRAMES TradeTimeframe = PERIOD_H1; // Primary timeframe for trading input ENUM_TIMEFRAMES ConfirmationTimeframe = PERIOD_M15; // Lower timeframe for engulfing input int MaxCandlesPostPurge = 3; // Max H1 candles to wait for engulfing input double VolumeThreshold = 1.0; // Volume multiplier for liquidity confirmation input bool UseTrendFilter = true; // Use SMA trend filter input int SMAPeriod = 50; // SMA period for trend filter
Die Funktion OnInit: Einrichtung und Validierung für robusten Handel
Die Funktion OnInit wird einmal ausgeführt, wenn der EA auf den Chart geladen wird, und stellt sicher, dass er für den Handel mit GBPUSD, GBPJPY und EURUSD richtig eingestellt ist. Sie validiert TradeTimeframe (H1, H4 oder D1) und den ConfirmationTimeframe (M15 oder M30), um die Kompatibilität mit dem Multi-Timeframe-Ansatz der Strategie zu gewährleisten, und weist ungültige Eingaben zurück, um Fehler zu vermeiden. Die Funktion ruft die Kontraktgröße des Symbols unter Verwendung von SymbolInfoDouble ab, was für eine genaue Positionsgrößenbestimmung bei GBP-Paaren wichtig ist, bei denen die Pip-Werte unterschiedlich sind (z.B. ist der Pip-Wert von GBPJPY aufgrund der JPY-Skala kleiner).
Globale Variablen, die Hochs/Tiefs (lastHighH1, lastLowH1, etc.), Kerzenzeiten und Handelsstatus verfolgen, werden mit Null oder false initialisiert, wodurch der Status des EAs zurückgesetzt wird. Die Überprüfung der Kontraktgröße stellt sicher, dass der EA korrekte Losgrößen berechnen kann, was besonders wichtig für die höhere Pip-Wert-Sensitivität des GBPJPY ist. Eine erfolgreiche Initialisierung protokolliert den Zeitrahmen und die Kontraktgröße und bestätigt damit die Handelsbereitschaft. Dieses Setup stellt sicher, dass der EA robust und auf die spezifische Marktdynamik von EURUSD/GBPUSD/GBPJPY zugeschnitten ist, im Gegensatz zu den breiteren Preisschwankungen von Gold.
int OnInit() { if(TradeTimeframe != PE RIOD_H1 && TradeTimeframe != PERIOD_H4 && TradeTimeframe != PERIOD_D1) { Print("Invalid trade timeframe. Use H1, H4, or D1."); return(INIT_PARAMETERS_INCORRECT); } if(ConfirmationTimeframe != PERIOD_M15 && ConfirmationTimeframe != PERIOD_M30) { Print("Invalid confirmation timeframe. Use M15 or M30."); return(INIT_PARAMETERS_INCORRECT); } contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE); if(contractSize == 0) { Print("Failed to get contract size for ", _Symbol); return(INIT_PARAMETERS_INCORRECT); } lastHighH1 = 0; lastLowH1 = 0; lastHighH4 = 0; lastLowH4 = 0; lastHighD1 = 0; lastLowD1 = 0; lastCandleTime = 0; tradePlaced = false; purgeDetected = false; lastPurgeTime = 0; Print("EA Initialized on ", EnumToString(TradeTimeframe), ", Confirmation TF: ", EnumToString(ConfirmationTimeframe), ", Contract Size: ", contractSize); return(INIT_SUCCEEDED); }
Die Funktion IsNewCandle: Triggerlogik bei einem neuen Balken
Die Funktion „IsNewCandle“ prüft, ob sich eine neue Kerze auf dem primären Handelszeitrahmen (Standard H1) gebildet hat, indem sie den Zeitstempel der aktuellen Kerze (iTime) mit der letzten aufgezeichneten Kerzenzeit (lastCandleTime) vergleicht. Wenn eine neue Kerze erkannt wird, wird „lastCandleTime“ aktualisiert, und die Funktion gibt „true“ zurück, wodurch die Haupthandelslogik in „OnTick“ ausgelöst wird. Dadurch wird sichergestellt, dass der EA die Handelsbedingungen nur einmal pro H1-Kerze auswertet, was den Verarbeitungsaufwand reduziert und redundante Überprüfungen während volatiler Intrabar-Bewegungen im GBPUSD/GBPJPY verhindert. Durch die Fokussierung auf neue Balken passt sich der EA an die Strategie an, die sich auf vollständige Kerzendaten zur Erkennung von Bereinigungs- und Engulfing-Mustern stützt, die für die Erfassung signifikanter Kursbewegungen in den trendgesteuerten Märkten der GBP-Paare entscheidend sind. Diese Funktion ist leicht, aber für die Aufrechterhaltung der Effizienz und Genauigkeit des EA unerlässlich.
bool IsNewCandle() { datetime currentCandleTime = iTime(_Symbol, TradeTimeframe, 0); if(currentCandleTime != lastCandleTime) { lastCandleTime = currentCandleTime; return true; } return false; }
Die Funktion UpdateHighsLows: Überwachen der Liquiditätsbereinigungslevels
Die Funktion „UpdateHighsLows“ verfolgt die höchsten Hochs und tiefsten Tiefs der letzten „LookbackBars“ (Standard 3) auf H1, H4 und D1 Zeitrahmen und speichert sie in globalen Variablen (lastHighH1, lastLowH1, etc.). Sie verwendet „CopyRates“, um historische Kursdaten abzurufen, wobei „ArraySetAsSeries“ sicherstellt, dass die jüngste Kerze bei Index 0 steht. Für jeden Zeitrahmen werden die Höchst-/Tiefstwerte mit den Werten der ersten Kerze initialisiert und durch Iteration über den Rückblickzeitraum aktualisiert, wobei die extremen Preise erfasst werden.
Diese Funktion ist von entscheidender Bedeutung für die Erkennung von Liquiditätsbereinigungen – wenn die aktuelle H1-Kerze ein vorheriges Hoch oder ein Tief in einem beliebigen Zeitrahmen durchbricht, was eine potenzielle Trendumkehr oder -fortsetzung in EURUSD, GBPUSD/GBPJPY signalisiert. Der Multi-Timeframe-Ansatz stellt sicher, dass der EA signifikante Liquiditätsschwankungen erfasst, wie z. B. solche, die durch Stop-Hunts in den volatilen Bewegungen des GBPJPY ausgelöst werden. Die Fehlerbehandlung protokolliert Ausfälle in Bezug auf die Belastungsraten und gewährleistet so Robustheit. Diese Funktion bildet die Grundlage für die sauberen Eröffnungslogik der Strategie, die auf die Empfindlichkeit der GBP-Paare gegenüber wichtigen Unterstützungs-/Widerstandsniveaus zugeschnitten ist.
void UpdateHighsLows() { // H1 MqlRates ratesH1[]; ArraySetAsSeries(ratesH1, true); if(CopyRates(_Symbol, PERIOD_H1, 1, LookbackBars, ratesH1) >= LookbackBars) { lastHighH1 = ratesH1[0].high; lastLowH1 = ratesH1[0].low; for(int i = 1; i < LookbackBars; i++) { if(ratesH1[i].high > lastHighH1) lastHighH1 = ratesH1[i].high; if(ratesH1[i].low < lastLowH1) lastLowH1 = ratesH1[i].low; } } else Print("Failed to load H1 rates"); // H4 MqlRates ratesH4[]; ArraySetAsSeries(ratesH4, true); if(CopyRates(_Symbol, PERIOD_H4, 1, LookbackBars, ratesH4) >= LookbackBars) { lastHighH4 = ratesH4[0].high; lastLowH4 = ratesH4[0].low; for(int i = 1; i < LookbackBars; i++) { if(ratesH4[i].high > lastHighH4) lastHighH4 = ratesH4[i].high; if(ratesH4[i].low < lastLowH4) lastLowH4 = ratesH4[i].low; } } else Print("Failed to load H4 rates"); // D1 MqlRates ratesD1[]; ArraySetAsSeries(ratesD1, true); if(CopyRates(_Symbol, PERIOD_D1, 1, LookbackBars, ratesD1) >= LookbackBars) { lastHighD1 = ratesD1[0].high; lastLowD1 = ratesD1[0].low; for(int i = 1; i < LookbackBars; i++) { if(ratesD1[i].high > lastHighD1) lastHighD1 = ratesD1[i].high; if(ratesD1[i].low < lastLowD1) lastLowD1 = ratesD1[i].low; } } else Print("Failed to load D1 rates"); }
Die Funktion IsVolumeSpike: Validierung der Handelsliquidität
Die Funktion „IsVolumeSpike“ bestätigt Handels-Setups, indem sie prüft, ob das Tick-Volumen der aktuellen Kerze das durchschnittliche Volumen über „LookbackBars“ (3) um einen Faktor von „VolumeThreshold“ (1.0) übersteigt. Sie verwendet „CopyRates“, um die jüngsten Kerzen auf dem Handelszeitrahmen (H1) abzurufen und das durchschnittliche Volumen der gültigen Balken zu berechnen (diejenigen mit einem Volumen > 1, um Datenprobleme zu vermeiden). Wenn keine gültigen Balken vorhanden sind, wird die Prüfung umgangen, um ein Abwürgen zu verhindern, und eine Warnung zur Fehlersuche protokolliert. Bei EURUSD, GBPUSD und GBPJPY gehen hohe Volumina häufig mit bedeutenden Kursbewegungen einher, z. B. mit Ausbrüchen nach Nachrichten oder Liquiditätsschwankungen, sodass dieser Filter für die Validierung von Bereinigungen entscheidend ist. Die Funktion protokolliert das aktuelle und durchschnittliche Volumen, um Transparenz zu schaffen. Durch die Sicherstellung der Volumenbestätigung vermeidet der EA Setups mit geringer Liquidität, die zu falschen Signalen in GBP-Paaren führen, und verbessert so die Handelsqualität und Rentabilität in trendorientierten Märkten wie GBPJPY.
bool IsVolumeSpike(long currentVolume) { double avgVolume = 0; MqlRates rates[]; ArraySetAsSeries(rates, true); if(CopyRates(_Symbol, TradeTimeframe, 1, LookbackBars, rates) < LookbackBars) { Print("Failed to load rates for volume check"); return true; } int validBars = 0; for(int i = 0; i < LookbackBars; i++) { if(rates[i].tick_volume > 1) { avgVolume += rates[i].tick_volume; validBars++; } } if(validBars == 0) { Print("Warning: No valid volume data. Average volume is 0. Bypassing volume check."); return true; } avgVolume /= validBars; Print("Current volume: ", currentVolume, ", Average volume: ", avgVolume, ", Valid bars: ", validBars); return currentVolume >= VolumeThreshold * avgVolume; }
Die Funktion IsBullishTrend: Sicherstellung der Trendausrichtung
Die Funktion „IsBullishTrend“ verwendet einen einfachen gleitenden 50-Perioden-Durchschnitt (SMA) auf dem Handelszeitrahmen (H1), um die Trendrichtung des Marktes zu bestimmen. Sie erstellt einen SMA-Handle mit „iMA“, holt den letzten SMA-Wert über „CopyBuffer“ und vergleicht ihn mit dem aktuellen Schlusskurs („iClose“). Liegt der Kurs über dem SMA, gibt die Funktion den Wert „true“ zurück, was auf einen Aufwärtstrend hinweist; andernfalls bedeutet dies einen Abwärtstrend oder einen neutralen Trend.
Wenn „UseTrendFilter“ aktiviert ist (Standardeinstellung true), stellt diese Funktion sicher, dass Kaufgeschäfte nur unter Aufwärts-Bedingungen und Verkaufsgeschäfte nur unter Abwärts-Bedingungen getätigt werden. Dies entspricht der Tendenz von EURUSD, GBPUSD/GBPJPY, während der Londoner/New Yorker Sitzungen anhaltenden Trends zu folgen. Die Fehlerbehandlung protokolliert SMA-Datenausfälle und gewährleistet so die Zuverlässigkeit. Dieser Filter reduziert falsche Ausbrüche in unruhigen Märkten, ein häufiges Problem bei GBP-Paaren, indem er den breiteren Marktkontext bestätigt, bevor er in den Handel nach dem Ausbruch einsteigt.
bool IsBullishTrend() { double sma[]; ArraySetAsSeries(sma, true); int smaHandle = iMA(_Symbol, TradeTimeframe, SMAPeriod, 0, MODE_SMA, PRICE_CLOSE); if(CopyBuffer(smaHandle, 0, 0, 1, sma) < 1) { Print("Failed to load SMA data"); return false; } double currentPrice = iClose(_Symbol, TradeTimeframe, 0); Print("Current price: ", currentPrice, ", SMA: ", sma[0]); return currentPrice > sma[0]; }
IsBullishEngulfing und IsBearishEngulfing: Bestätigung von Umkehrsignalen
Diese Funktionen erkennen Engulfing-Aufwärts- und Abwärtskerzen, wichtige Umkehrmuster, die zur Bestätigung von Einstiegen nach einer Bereinigung verwendet werden. Die Funktion „IsBullishEngulfing“ prüft, ob die aktuelle eine Aufwärtskerze ist (Close > Open), die vorherige eine Abwärtskerze ist (Close < Open), die aktuelle eine Engulfing-Kerze ist (Open ≤ Previous Close, Close ≥ Previous Open) und der Körper der aktuellen Kerze mindestens „EngulfingMinBodyRatio“ (0,3) mal so groß ist wie der Körper der vorherigen Kerze. „IsBearishEngulfing“ wendet die umgekehrte Logik für Abwärtssituationen an. Bei EURUSD, GBPUSD und GBPJPY signalisieren Engulfing-Kerzen auf M15 oder H1 nach der Aufwärtsbewegung oft starke Umkehrungen oder Fortsetzungen, insbesondere nach Liquiditätsschwankungen auf Schlüsselwerten.
Die Prüfung des Verhältnisses des Kerzenkörpers stellt sicher, dass die Engulfing-Kerze signifikant ist und filtert schwache Muster in den volatilen GBP-Paarungen heraus. Diese Funktionen werden auf die letzten drei Kerzen sowohl auf H1 als auch auf M15 angewandt und bieten so die Flexibilität, Signale auf beiden Zeitrahmen abzufangen, was die Reaktionsfähigkeit des EA auf die Dynamik des GBP-Marktes erhöht.
bool IsBullishEngulfing(MqlRates ¤t, MqlRates &previous) { double currentBody = MathAbs(current.close - current.open); double prevBody = MathAbs(previous.close - previous.open); if(current.close > current.open && previous.close < previous.open && current.open <= previous.close && current.close >= previous.open && currentBody >= EngulfingMinBodyRatio * prevBody) { return true; } return false; } bool IsBearishEngulfing(MqlRates ¤t, MqlRates &previous) { double currentBody = MathAbs(current.close - current.open); double prevBody = MathAbs(previous.close - previous.open); if(current.close < current.open && previous.close > previous.open && current.open >= previous.close && current.close <= previous.open && currentBody >= EngulfingMinBodyRatio * prevBody) { return true; } return false; }
Die Funktion PlaceTrade: Market Orders mit SL/TP ausführen
Die Funktion „PlaceTrade“ führt Kauf- oder Verkaufsaufträge aus, wenn ein gültiges Signal bestätigt wird (Purge + Engulfing + Volumen + Trend). Sie konstruiert einen „MqlTradeRequest“ mit dem Symbol, fester „LotSize“ (0.1), Auftragsart (Kauf/Verkauf) und Einstiegspreis. Der Stop-Loss wird auf 150 Pips und der Take-Profit auf 600 Pips gesetzt, angepasst an den Punktwert von EURUSD, GBPUSD/GBPJPY (_Point * 100), um deren Pip-Skalierung zu berücksichtigen. Die Funktion „ORDER_FILLING_IOC“ (Immediate or Cancel) gewährleistet eine schnelle Ausführung, die auf dem schnelllebigen GBPJPY-Markt von entscheidender Bedeutung ist.
Im Erfolgsfall werden die Handelsdetails protokolliert, „tradePlaced“ auf true gesetzt, um Mehrfachgeschäfte zu verhindern, und „purgeDetected“ zurückgesetzt, um einen erneuten Einstieg bei demselben Signal zu vermeiden. Bei einem Fehlschlag wird der Fehlercode zur Fehlersuche protokolliert. Diese Funktion gewährleistet eine präzise Handelsausführung mit vordefinierten Risikoparametern und optimiert die Rentabilität, indem sie auf hochwahrscheinliche Setups im trendfolgenden Verhalten der GBP-Paare abzielt.
void PlaceTrade(ENUM_ORDER_TYPE orderType, double price) { MqlTradeRequest request = {}; MqlTradeResult result = {}; request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = LotSize; request.type = orderType; request.price = price; request.sl = (orderType == ORDER_TYPE_BUY) ? price - StopLossPips * _Point * 100 : price + StopLossPips * _Point * 100; request.tp = (orderType == ORDER_TYPE_BUY) ? price + TakeProfitPips * _Point * 100 : price - TakeProfitPips * _Point * 100; request.type_filling = ORDER_FILLING_IOC; if(OrderSend(request, result)) { Print("Trade placed successfully: ", orderType == ORDER_TYPE_BUY ? "BUY" : "SELL", " at ", price, " SL: ", request.sl, " TP: ", request.tp); tradePlaced = true; purgeDetected = false; // Reset purge after trade } else { Print("Trade failed: ", result.retcode); } }
Die Funktion ManageTrailingStop: Gewinne mit Trailing Stops schützen
Die Funktion „ManageTrailingStop“ passt den Stop-Loss offener Positionen dynamisch an, um Gewinne zu sichern, wenn sich der Preis günstig entwickelt. Es wird geprüft, ob eine Position für das Symbol existiert, indem „PositionSelect“ verwendet wird. Für Kaufpositionen wird ein neuer Stop-Loss zum aktuellen Geldkurs minus „TrailingStopPips“ (100 Pips) berechnet, angepasst an den Punktwert von GBPUSD, EURUSD/GBPJPY. Der neue Stop-Loss wird nur angewandt, wenn er höher ist als der aktuelle Stop-Loss und über dem Eröffnungskurs liegt, um den Break-Even oder den Gewinn zu gewährleisten. Bei Verkaufspositionen wird der Stop-Loss über den aktuellen Briefkurs gesetzt und angewendet, wenn er niedriger ist als der aktuelle Stop-Loss (oder wenn keiner existiert) und unter dem offenen Kurs liegt.
Die Funktion verwendet „MqlTradeRequest“ mit „TRADE_ACTION_SLTP“, um den Stop-Loss zu aktualisieren, wobei der Take-Profit erhalten bleibt. Dieser Trailing-Mechanismus ist für die volatilen Schwankungen des GBPJPY von entscheidender Bedeutung, da er es dem EA ermöglicht, große Bewegungen zu erfassen und gleichzeitig Gewinne zu sichern. Die Fehlerbehandlung protokolliert fehlgeschlagene Aktualisierungen und sorgt so für Transparenz. Diese Funktion erhöht die Rentabilität, indem sie das Risiko von Gewinnmitnahmen auf den trendorientierten Märkten für GBP-Paare verringert.
void ManageTrailingStop() { if(!PositionSelect(_Symbol)) return; double currentPrice = (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) ? SymbolInfoDouble(_Symbol, SYMBOL_BID) : SymbolInfoDouble(_Symbol, SYMBOL_ASK); double openPrice = PositionGetDouble(POSITION_PRICE_OPEN); double currentSL = PositionGetDouble(POSITION_SL); double newSL = 0; if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) { newSL = currentPrice - TrailingStopPips * _Point * 100; if(newSL > currentSL && newSL > openPrice) { MqlTradeRequest request = {}; MqlTradeResult result = {}; request.action = TRADE_ACTION_SLTP; request.position = PositionGetInteger(POSITION_TICKET); request.symbol = _Symbol; request.sl = newSL; request.tp = PositionGetDouble(POSITION_TP); if(OrderSend(request, result)) Print("Trailing stop updated for BUY: ", newSL); else Print("Failed to update trailing stop: ", result.retcode); } } else // POSITION_TYPE_SELL { newSL = currentPrice + TrailingStopPips * _Point * 100; if((newSL < currentSL || currentSL == 0) && newSL < openPrice) { MqlTradeRequest request = {}; MqlTradeResult result = {}; request.action = TRADE_ACTION_SLTP; request.position = PositionGetInteger(POSITION_TICKET); request.symbol = _Symbol; request.sl = newSL; request.tp = PositionGetDouble(POSITION_TP); if(OrderSend(request, result)) Print("Trailing stop updated for SELL: ", newSL); else Print("Failed to update trailing stop: ", result.retcode); } } }
Die Funktion OnTick: Zentrale Handelslogik für Purge und Engulfing
Die Funktion „OnTick“ ist die Hauptentscheidungszentrale des EA, die bei jedem Preistick ausgeführt wird, aber nur bei neuen H1-Kerzen über „IsNewCandle“ verarbeitet wird. Es setzt „tradePlaced“ zurück, wenn keine Positionen offen sind, und gewährleistet einen Handel pro Bereinigungszyklus. Trailing Stops werden für offene Positionen mit „ManageTrailingStop“ verwaltet. Die Funktion lädt Kerzendaten für H1 und M15 unter Verwendung von „CopyRates“ und vergleicht die aktuelle H1-Kerze mit früheren Hochs/Tiefs (aktualisiert über „UpdateHighsLows“), um Bereinigungen zu erkennen – Kurse, die über H1/H4/D1-Hochs oder unter Tiefs ausbrechen und damit Liquiditätsschwankungen signalisieren, die in EURUSD, GBPUSD/GBPJPY während der wichtigsten Sitzungen üblich sind. Wenn eine Bereinigung festgestellt wird, wird „purgeDetected“ gesetzt, und „lastPurgeTime“ verfolgt das Fenster (bis zu 3 H1-Kerzen).
Das Volumen wird mit „IsVolumeSpike“ überprüft, und der Trend wird mit „IsBullishTrend“ (falls aktiviert) geprüft. Engulfing-Muster werden sowohl auf H1 als auch auf M15 identifiziert, was eine flexible Bestätigung ermöglicht. Ein Kauf wird ausgelöst, wenn auf eine hohe Bereinigung eine Engulfing-Aufwärtskerze (H1 oder M15), hohes Volumen und ein Aufwärtstrend folgt; ein Verkauf erfordert eine niedrige Bereinigung, ein Engulfing-Abwärtskerze, hohes Volumen und einen Abwärtstrend. Umfangreiche Protokollierung sorgt für Transparenz bei der Fehlersuche. Diese Logik gewährleistet eine hohe Wahrscheinlichkeit für den Handel mit GBP-Paaren durch die Kombination von Bereinigungen auf mehreren Zeitskalen mit robusten Bestätigungssignalen, die für ihre trendfolgende Natur optimiert sind.
void OnTick() { // Check if a new candle has formed on the trade timeframe if(!IsNewCandle()) return; // Reset tradePlaced if no open positions if(!PositionSelect(_Symbol)) tradePlaced = false; // Manage trailing stop for open positions ManageTrailingStop(); // Get current and previous candle data for trade timeframe MqlRates ratesH1[]; ArraySetAsSeries(ratesH1, true); if(CopyRates(_Symbol, TradeTimeframe, 0, 4, ratesH1) < 4) { Print("Failed to load H1 rates data"); return; } // Get candle data for confirmation timeframe (M15) MqlRates ratesM15[]; ArraySetAsSeries(ratesM15, true); if(CopyRates(_Symbol, ConfirmationTimeframe, 0, 4, ratesM15) < 4) { Print("Failed to load M15 rates data"); return; } // Current H1 candle (index 0) double currentOpenH1 = ratesH1[0].open; double currentCloseH1 = ratesH1[0].close; double currentHighH1 = ratesH1[0].high; double currentLowH1 = ratesH1[0].low; long currentVolumeH1 = ratesH1[0].tick_volume; datetime currentTimeH1 = ratesH1[0].time; // Update highs and lows for all timeframes UpdateHighsLows(); // Check for purge (liquidity sweep) on any timeframe bool highPurgedH1 = (currentHighH1 > lastHighH1 && lastHighH1 > 0); bool highPurgedH4 = (currentHighH1 > lastHighH4 && lastHighH4 > 0); bool highPurgedD1 = (currentHighH1 > lastHighD1 && lastHighD1 > 0); bool lowPurgedH1 = (currentLowH1 < lastLowH1 && lastLowH1 > 0); bool lowPurgedH4 = (currentLowH1 < lastLowH4 && lastLowH4 > 0); bool lowPurgedD1 = (currentLowH1 < lastLowD1 && lastLowD1 > 0); bool highPurged = highPurgedH1 || highPurgedH4 || highPurgedD1; bool lowPurged = lowPurgedH1 || lowPurgedH4 || lowPurgedD1; // Update purge status if(highPurged || lowPurged) { purgeDetected = true; lastPurgeTime = currentTimeH1; highPurge = highPurged; } // Check if within the post-purge window bool withinPurgeWindow = false; if(purgeDetected) { int candlesSincePurge = iBarShift(_Symbol, TradeTimeframe, lastPurgeTime, true); withinPurgeWindow = candlesSincePurge <= MaxCandlesPostPurge; if(!withinPurgeWindow) { purgeDetected = false; // Reset if window expires Print("Purge window expired: ", candlesSincePurge, " candles since last purge"); } } // Check volume for liquidity confirmation bool volumeConfirmed = IsVolumeSpike(currentVolumeH1); if(currentVolumeH1 <= 1) { Print("Warning: Tick volume is ", currentVolumeH1, ". Possible data issue. Bypassing volume check."); volumeConfirmed = true; } // Check trend with SMA bool isBullishTrend = UseTrendFilter ? IsBullishTrend() : true; // Check for engulfing candles on H1 (current + previous 2 candles) bool bullishEngulfingH1 = false, bearishEngulfingH1 = false; for(int i = 0; i < 3; i++) { if(IsBullishEngulfing(ratesH1[i], ratesH1[i+1])) bullishEngulfingH1 = true; if(IsBearishEngulfing(ratesH1[i], ratesH1[i+1])) bearishEngulfingH1 = true; } // Check for engulfing candles on M15 (current + previous 2 candles) bool bullishEngulfingM15 = false, bearishEngulfingM15 = false; for(int i = 0; i < 3; i++) { if(IsBullishEngulfing(ratesM15[i], ratesM15[i+1])) bullishEngulfingM15 = true; if(IsBearishEngulfing(ratesM15[i], ratesM15[i+1])) bearishEngulfingM15 = true; } // Trade logic if(purgeDetected && withinPurgeWindow && !tradePlaced) { if(highPurge && (bullishEngulfingH1 || bullishEngulfingM15) && volumeConfirmed && isBullishTrend) { Print("Buy signal: High purged, bullish engulfing on ", bullishEngulfingH1 ? "H1" : "M15", ", volume confirmed, bullish trend"); PlaceTrade(ORDER_TYPE_BUY, currentCloseH1); } else if(!highPurge && (bearishEngulfingH1 || bearishEngulfingM15) && volumeConfirmed && !isBullishTrend) { Print("Sell signal: Low purged, bearish engulfing on ", bearishEngulfingH1 ? "H1" : "M15", ", volume confirmed, bearish trend"); PlaceTrade(ORDER_TYPE_SELL, currentCloseH1); } } }
Installation und Backtests: Mit MetaEditor kompilieren und auf dem Chart starten. Backtesting auf GBPUSD, EURUSD/GBPJPY H1 (2025) mit 1% Risiko.
Testen von Strategien
Strategietest für den HTF Engulfing King EA
Die Strategie eignet sich am besten für die meisten, wenn nicht sogar für alle Paare, da sie sich relativ schnell an Trends anpassen lässt, das gleiche Konzept der Liquiditätsbereinigung verfolgt und eine hohe Volatilität aufweist, was sowohl für den Intraday-Handel als auch für den langfristigen Handel von Vorteil ist. Wir werden diese Strategie testen, indem wir EURUSD und GBPUSD vom 1. Januar 2025 bis zum 27. Oktober 2025 auf dem 60-Minuten-Zeitrahmen (H1) handeln. Hier sind die Parameter, die ich für diese Strategie gewählt habe.
EURUSD

GBPUSD


Ergebnisse im Strategietester
Nach dem Testen mit dem Strategietester sind hier die Ergebnisse, wie es funktioniert, analysiert und durchgeführt wird.
Ergebnisse des Strategietesters zu HTF engulfing king EA
Salden-/Kapitalkurve:
EURUSD

GBPUSD

Backtest-Ergebnisse:
EURUSD 
GBPUSD

Zusammenfassung
Ich habe diesen Artikel geschrieben, um zu versuchen, einen MetaTrader 5-Expertenberater zu erklären, der die Verwendung von Preisaktionen in Form von Engulfing-Kerzenmuster und Liquiditätsbereinigungen kombiniert, um langfristige Handels-Setups mit hoher Wahrscheinlichkeit für GBPUSD/EURUSD und auch mögliche Ausstiegspunkte unter Verwendung derselben Preisaktion zu identifizieren, die entweder Gewinnmitnahmen oder Stop-Loss-Bereiche sein können. Dieser Expert Advisor ist eines der wertvollsten und revolutionärsten Konzepte für den Positionshandel und die Trendbeobachtung, mit dem mögliche langfristige Kurseinstiege und Trendwechsel erfasst werden können.
Ich habe den Expert Advisor an EURUSD, GBPUSD und GBPJPY getestet, und es hat sich gezeigt, dass er in der Lage ist, mögliche langfristige Handelseinstiege auf dem höheren Zeitrahmen effizient und treffend zu erkennen, aber die Erkennung des Handelseinstiegspunkts ist nur ein Teil der Gleichung, denn wenn es keine Engulfing-Kerze mit Geschwindigkeit und Kraft gibt, die von der kürzlich bereinigten Liquidität kommt, erkennt der Expert Advisor das nicht als möglichen Handelseinstieg oder Szenario, und dann sollen die Handelsgeschäfte dort nicht ausgeführt werden, selbst wenn es einen plötzlichen Kursanstieg gibt. Diese Engulfing-Kerzenmuster sind Bestätigungen, die dazu beitragen, die Genauigkeit und Qualität des Handels während volatiler Sitzungen zu verbessern.
Um diese Strategie des Expertenberaters zu implementieren, konfigurieren Sie die Eingabeparameter des Expertenberaters wie unten gezeigt, um die gewünschten Ergebnisse zu erzielen. Der Expert Advisor ist so konzipiert, dass er auf den höheren Zeitrahmen, die ein Händler zur Ansicht auswählt, von D1 bis MN, nach möglichen Handelseinstiegspunkten sucht und dabei sicherstellt, dass die möglichen Handelseinstiegspunkte mit dem Trend und dem einfachen gleitenden Durchschnitt sowie der Average True Range für den Trailing-Stop-Loss übereinstimmen. Interessierte Händler sollten diesen Expert Advisor auf ihren Demokonten mit jedem beliebigen Vermögenswert oder Währungspaar testen, aber er funktioniert optimal in EURUSD und GBPUSD. Das Hauptziel dieses Expert Advisors war es, ihn für den langfristigen Positionshandel und für Setups mit hoher Wahrscheinlichkeit zu optimieren, die in höheren Zeitrahmen für Positionshändler auftreten, und auch das Risikomanagement mit den implementierten Trailing-Stops zu integrieren.
Ich würde den Händlern auch raten, die Leistungsprotokolle regelmäßig zu überprüfen, um die Einstellungen und Eingabeparameter je nach den eigenen Zielen, der Anlageklasse oder der Risikobereitschaft zu verfeinern. Haftungsausschluss: Jeder, der diesen Expert Advisor verwendet, sollte zunächst testen und mit dem Handel auf seinem Demokonto beginnen, um diesen langfristigen Positionshandelsansatz für beständige Gewinne zu beherrschen, bevor er Live-Gelder riskiert.
Schlussfolgerung
Der Schwerpunkt dieses Artikels liegt darin, Probleme, mit denen Händler täglich bei der Ausführung von Handelsgeschäften konfrontiert sind, klar zu erklären und zu lösen. Dieses Problem ist wie der Handel gegen die Erzählung und den Auftragsfluss entweder auf dem wöchentlichen, monatlichen oder täglichen Zeitrahmen; Paralyse der Analyse, wenn ein Händler unsicher ist, wo der Trend oder die wirkliche Bewegung wird auftreten, nachdem er in den unteren Zeitrahmen Lärm verloren; und auch die Notwendigkeit, langfristige Position Handelsentscheidungen zu treffen, wo sie auftreten, und wann sie auftreten. Der Artikel zeigt deutlich auf, wie der Expert Advisor versucht, diese Einschränkungen zu lösen und den Handelsprozess scheinbar zu vereinfachen, und wie er ideal eingesetzt werden kann, um zu analysieren, zu verstehen, zu bestätigen und sogar Handelsausführungen zu tätigen, indem er seine ihre Strategie der Liquiditätsbereinigung und den Engulfing-Kerzenmustern nutzt.
Die meisten Experten, Anfänger und sogar einige fortgeschrittene Händler haben keine Ahnung, wie man sich in dieser dunklen Welt des langfristigen Positionshandels zurechtfindet, und sind sogar frustriert über diese Technik, da sie nicht in der Lage sind, wirklich zu begreifen, was dort vor sich geht, oder sie haben nicht einmal das scharfsinnige Auge, um zu verstehen, wie sich der Preis immer bewegt und wie er vertraute Muster oder gleitende Durchschnitte nutzt, um klassische Käufe und Ausführungen zu machen, die für sie auf lange Sicht tatsächlich profitabel sein können, was im Gegensatz zum kurzfristigen Handel und zu Scalping-Händlern nur selten vorkommt. Selbst wenn sie keine Handelsgeschäfte auf Grundlage der Eingaben des Expert Advisors ausführen, können Händler ihre eigenen Handelsideen, Positionen und Setups sowie sogar den Trend und die Richtung in Bezug auf das, was ich in diesem Artikel beschrieben habe, validieren. Sie werden es sehr interessant finden, wie der HTF Engulfing King Expert Advisor eine sehr wichtige Rolle in ihrem Handel spielen kann.
Durch die Automatisierung dieses langfristigen positionellen Handelsexpertenberaters mit MQL5 reduzieren Händler emotionale Voreingenommenheit, Analyseparalyse und Selbstzweifel und ermöglichen so eine konsistente Ausführung von Handelsideen durch diese langfristige positionelle Handelsstrategie, die auch sehr gut für den kurzfristigen/skalierten Handel funktioniert, da sie ihre Handelsgeschäfte entsprechend der täglichen, wöchentlichen oder monatlichen Erzählung im Spiel validieren können.
Der gesamte Code, auf den in dem Artikel verwiesen wird, ist unten angefügt. In der folgenden Tabelle sind alle Quellcodedateien beschrieben, die dem Artikel beigefügt sind.
| Dateiname | Beschreibung |
|---|---|
| HTF Engulfing King EA.mq5 | Datei mit dem vollständigen Quellcode für den HTF Engulfing King EA. |
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/19756
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.
Klassische Strategien neu interpretieren (Teil 18): Suche nach Kerzenmustern
Formulierung von dynamischen Multi-Pair EA (Teil 5): Scalping vs. Swing Handelsansätze
Blaupause für maschinelles Lernen (Teil 4): Die versteckte Schwachstelle in Ihrer ML-Pipeline – Gleichzeitigkeit der Kennzeichnungen
Klassische Strategien neu interpretieren (Teil 17): Modellierung technischer Indikatoren
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.