Startseite > Blog > Warum Closed-Bar-EAs nicht repainten

MQL5EA-DesignBacktest

Warum Closed-Bar-EAs nicht repainten

Veröffentlicht: 2026-11-01Lesezeit: ca. 3 Min
⏱ Dieser Artikel gibt den Stand zum Veröffentlichungsdatum wieder. Die Performance-Kennzahlen der EAs (PF, DD, Jahresrendite) ändern sich mit dem Live-Handel und erneuten Validierungen – die aktuellen Werte finden Sie auf den EA-Seiten. Aktuelle EA-Ergebnisse ansehen →

Vorab das Ergebnis: Die Signale eines EAs, der nur auf geschlossenen Kerzen entscheidet, ändern sich kaum, weil die Entscheidungsgrundlage zu diesem Zeitpunkt feststeht. Bei einer laufenden Kerze können sich Schlusskurs, Hoch und Tief mit dem nächsten Tick ändern. Die vier Kurswerte einer geschlossenen Kerze bewegen sich nach dem Abschluss dagegen normalerweise nicht mehr.

Trotzdem ist es nicht automatisch sicher, nur geschlossene Kerzen zu lesen. Je nachdem, wie ein Indikator rechnet oder wie ein höherer Zeitrahmen behandelt wird, können zukünftige Werte einfließen, obwohl Sie glauben, geschlossene Kerzen zu verwenden.

Warum die laufende Kerze riskant ist

In MQL5 ist Shift 0 die laufende Kerze und Shift 1 die zuletzt geschlossene. Der Schlusskurs bei Shift 0 ist nur der „aktuelle Kurs". Wer ihn für Entscheidungen nutzt, handelt sich folgende Probleme ein:

  • Die Bedingung wird mit jedem Tick erfüllt oder wieder hinfällig, sodass der Grund für einen Einstieg nachträglich verschwinden kann
  • Die Order wird durch ein kurzes Signal ausgelöst, das nach dem Schließen der Kerze nicht mehr im Chart zu sehen ist
  • Im Tester hängt das Ergebnis stark davon ab, wie die Ticks erzeugt werden. Weicht die Kursbewegung innerhalb der Kerze von der Realität ab, schlägt sich das direkt in der Performance nieder
PunktLaufende Kerze (Shift 0)Geschlossene Kerze (ab Shift 1)
Wert der EntscheidungsgrundlageÄndert sich bis zum SchlussNormalerweise unveränderlich
Reproduzierbarkeit des SignalsNiedrigHoch
EinstiegsgeschwindigkeitSchnellLangsamer, da auf den Schluss gewartet wird
Einfluss der Tick-Methode im TesterDie Entscheidung selbst kann sich ändernGeringer Einfluss auf die Entscheidung (beim Ausstieg bleibt er bestehen)

Die Nutzung der laufenden Kerze ist nicht grundsätzlich falsch. Es gibt Designs, die Ausbrüche sofort erfassen. Dann muss man sich aber eingestehen, dass die Logik von der Bewegung innerhalb der Kerze abhängt, und sollte der Validierung mit echten Ticks besonderes Gewicht geben.

Empfohlene Broker-Vergleich →

🎁 Kostenlose EA herunterladen

📧 Kostenloser E-Mail-Kurs (8 E-Mails) + Paket mit 13 MT5-Indikatoren nur für Abonnenten

Direkt nach der Anmeldung erhalten Sie einen Download-Link für ein Paket nur für Abonnenten mit unseren 13 MT5-Indikatoren: kompilierte Dateien (.ex5), Quellcode und eine Einrichtungsanleitung. Danach folgen 8 E-Mails zu den Grundlagen des Algo-Tradings, zum richtigen Lesen von Backtests und zur Brokerwahl (in den ersten 5 Tagen täglich eine, dann 7, 14 und 30 Tage nach der Anmeldung). Außerdem erhalten Sie vor jeder Preiserhöhung der im MQL5 Market verkauften Versionen einen Hinweis (Einführungspreise, die mit steigenden Verkäufen stufenweise erhöht werden). Auf dieser Website sind unsere EAs mit einem Echtgeldkonto bei einem Partnerbroker kostenlos.

* Datenschutz streng geschützt. Sie können jederzeit kündigen.

Signalbestätigung im Design

CopyRates mit expliziter Startposition und Sortierung

Die geschlossene Kerze wird einmal beim ersten Tick einer neuen Kerze gelesen.

datetime g_lastBar = 0;

