Guardian Grid MT5
- Experten
- Version: 1.1
- Aktivierungen: 10
Guardian Grid
Multimodularer Expert Advisor mit Grid-Handelsmanagement für EURUSD H1. Die Versionen für MetaTrader 4 und MetaTrader 5 folgen derselben Logik; die MT5-Version funktioniert nur auf einem Hedging-Konto.
Die erste Order wird auf ein Signal von einem der 18 Einstiegsmodule hin eröffnet: neun Price-Action-Kerzenmuster und neun Indikatorregeln. Bewegt sich der Kurs entgegen der Position, fügt der EA Grid-Orders mit steigender Lotgröße zum Korb hinzu und schließt den gesamten Korb bei einem gemeinsamen Zielkurs.
Über das EA-Bedienfeld können Sie das Lot, das Grid, die Ausstiegsziele, die Zeit (einschließlich der Zeitzone des Broker-Servers), die Handelsrichtung sowie die aktivierten Einstiegsmodule und Steuerungsoptionen (alle Orders schließen, Chart-Schaltfläche, Breakeven-Linien) festlegen.
Der EA wurde auf dem EURUSD-H1-Chart anhand der historischen Daten von 2010 bis 2026 mit den Kosten eines Echtgeldkontos getestet: Swap KAUF −6,74, VERKAUF +1,43 Punkte pro Lot und Nacht, Provision von 5 USD pro Lot (Round-Turn). MT4 – Strategietester im Modus „Every tick“ (Modellierungsqualität 99,90 %), variabler Spread, Slippage von ±5 Punkten. MT5 – Strategietester mit echten Ticks (Dukascopy).
Merkmale:
18 Einstiegsmodule: Pin Bar, Engulfing, Full Engulfing, Marubozu, Doji, Morgen-/Abendstern, Gap, Rising Sun/Dark Cloud, Spinning Top, Trending, Keltner, DMI, CCI, RSI, Parabolic SAR, Stochastic, Bollinger-Bänder, Envelopes.
Auswahl des Einstiegs nach Modulpriorität: Liegt ein Signal in beide Richtungen vor, wird die Seite des Moduls mit der höheren Priorität eröffnet.
Grid mit steigendem Lot: Jede nächste Order ist um einen Schritt größer als die vorherige – entweder fest oder aus dem Guthaben berechnet (Auto-Lot).
Größerer Grid-Schritt ab einer festgelegten Basket-Order (Standard – 12 Pips ab der 9. Order): Eine lange Bewegung gegen die Position wird mit weniger Orders abgedeckt.
Grid-Order innerhalb des Balkens (standardmäßig aktiviert): Ab der 9. Korb-Order wird die nächste Order bei jedem Tick eröffnet, sobald sich der Kurs um 15 Pips bewegt hat, ohne auf einen neuen Balken zu warten. Die ersten Korb-Orders werden beim ersten Tick eines Balkens platziert.
Feste Lotgröße (Standard: erste Order 0,01, Schrittweite 0,02) oder automatische Lotgröße – der Schalter „UseAutoLot“.
Automatisches Lot: Das Lot wird anhand des Guthabens berechnet, wobei Begrenzungen für das erste Lot, die Schrittweite, das Lot einer einzelnen Order und (optional) das Guthaben, auf dessen Grundlage das Lot berechnet wird, gelten.
Eine Grid-Order, die das Lot-Limit pro Order überschreitet (eine große Order), wird in Teilen eröffnet (standardmäßig aktiviert): Eine Grid-Order, die größer ist als das maximale Lot einer einzelnen Order (MaxOrderLot oder das Maximum des Brokers, falls dieses niedriger ist), wird als mehrere Orders eröffnet, sodass die Lot-Anteile im Basket – und damit das Basket-Ziel sowie der Ausstiegszeitpunkt – nicht von der Höhe des Guthabens abhängen.
Drei Ausstiegsbedingungen: Ziel für eine einzelne Order (bei jedem Tick); gemeinsames Korbziel – nach Kurs, ohne Swap (beim ersten Tick eines Balkens; ab einer festgelegten Korborder – ein niedrigeres Ziel, standardmäßig 1 Pip statt 5 ab der 3. Order); Korbgewinn als Prozentsatz des Guthabens – standardmäßig 25 %, dieser Gewinn beinhaltet Swap und Provision (bei jedem Tick).
Korb-Verlust-Stop (standardmäßig aktiviert): Der Korb wird geschlossen, wenn sein Verlust, einschließlich Swap und Provision, einen festgelegten Anteil des Guthabens erreicht – standardmäßig 50 %; wird bei jedem Tick überprüft, der Handel wird nach dem Schließen fortgesetzt.
Tick-Ausstieg bei einem großen Grid (optional): Ein Grid mit einer festgelegten Anzahl von Orders oder mehr wird bei jedem Tick geschlossen, sobald der Kurs zum Durchschnittskurs des Korbs zurückkehrt (ohne Swap) oder diesen um eine festgelegte Anzahl von Pips (ohne Swap) in den Gewinnbereich überschreitet.
Einstiegsfilter: Marktrichtung, Marktregime nach ADX, monatliches Stundenfenster für das Trending-Modul (konfigurierbar, kann deaktiviert werden).
Zeitzone des Brokers: Alle Zeiten in den Einstellungen werden in der Basiszeit angegeben – GMT+2 im Winter und GMT+3 im Sommer nach US-Zeit (New York + 7 Stunden, 00:00 Uhr ist der Handelsschluss in New York). Der EA rechnet die Serverzeit anhand des GMT-Offsets des Servers im Winter und der Sommerzeitregelung des Brokers (Standard: GMT+2 mit der europäischen Umstellung) selbst in die Basiszeit um und berechnet die Verschiebung neu, wenn die Sommerzeit beginnt oder endet. Die H4-Richtung für die Module „Trending“ und „Doji“ wird auf Basis von 4-Stunden-Blöcken der Basiszeit berechnet; solange für diese Module noch zu wenig historische Daten vorliegen (in den ersten Tagen eines Tests), wird das H4-Chart des Terminals verwendet.
Verzögerter Handelsstart am Montag. Am Freitag zu einer festgelegten Zeit (standardmäßig 23:50 Uhr, vor Börsenschluss) wird der Korb überprüft: Ein Korb, der preislich im Gewinn liegt, wird geschlossen, ohne Swap; hat sich der Kurs um einen Schritt gegen den Korb bewegt, wird eine neue Grid-Order eröffnet; bis Montag werden keine neuen Körbe eröffnet.
Handelsrichtung: beide Seiten, nur KAUF oder nur VERKAUF.
Kontoüberprüfung beim Start (die Zeile „Kontoüberprüfung“ im Journal): Vom Broker auf dem Konto zugelassene Expert Advisors – andernfalls startet der EA nicht auf einem Live-Konto; AutoTrading aktiviert; Handelsmodus für das Symbol; Margin eines Korbs mit 21 Orders bei der aktuellen Lotgröße – eine Warnung, wenn bei einem schwankenden Verlust von 45 % des Guthabens der Margin-Level unter 150 % liegt; Hebel, Stop-Out-Level und Swaps werden in das Journal geschrieben. MT5 prüft außerdem: Hedging-Konto (der EA startet nicht auf einem Netting-Konto; im Tester läuft er mit Einzelorders, ohne Grid), für das Symbol zulässige Marktorders, das Volumenlimit des Symbols, die FIFO-Regel – dabei wird der Korb von den ältesten bis zu den neuesten Positionen geschlossen.
Beim ersten Tick eines Live-Kontos vergleicht der EA die Serverzeit mit den Zeitzoneneinstellungen und warnt bei einer Abweichung; in MT4 wird beim ersten Tick zusätzlich geprüft, ob der Handel mit dem Symbol geöffnet ist (kein Fehlalarm, wenn der EA am Wochenende gestartet wird, wenn der Markt geschlossen ist).
Prüfung der freien Margin vor jeder Order (bei einer in Teilen eröffneten Grid-Order – vor jedem Teil) sowie Überprüfung des Broker-Limits für die Anzahl der Orders; das Schließen des Portfolios wird so lange wiederholt, bis das Portfolio vollständig geschlossen ist.
Handelssitzung des Brokers: Während der Handel mit dem Wertpapier unterbrochen ist (tägliche Handelspause, Freitagsschluss, Sonntagabend), sendet der EA weder neue Orders noch Schlusspositionen – alles wird beim ersten Tick innerhalb der Sitzung überprüft, und anstelle von Server-Ablehnungen erhält das Journal eine Zeile pro Balken.
Wiederholte Ablehnungen (keine Margin, Orderlimit) und Sendefehler werden in das Protokoll geschrieben.
Alle EA-Orders schließen und den Handel beenden – über eine Eingabe im Bedienfeld oder über eine Schaltfläche im Chart (mit Bestätigung).
Schließung nach der FIFO-Regel (UseFIFOClose): Der Basket und „Alle schließen“ schließen von den ältesten bis zu den neuesten Orders – bei Brokern, die diese Regel anwenden; bei „false“ folgt MT5 der Kontoeinstellung, und MT4 wechselt nach einer Broker-Ablehnung (Fehler 150) selbst zu dieser Reihenfolge.
Korb-Linien im Chart: Breakeven (einschließlich Swap und Provision), Ziel und Tick-Exit (nach Kurs).
Eingabeprüfung beim Start; das Modul, das die erste Order eröffnet hat, wird in das Journal geschrieben.
Empfehlungen:
Symbol und Zeitrahmen: EURUSD H1, beide Seiten. Auf einem Chart über H1 – Einzelorders ohne Grid.
Einstellungen für EURUSD H1 – Standardwerte: Schritt 5 Pips, ab der 9. Order 12 Pips und eine In-Bar-Grid-Order alle 15 Pips, Ziel 5 Pips, 1 Pip ab der 3. Order, Handelsfenster gemäß Broker, Freitag-Prüfung um 23:50 Uhr. Lot – fest (erste Order 0,01 und Erhöhung um 0,02 pro 10.000 des Guthabens) oder Auto-Lot: UseAutoLot = true, LotStartDivisor = 10000, LotIncDivisor = 5000.
Zeitzone: Stellen Sie die Serverzeit Ihres Brokers ein (siehe Vertragsspezifikation oder Market Watch): BrokerGMTWinter – der GMT-Offset im Winter, BrokerSummerTime – die Sommerzeitregelung. Beispiele: GMT+2 / +3 mit der europäischen Umstellung – 2 und Europa (Standard); London – 0 und Europa; GMT+2 / +3 mit der US-Umstellung entspricht der Basiszeit – „UseTimeShift“ kann deaktiviert werden. Die Zeitverschiebung gilt für M1- bis H1-Charts; bei höheren Zeitrahmen entsprechen die Zeiten der Serverzeit.
Handelsfenster – die EURUSD-Handelssitzung Ihres Brokers (00:15–23:55 Brokerzeit in den Tests).
Broker: ECN-Broker, niedrige Spreads und Provisionen, Hebel von 1:500 auf das gesamte Korbvolumen. Viele Broker senken den Hebel bei großem offenen Volumen (zum Beispiel 1:200 ab 2 Millionen USD, 1:100 ab 7 Millionen USD) sowie vor Wochenenden und bei Nachrichten. Am ungünstigsten Punkt in der Historie umfasste der Korb etwa 4,4 Lots pro 10.000 des Einzahlungsbetrags; überprüfen Sie daher bei einem Konto über 40.000 die Margin anhand der Tabelle Ihres Brokers: Begrenzen Sie den für das Lot verwendeten Saldo (EnableLotBalanceCap, LotBalanceCap) oder erhöhen Sie die Divisoren. Der EA schreibt die Margin eines Korbs mit 21 Orders beim Start in das Journal.
Nur für Hedging-Konten.
Handelsbedingungen: Seitwärtsmarkt. Das Hauptrisiko ist eine lange einseitige Kursbewegung ohne Rückzüge: Der Korb wächst weiter, bis der Kurs zurückkehrt. Absicherung – der Verlust-Stop für den Korb (EnableLossStop, standardmäßig 50 % des Guthabens).
Es gibt keinen Stop-Loss und keinen Take-Profit für die Orders: Der EA schließt den Korb – beim Zielkurs, bei Erreichen eines Gewinns im Verhältnis zum Kontostand oder durch den Verlust-Stop (standardmäßig ein Verlust von 50 % des Kontostands). Um alles manuell zu schließen, verwenden Sie die Schaltfläche im Chart oder den Parameter „CloseAllAndStop“.
Das Ziel des Korbs wird anhand des Kurses berechnet, ohne Swap. Der BUY-Swap für EURUSD ist negativ, sodass ein über Wochen gehaltener BUY-Korb möglicherweise mit einem geringen Verlust bei seinem Ziel geschlossen wird. Dies ist beabsichtigt: Das Warten darauf, dass der Kurs den Swap abdeckt, hält den Korb länger offen und erhöht das Risiko.
Mindest Einzahlung:
Konservatives Risiko (empfohlen): 10.000 pro 0,01 des ersten Lots und 5.000 pro 0,01 der Schrittweite – festes Lot 0,01 / 0,02 pro 10.000 oder automatisches Lot: LotStartDivisor = 10000, LotIncDivisor = 5000.
Hohes Risiko: 5.000 pro 0,01 des ersten Lots und 2.500 pro 0,01 der Schrittweite (LotStartDivisor = 5000, LotIncDivisor = 2500). Dies ist dasselbe Raster mit doppelt so großem Lot pro Dollar Einlage: Die Handelsvolumina sind gleich, der Gewinn und der Drawdown in Prozent sind doppelt so groß. Der Stop-Loss (standardmäßig 50 % des Guthabens) wird bei hohem Risiko häufiger ausgelöst: In der Vergangenheit lag der Drawdown bei hohem Risiko in einigen Jahren über 50 %.
Parameter:
Alle Schalter sind auf „wahr“/„falsch“ eingestellt; Modi mit mehreren Werten werden aus einer Liste ausgewählt: TradeDirection – beide Richtungen, nur KAUF, nur VERKAUF; BrokerSummerTime – keine Sommerzeit, Europa, USA.
SetupName: Name festlegen, der in der ersten Zeile des Fensters, im Journal und auf dem Chart angezeigt wird.
LOT
UseAutoLot: Auto-Lot – Lot aus dem Guthaben; „false“ (Standard) – festes Lot.
FixedFirstLot: Festes Lot der ersten Order (Standard 0,01).
FixedLotIncrement: Feste Schrittweite – um wie viel jede nächste Grid-Order größer ist als die vorherige (Standard 0,02).
LotStartDivisor: Automatisches Lot – Kontostand pro 0,01 Lot der ersten Order.
StartLotMaxLimit: automatisches Lot – maximales Lot der ersten Order.
LotIncDivisor: automatisches Lot – Kontostand pro 0,01 Lot, um den die nächste Grid-Order größer ist als die vorherige.
IncLotMaxLimit: Automatisches Lot – Maximale Lot-Erhöhung für die nächste Grid-Order.
MaxOrderLot: Maximales Lot einer Order.
SplitLotAboveMax: Eine Grid-Order, deren Lot das Maximum einer Order überschreitet (MaxOrderLot oder das Maximum des Brokers, falls dieses niedriger ist), wird als mehrere Orders mit einem Kommentar eröffnet: vollständige Orders bis zum Maximum, die letzte Order mit dem Restbetrag. Für den Basket handelt es sich um eine einzige Grid-Order: Die Order-Nummer, der Schritt, das Lot der nächsten Order und der Ausstieg werden für ihn als Ganzes gezählt. Ist diese Option deaktiviert, wird das Lot der Grid-Order auf das Maximum gekürzt, und mit steigendem Kontostand erhalten die letzten Orders eines großen Korbs einen geringeren Anteil als in der Lot-Leiter vorgesehen: Der Durchschnittspreis des Korbs liegt weiter vom aktuellen Kurs entfernt, das Ziel ist höher, und der Korb wird später geschlossen, als dies bei einem geringeren Kontostand der Fall wäre. Die erste Order wird nicht aufgeteilt.
EnableLotBalanceCap: automatisches Lot – Begrenzung des Guthabens, auf dessen Grundlage das Lot berechnet wird.
LotBalanceCap: Auto-Lot – Das für das Lot verwendete Guthaben darf diesen Betrag nicht überschreiten, wenn die Obergrenze aktiviert ist; beispielsweise, wenn alles über diesem Betrag abgehoben wird oder der Broker den Hebel für ein großes Volumen senkt.
GRID
GridStepPips: Grid-Schritt – um wie viele Pips sich der Kurs gegenüber der letzten Korb-Order bewegen muss, damit die nächste Order eröffnet wird.
WideStepFromOrder: Nummer der Korb-Order, ab der der Grid-Schritt breiter ist; 0 – deaktiviert, GridStepPips überall.
WideStepPips: Grid-Schritt ab dieser Order, in Pips; beispielsweise werden bei WideStepFromOrder = 9 die Orders 2–8 mit GridStepPips platziert, die neunte und alle folgenden mit WideStepPips.
MaxTrades: maximale Anzahl von Orders in einem Basket.
MaxSlippagePoints: Maximale Slippage in Punkten.
IntraBarKnee: Eröffnet eine Grid-Order bei jedem Tick, sobald sich der Kurs um einen Schritt bewegt hat; false – nur beim ersten Tick eines Bars.
IntraBarStepPips: Grid-Schritt innerhalb eines Balkens, in Pips; 0 – der Grid-Schritt (GridStepPips oder WideStepPips).
IntraBarFromOrder: Nummer der Korb-Order, ab der IntraBarKnee gilt (2 – ab der zweiten).
TickExitOn: Tick-Ausstieg aus einem großen Raster innerhalb eines Balkens; false – das Raster wird nur beim ersten Tick eines Balkens geschlossen.
TickExitFromOrder: Nummer der Basket-Order, ab der der Tick-Exit gilt, mindestens 2.
TickExitPips: Um wie viele Pips muss sich der Kurs über den Durchschnittskurs des Korbs hinaus in den Gewinn bewegen; 0 – Breakeven nach Kurs.
EXIT
FirstOrderProfitPips: Ziel für eine einzelne Order, in Pips; wird bei jedem Tick überprüft.
GridBasketProfitPips: Grid-Ziel – auf das Lot der ersten Order reduzierter Korbgewinn, in Pips; wird beim ersten Tick jedes Balkens überprüft.
UseLowerGridTarget: Unteres Grid-Ziel aus einer festgelegten Korb-Order; „false“ – überall „GridBasketProfitPips“.
GridDeepFromOrder: Nummer der Korb-Order, ab der das untere Grid-Ziel gilt – 2 oder mehr; 0 – deaktiviert.
GridDeepProfitPips: Unteres Grid-Ziel ab dieser Order, in Pips pro Lot der ersten Order; beispielsweise schließt bei GridDeepFromOrder = 3 ein Korb aus zwei Orders bei GridBasketProfitPips, bei drei oder mehr – bei GridDeepProfitPips. Ein Korb, der sein Ziel beim ersten Tick eines Balkens verfehlt, wartet auf den nächsten Balken; das untere Ziel verringert das Risiko, dass der Kurs während dieser Stunde eine längere Bewegung gegen den Korb einleitet.
EnableProfitSpike: Schließt den Korb, wenn sein Gewinn einen festgelegten Anteil des Guthabens erreicht.
ProfitSpikePct: Gewinnschwelle des Korbs, % des Guthabens.
EnableLossStop: Schließt den Korb, wenn sein Verlust (einschließlich Swap und Provision) einen festgelegten Anteil des Guthabens erreicht; wird bei jedem Tick überprüft, der Handel wird nach dem Schließen fortgesetzt; standardmäßig aktiviert.
LossStopPct: Verlustschwelle des Korbs, % des Guthabens (Standard 50).
UseFIFOClose: Schließt die Basket-Orders und alle Orders über die Schaltfläche von der ältesten zur neuesten (FIFO-Regel); „false“ – MT5 folgt der Kontoeigenschaft, MT4 schließt wie gewohnt und nach einer Ablehnung durch den Broker gemäß der FIFO-Regel (Fehler 150) – von der ältesten zur neuesten.
ZEIT & RICHTUNG
UseTimeShift: Die Zeiten in den untenstehenden Einstellungen beziehen sich auf die Basiszeit (GMT+2 im Winter / GMT+3 im Sommer nach US-Zeit), und der EA rechnet die Serverzeit darauf um; „false“ – die Zeiten werden unverändert als Serverzeit übernommen. Funktioniert auf M1- bis H1-Charts.
BrokerGMTWinter: Broker-Serverzeit im Winter – GMT plus diese Anzahl an Stunden (zum Beispiel 2 für GMT+2, 0 für London).
BrokerSummerTime: Sommerzeit des Broker-Servers (+1 Stunde): keine Sommerzeit – keine; Europa – vom letzten Sonntag im März bis zum letzten Sonntag im Oktober; USA – vom zweiten Sonntag im März bis zum ersten Sonntag im November.
UseTradingWindow: Tägliches Handelsfenster – außerhalb dieses Zeitraums eröffnet oder schließt der EA keine Orders (Handelssitzung des Brokers); die Ausstiegs- und Grid-Order eines Balkens, der außerhalb des Fensters begonnen hat, werden beim ersten Tick innerhalb des Fensters geprüft.
TradingStartTime / TradingEndTime: Beginn und Ende des Zeitfensters, HH:MM (Ende ausgeschlossen), in Basiszeit (Serverzeit, wenn UseTimeShift = false); Standardwert 00:15–23:55. Liegt der Beginn nach dem Ende, erstreckt sich das Zeitfenster über Mitternacht.
UseMondayDelay: verzögerter Handelsstart am Montag – vor der Startzeit gibt es keine neuen Einträge oder Grid-Orders; das Schließen funktioniert.
MondayStartTime: Startzeit am Montag, HH:MM.
UseFridayStop: Korbprüfung am Freitag zu einer festgelegten Zeit, z. B. beim ersten Tick eines neuen Balkens: Ein Korb, der preislich im Gewinn liegt (die Summe aus Lot × Punkten ab dem Eröffnungskurs liegt über Null, ohne Swap und Provision), wird geschlossen; ansonsten wird der normale Grid-Ausstieg geprüft und, falls sich der Kurs seit der letzten Order um einen Grid-Schritt bewegt hat, eine neue Grid-Order eröffnet; ab diesem Zeitpunkt werden bis Montag keine neuen Körbe mehr eröffnet.
FridayStopTime: Freitag-Prüfzeit, HH:MM; Standard 23:50 – 10 Minuten vor Börsenschluss in New York (24:00 Basiszeit). Stellen Sie diesen Wert etwas vor dem Börsenschluss des Symbols bei Ihrem Broker ein.
TradeDirection: Handelsrichtung – beide Seiten, nur KAUF oder nur VERKAUF.
UseTrendingHours: Monatliches Stundenfenster für das Trending-Modul; „false“ – Trending zu jeder Stunde.
TrendingHoursJan … TrendingHoursDec: Trending-Zeitfenster für jeden Monat im Format „von–bis“ (Basiszeit; Serverzeit, wenn UseTimeShift = false); die Endstunde ist nicht enthalten; „23-01“ – über Mitternacht hinweg, „00-24“ – den ganzen Tag, „-“ – kein Zeitfenster.
EINSTIEGSMODULE (nach Priorität)
UseTrending, UsePinBar, UseEngulfing, UseFullEngulfing, UseMarubozu, UseDoji, UseStar, UseGap, UseRisingSun, UseSpinningTop, UseKeltner, UseDMI, UseCCI, UseRSI, UsePSAR, UseStochastic, UseBollinger, UseEnvelopes: Aktiviert das Einstiegsmodul.
STEUERUNG & CHART
CloseAllAndStop: Schließt alle EA-Orders (für dieses Symbol und diese Magic Number) und stoppt den Handel, bis der Wert wieder auf „false“ gesetzt wird.
ShowCloseButton: Schaltfläche „Alle EA-Orders schließen“ im Chart: Der erste Klick aktiviert sie für 5 Sekunden, der zweite schließt alle Orders und stoppt den Handel, der nächste nimmt den Handel wieder auf; der Stopp bleibt nach einem Neustart des Terminals erhalten; die Schaltfläche funktioniert nicht im Tester.
ShowBasketLines: Zeigt die Basket-Linien im Chart an: Breakeven (der Kurs, bei dem das Ergebnis einschließlich Swap und Provision null ist), das Ausstiegsziel und den Tick-Ausstieg (nach Kurs, ohne Swap).
SONSTIGES
MagicNumber: Magic Number der EA-Orders.
LogEntryModule: Trägt in das Journal ein, welches Modul die erste Order eröffnet hat.
Auftragskommentare: GG_1 – der erste Basket-Auftrag, GG_2, GG_3… – Grid-Aufträge; ein in Teilen eröffneter Grid-Auftrag (SplitLotAboveMax) besteht aus mehreren Aufträgen mit einem gemeinsamen Kommentar.