void OnTick()
{
   datetime t = iTime(_Symbol, _Period, 0);
   if(t == 0 || t == g_lastBar) return;

   MqlRates r[];
   ArraySetAsSeries(r, true);
   if(CopyRates(_Symbol, _Period, 1, 2, r) != 2) return;

   g_lastBar = t;
   // r[0] ist die zuletzt geschlossene Kerze, r[1] die davor
}

Drei Punkte sind wichtig: Mit der Startposition 1 bleibt die laufende Kerze außerhalb des abgerufenen Bereichs. ArraySetAsSeries legt die Reihenfolge fest. Schlägt der Abruf fehl, wird g_lastBar nicht aktualisiert, und der nächste Tick versucht es erneut. Fehlt die Angabe zur Sortierung, steht die älteste Kerze am Anfang des Arrays.

iBarShift ist bei höheren Zeitrahmen eine Falle

Bei höheren Zeitrahmen liefert iBarShift die Kerze, die den angegebenen Zeitpunkt enthält. Übergeben Sie die aktuelle Zeit, erhalten Sie in der Regel die laufende Kerze des höheren Zeitrahmens.

int s = iBarShift(_Symbol, PERIOD_H1, TimeCurrent(), false);
if(s < 0) return;
double closedH1 = iClose(_Symbol, PERIOD_H1, s + 1);

Wollen Sie eine abgeschlossene Kerze des höheren Zeitrahmens, nehmen Sie wie hier die um eins ältere Kerze.

Typisches Repainting entsteht bei Indikatoren, die Werte eines höheren Zeitrahmens in den Chart des niedrigeren zeichnen. Weist man jeder vergangenen Kerze des niedrigeren Zeitrahmens den Schlusskurs der höheren Kerze zu, die denselben Zeitpunkt enthält, wird in der Vergangenheit ein Endwert eingezeichnet, den es damals noch gar nicht gab. Im Chart sieht das wie ein Treffer aus, in Echtzeit lässt sich dieselbe Entscheidung aber nicht treffen.

Setzen Sie den vierten Parameter exact auf false, wird bei fehlender Kerze die nächstliegende zurückgegeben. Dadurch fallen Datenlücken weniger auf. Prüfen Sie deshalb zur Sicherheit auch die Zeit der abgerufenen Kerze. Daten anderer Symbole oder Zeitrahmen können verspätet aktualisiert werden. Gleichen Sie daher ab, ob es wirklich die erwartete Kerze ist, bevor Sie entscheiden.

Doppelte Auslösung beim Neustart verhindern

Der Wert von g_lastBar im obigen Code wird beim Neustart des EAs auf den Anfangswert zurückgesetzt. Damit dieselbe geschlossene Kerze nicht erneut ausgewertet wird und zu einem doppelten Einstieg führt, sollte das Design auch offene Positionen und den Zeitpunkt der letzten Ausführung prüfen.

Was Anwender prüfen können

Auch ohne Zugriff auf den Quellcode lässt sich einiges überprüfen:

  1. Im visuellen Modus beobachten: Prüfen Sie im visuellen Modus des Testers, ob die Einstiegszeiten am Beginn der Kerze liegen. Wenn häufig mitten in der Kerze ausgeführt wird, nutzt der EA womöglich die laufende Kerze (Ausstiege zählen hier nicht).
  2. Modellierung ändern und vergleichen: Testen Sie denselben Zeitraum mit denselben Einstellungen mit „Nur Eröffnungspreise", „Jeder Tick" und „Jeder Tick basierend auf echten Ticks". Weichen Anzahl oder Zeitpunkte der Einstiege stark ab, liegt der Verdacht nahe, dass der EA von der Bewegung innerhalb der Kerze abhängt.
  3. Pfeile des Indikators festhalten: Dokumentieren Sie per Screenshot den Zeitpunkt, an dem ein Pfeil erscheint, und vergleichen Sie ihn einige Kerzen später. Verschiebt sich der Pfeil oder verschwindet er, repaintet der Indikator.
  4. Beim Anbieter nachfragen: Fragen Sie, ob auf geschlossenen Kerzen entschieden wird und wie höhere Zeitrahmen behandelt werden.

Das sind alles nur Indizien, und allein damit lässt sich „kein Repainting" nicht beweisen. Wenn Sie Indikatoren ausprobieren wollen, üben Sie das Vorgehen mit den kostenlosen Indikatoren. Für die Einrichtung eines EAs hilft die Anleitung zur EA-Einrichtung.

Grenzen und Hinweise

Auch die Entscheidung auf geschlossenen Kerzen hat ihre Nachteile:

  • Verspäteter Einstieg: Während auf den Schluss gewartet wird, läuft der Kurs weiter, und der Einstieg erfolgt unter Umständen zu einem ungünstigeren Preis. In Phasen mit starken Kurssprüngen kann der Unterschied groß ausfallen.
  • Kosten am Kerzenbeginn: Wenn sich Orders im ersten Tick einer neuen Kerze häufen, wirken sich weite Spreads oder Kurslücken (Gaps) in bestimmten Zeiten stärker aus.
  • Indikatoren mit Blick in die Zukunft bleiben ein Problem: Bei Indikatoren wie ZigZag, deren Form sich nachträglich ändert, oder bei solchen, die für die Bestätigung nachfolgende Kerzen brauchen, ändern sich die Werte je nach gelesener Position auch auf geschlossenen Kerzen.
  • Auch geschlossene Kerzen unterscheiden sich je nach Broker: Bei abweichender Serverzeit oder anderen Kursfeeds ändern sich auch die vier Kurswerte, sodass derselbe EA bei einem anderen Broker anders entscheiden kann. Dass die Historie nachträglich korrigiert wird, lässt sich ebenfalls nicht ausschließen.
  • Der Ausstieg erfolgt innerhalb der Kerze: Auch wenn der Einstieg auf einer geschlossenen Kerze entschieden wird, werden Stop-Loss und Take-Profit mitten in der Kerze ausgeführt. Dieser Teil hängt weiterhin von der Tick-Qualität ab.

Am wichtigsten ist: Kein Repainting heißt nicht, dass ein EA Gewinn macht. Auch unter unseren eigenen EAs gibt es welche, die in Tests mit historischen Daten gut abschneiden, im Forward-Test auf dem Demokonto aber im Minus liegen. Die Entscheidung auf geschlossenen Kerzen ist eine Voraussetzung dafür, Testergebnissen vertrauen zu können, sagt aber nichts über künftige Ergebnisse aus. Ob geschlossene Kerzen verwendet werden, hängt außerdem vom Design des jeweiligen EAs ab. Prüfen Sie das bei der Auswahl deshalb einzeln und beurteilen Sie es zusammen mit den Zahlen im Ranking nach Messwerten. Weitere Überlegungen zur Validierung finden Sie gesammelt unter EA- und MT5-Know-how.

Zusammenfassung

  • Der Wert der laufenden Kerze ändert sich bis zum Schluss, deshalb können Signale verschwinden oder sich ändern
  • Wer auf geschlossenen Kerzen entscheidet, hat eine feste Entscheidungsgrundlage und ist weniger von der Tick-Erzeugung betroffen
  • CopyRates mit expliziter Startposition und Sortierung nutzen und bei einem fehlgeschlagenen Abruf erneut versuchen
  • iBarShift liefert leicht die laufende Kerze des höheren Zeitrahmens, daher für eine geschlossene Kerze den Shift verschieben
  • Das Einzeichnen höherer Zeitrahmen und Indikatoren mit Blick in die Zukunft sind typische Fälle von Repainting
  • Geschlossene Kerzen bringen Verzögerung und Kosten mit sich und versprechen keinen Gewinn

📧 Kostenloser E-Mail-Kurs (8 E-Mails) + Paket mit 13 MT5-Indikatoren nur für Abonnenten

Direkt nach der Anmeldung erhalten Sie einen Download-Link für ein Paket nur für Abonnenten mit unseren 13 MT5-Indikatoren: kompilierte Dateien (.ex5), Quellcode und eine Einrichtungsanleitung. Danach folgen 8 E-Mails zu den Grundlagen des Algo-Tradings, zum richtigen Lesen von Backtests und zur Brokerwahl (in den ersten 5 Tagen täglich eine, dann 7, 14 und 30 Tage nach der Anmeldung). Außerdem erhalten Sie vor jeder Preiserhöhung der im MQL5 Market verkauften Versionen einen Hinweis (Einführungspreise, die mit steigenden Verkäufen stufenweise erhöht werden). Auf dieser Website sind unsere EAs mit einem Echtgeldkonto bei einem Partnerbroker kostenlos.

* Datenschutz streng geschützt. Sie können jederzeit kündigen.

Fragen zu EAs oder Forex?

Stelle sie im Trading-Forum von Nattzy (kostenlose Registrierung). Auch Fragen über diesen Artikel hinaus sind willkommen – etwa zu EA-Einstellungen oder zur Brokerwahl.

Auf Nattzy fragen ↗

Kommentare & Fragen