English 日本語
preview
Schnellhandel meistern: Überwindung der Umsetzungslähmung

Schnellhandel meistern: Überwindung der Umsetzungslähmung

MetaTrader 5Handel |
175 4
Eugene Mmene
Eugene Mmene

Einführung

Dieser Artikel richtet sich sowohl an Scalper als auch an Händler, die schnelle Entscheidungen und Handelsausführungen treffen müssen. Es eignet sich auch hervorragend für Händler, die unter einer Art „Ausführungslähmung” leiden oder zu viel analysieren, wenn sie einen Einstiegspunkt finden, und dadurch letztendlich das gesamte Handelsgeschäft verlieren, weil sie nicht auf den Knopf drücken und die Gelegenheit nutzen. Ich bin der Meinung, dass schnelle Handelsausführungen und -operationen in den meisten, wenn nicht in allen Fällen, den Unterschied zwischen Händler A und Händler B mit gleichen Fähigkeiten und Erfahrungen ausmachen können. Die Notwendigkeit für einen Händler, schnelle, sofortige Entscheidungen beim Handel zu treffen, insbesondere beim Scalping und bei kurzfristigen Handelsgeschäften, ist sehr wichtig, da eine Verzögerung von nur wenigen Sekunden/Minuten zu schweren Verlusten führen kann, während eine rechtzeitige Ausführung zu zusätzlichen Gewinnen von Hunderten, wenn nicht Tausenden von Dollar führen kann. 

Als Händler weiß ich, dass Händler mit zahllosen Herausforderungen konfrontiert sind, neuen mentalen und technischen Barrieren, die wir jedes Mal überwinden müssen, wenn wir einen neuen Handel eröffnen oder ausführen. Tatsächlich stehen die meisten Händler irgendwann in ihrer Handelskarriere vor fast ähnlichen, wenn nicht identischen Herausforderungen, aber was sie alle voneinander unterscheidet, ist, dass verschiedene Händler diese Herausforderungen unterschiedlich handhaben, darauf reagieren und sie antizipieren. 

Eine dieser bedeutenden mentalen Barrieren und Probleme besteht darin, dass die meisten, wenn nicht sogar alle Händler, die die Kursentwicklung verfolgen, irgendwann mit diesem bekannten Problem konfrontiert werden: Sie verfolgen, antizipieren, analysieren und erkennen schließlich eine Handelsmöglichkeit und sind sich sicher, dass es sich um einen profitablen Handel handeln würde, aber im Hinterkopf haben sie diese Stimme, die ihnen sagt: Was ist, wenn es ein Irrtum ist? Was ist, wenn es zum Verlust führt? Und schließlich werden sie von ihren Selbstzweifeln und ihrem mangelnden Selbstvertrauen überwältigt und leiden unter einer Ausführungslähmung, sodass sie nicht in den Handel einsteigen, und natürlich bewegt sich der Handel schließlich in ihre Richtung, aber ohne sie. Dies führt zu einer Reihe von Bedauern und Fehlern.

Daher eröffnen sie nun unvorsichtigerweise Handelsgeschäfte und gehen an schlechten Positionen ein, nur weil sie Angst haben, etwas zu verpassen (FOMO – Fear Of Missing Out) und aus Rache handeln, was schließlich zu weiteren Fehlern und schließlich zum Verlust von Geld führt, und all dies wird durch mangelndes Vertrauen, Selbstzweifel und die Stimme in ihrem Hinterkopf verursacht, die ihnen negative Vorstellungen einflüstert.

Dieser Indikator zielt nun darauf ab, dieses Problem zu lösen, indem er als Stimme fungiert, die auf Ihrem Chart sichtbar ist und Ihnen bestätigt, dass Sie tatsächlich richtig liegen und den Handel ohne Zweifel ausführen sollten. Er kann auch als Ausstiegswarnung verwendet werden, um Umkehrungen und Konsolidierungen zu vermeiden.

UT BOT Illustration auf H4-Zeitrahmen

Abb.1 UP B0T Illustration auf H4-Zeitrahmen


Einführung in den UT Bot Indikator

Nachdem wir nun das gemeinsame Problem vorgestellt und identifiziert haben, mit dem viele Händler weltweit meistens konfrontiert sind, möchte ich kategorisch sagen, dass Händler sich weniger Sorgen machen und nicht mehr darüber sprechen sollten, denn heute möchte ich diesen außergewöhnlichen nutzerdefinierten Indikator vorstellen, von dem Händler, die gerne den Scalping-Handel tätigen und kurzfristige schnelle Ausführungen benötigen, am meisten profitieren werden. Dieser nutzerdefinierte Indikator generiert Signale und Einstiegs- und Ausstiegspunkte und verfügt sogar über eine Trailing-Stop-Loss-Linie, die als Ausstiegspunkt im Falle eines Fehlers oder zum Verbuchen von Gewinnen dienen würde. 

Die anderen Nutznießer dieses ausgezeichneten Indikators sind die Händler, die sich noch in der Entwicklungsphase befinden und noch versuchen, ihre Fähigkeiten und Techniken zu verfeinern. Dieser Indikator kann mit ihrer Technik und ihrem Handelsstil und ihrer Methode verwendet werden, indem er als Einstiegs- und Ausstiegsbestätigungsinstrument dient. Sobald der Indikator und seine Handelstechnik übereinstimmen und die gleichen Erkenntnisse bieten, kann er handeln. Schließlich wird der Händler Selbstvertrauen und Vertrauen in sich und seine Technik entwickeln. Es kann auch als allgemeines Bestätigungsinstrument für erfahrene Händler verwendet werden, die ein scharfes, wachsames Auge auf sich haben wollen, um ihre Handelsentscheidungen zu unterstützen. 

UT BOT auf dem 1-Minuten-Chart

Abb.2 UP BOT auf dem 1-Minuten-Chart


Die Funktionsweise des UT-Bot-Indikators

Das Ziel dieses Artikels ist es, sicherzustellen, dass der Leser einen persönlich anpassbaren UT Bot erhält, der den Markt und den aktuellen Handelskurs scannt und einen Einblick in den Trend und die beste Ausführung bietet, die man entsprechend der durchschnittlichen wahren Spanne und dem Trend ausführen kann, was bedeutet, dass er schnelle Handelsgeschäfte und schnelle Ausführungen mit minimaler Analysezeit und auch Scalping mit sofortiger Reaktionszeit und einer nachlaufenden Stop-Loss-Linie für Ausstiege machen kann.

Der UT BOT-Indikator ist im Grunde ein Trendfolge-Indikator, der Kauf- und Verkaufssignale an potenziellen Einstiegspunkten auf dem Chart generiert, basierend auf der Preisentwicklung und im Verhältnis zu einem volatilitätsangepassten und dynamischen Trailing-Stop-Loss. Der Trailing-Stop-Loss wird anhand der Average True Range (ATR) angepasst. Die Hauptlogik des UT BOT basiert nicht auf traditionellen gleitenden Durchschnitten, sondern verwendet einen einperiodigen exponentiellen gleitenden Durchschnitt, um einen Crossover bei aktuellen Preisen zu erkennen. Der Indikator generiert die Signale an potenziellen Einstiegspunkten wie folgt. Gezeichnet werden:

  • grüne Pfeile unter den Balken für Kaufsignale („UT Long“);
  • rote Pfeile über den Balken für Verkaufssignale („UT Short“);
  • eine blaue Linie, die das Trailing-Stop-Niveau darstellt;
  • Alarme für Echtzeit-Benachrichtigungen beim Auftreten von Signalen.

Dieser Indikator kann in jeder Anlageklasse (Metalle, Devisen, Indizes, Rohstoffe) verwendet werden und generiert Signale in allen Zeitrahmen. Das Beste und Entscheidende an diesem Indikator ist, dass er nach den Wünschen des Händlers persönlich angepasst werden kann. Die Periode, die Empfindlichkeit und die Signalglättung sind einige der einstellbaren Merkmale. Der UT BOT verwendet die Average True Range (ATR), die oft als Maß für die Marktvolatilität angegeben wird, um einen Trailing-Stop-Loss zu berechnen, was die primäre Technik des Indikators ist. Ein weiterer Vorteil der Average True Range (ATR) ist, dass sich der UT BOT an die Volatilität anpasst und falsche Signale in unruhigen Märkten vermeidet.

Der UT BOT verfügt über eine Handelslogik und eine Formel für die Signalerzeugung, die elementar ist, da sie nur erfordert, dass der Preis den Trailing-Stop überschreitet, und keine komplexen Interaktionen mit dem gleitenden Durchschnitt, was sie schneller und weniger anfällig für Überanpassungen macht. 

Der UT BOT nutzt die Average True Range (ATR), um den Abstand des Trailing-Stops zum aktuellen Handelskurs dynamisch anzupassen und so auf die sich ständig ändernden Marktbedingungen zu reagieren. Und so funktioniert es:

  1. ATR-Berechnung:
    • ATR misst die durchschnittliche Preisspanne (Hoch-Tief) über einen vom Händler definierten Zeitraum (c, Standardwert 10 Balken).
    • Er wird mit einem Sensitivitätsfaktor (a, Standardwert 1,0) multipliziert, um den Trailing-Stop-Loss-Offset festzulegen (nLoss = a * ATR).
    • Beispiel: Wenn ATR = 0,0010 (10 Pips) und a = 1,0, beträgt der Trailing-Stop-Loss 10 Pips vom Kurs.
  2. Logik der Trailing-Stop-Loss:
    • Der Trailing-Stop-Loss (Trail) folgt dem Preis und passt sich an, je nachdem, ob der Preis nach oben oder unten tendiert.
      • Aufwärtstrend: Wenn der aktuelle Kurs (src) und der vorherige Kurs (src1) über dem vorherigen Trailing-Stop-Loss (trail[i-1]) liegen, wird der Stop-Loss auf max(trail[i-1], src – nLoss) angehoben. Dadurch werden Gewinne gesichert, während der Kurs unter dem Preis bleibt.
      • Abwärtstrend: Wenn beide Kurse unter dem vorherigen Stop-Loss liegen, geht er auf min(trail[i-1], src + nLoss) zurück.
      • Richtungswechsel:
        • Wenn der Kurs den vorherigen Stopp überschreitet (src > trail[i-1]), wird der Stopp auf src – nLoss zurückgesetzt.
        • Wenn sie unterschritten wird, wird sie auf src + nLoss zurückgesetzt.
    • So entsteht eine „treppenförmige“ Linie, die sich den Kursbewegungen anpasst und in Märkten mit geringer Volatilität enger und in Märkten mit hoher Volatilität weiter wird.
  3. Preisquelle:
    • Standardmäßig ist der Preis (src) der Schlusskurs eines jeden Balkens (close[i]).
    • Wenn die Option Heikin Ashi (h = true) aktiviert ist, werden Heikin-Ashi-Schlusskurse verwendet, die Kursschwankungen für sauberere Signale ausgleichen.
  4. Signalerzeugung:
    • Die Signale basieren auf dem Überkreuzen des Kurses im Verhältnis zum Trailing-Stop:
      • Kaufsignal („UT Long“): Wird ausgelöst, wenn der aktuelle Kurs den Trailing-Stop überschreitet (src > trail_curr && src1 <= trail1).
      • Verkaufssignal („UT Short“): Wird ausgelöst, wenn der aktuelle Kurs unter den Trailing-Stop fällt (trail_curr > src && trail1 <= src1).
    • Im ursprünglichen Pine Script wird ein 1-Perioden-EMA (ema = src) verwendet, um das Kreuzen zu bestätigen, aber in der Praxis entspricht er dem Schlusskurs, sodass der MQL5-Code dies vereinfacht, indem er src direkt verwendet.

H1-Diagramm mit UT BOT

Abb.3 H1-Diagramm mit UT BOT


Automatisieren von Handelsentscheidungen mit UT bot in MQL5

Um diese Strategie zu automatisieren, zu veranschaulichen und umzusetzen, habe ich sie entwickelt:

  • Der Indikator UT-Bot zur Analyse von Trends, zur Erkennung möglicher Einstiegspunkte und zur Darstellung von Kauf-/Verkaufssignalen in den Charts.
  • Ein UT-Indikator + UT-Bot EA für den Handel auf der Grundlage der Erkennung von Handelseinträgen durch den UT-Indikator, der ATR und EMA für Einträge verwendet.

Prozess der Entscheidungsfindung

Die Entscheidungen dieses Indikators (Zeichnen von Pfeilen, Ziehen der Trailing-Stop-Linie und Auslösen von Alarmen) werden durch die folgende Logik gesteuert:

  • Trailing-Stop-Berechnung
    • Für jeden Balken berechnet der Indikator trail[i] auf der Grundlage des aktuellen Kurses (src), des vorherigen Kurses (src1) und des vorherigen Trailing-Stops (trail[i-1]). Der ATR-basierte Offset (nLoss) stellt sicher, dass sich der Stopp an die Volatilität anpasst und Fehlsignale in unruhigen Märkten reduziert.
// Initialize first trailing stop value
   trail[0] = calculate_ha ? ha_close[0] : close[0];

   // Trailing stop and position calculation
   for (int i = 1; i < rates_total; i++)
   {
      double src = calculate_ha ? ha_close[i] : close[i];
      double src1 = calculate_ha ? ha_close[i - 1] : close[i - 1];
      double nLoss = a * atr[i];

      if (src > trail[i - 1] && src1 > trail[i - 1])
         trail[i] = MathMax(trail[i - 1], src - nLoss);
      else if (src < trail[i - 1] && src1 < trail[i - 1])
         trail[i] = MathMin(trail[i - 1], src + nLoss);
      else if (src > trail[i - 1])
         trail[i] = src - nLoss;
      else
         trail[i] = src + nLoss;

      if (src1 < trail[i - 1] && src > trail[i - 1])
         pos_arr[i] = 1.0;
      else if (src1 > trail[i - 1] && src < trail[i - 1])
         pos_arr[i] = -1.0;
      else
         pos_arr[i] = pos_arr[i - 1];

      Print("Bar ", i, ": src=", src, ", trail=", trail[i], ", pos=", pos_arr[i]);
   }

   ArrayResize(BuyBuffer, rates_total);
   ArrayResize(SellBuffer, rates_total);
   ArrayResize(TrailBuffer, rates_total);
   ArrayInitialize(BuyBuffer, EMPTY_VALUE);
   ArrayInitialize(SellBuffer, EMPTY_VALUE);
   ArrayInitialize(TrailBuffer, EMPTY_VALUE);

   // Signal and trailing stop plotting
   for (int i = 1; i < rates_total; i++)
   {
      double src = calculate_ha ? ha_close[i] : close[i];
      double src1 = calculate_ha ? ha_close[i - 1] : close[i - 1];
      double trail_curr = trail[i];
      double trail1 = trail[i - 1];

      bool above = (src > trail_curr) && (src1 <= trail1);
      bool below = (trail_curr > src) && (trail1 <= src1);

      bool buy_signal = above; // Simplified to ensure signals
      bool sell_signal = below;

      if (buy_signal)
      {
         BuyBuffer[i] = low[i] - Point() * 10; // Offset for visibility
         Print("Buy signal at bar ", i, ", time: ", TimeToString(time[i]), ", low: ", low[i]);
      }
      if (sell_signal)
      {
         SellBuffer[i] = high[i] + Point() * 10; // Offset for visibility
         Print("Sell signal at bar ", i, ", time: ", TimeToString(time[i]), ", high: ", high[i]);
      }

      TrailBuffer[i] = trail[i];
      if (trail[i] != EMPTY_VALUE)
         Print("Trailing stop at bar ", i, ": ", trail[i]);
   }
  • Positionsverfolgung:
    • Ein pos_arr-Array verfolgt die Trendrichtung:
      • pos = 1,0 (Kauf), wenn der Kurs den Trailing-Stop überschreitet.
      • pos = -1,0 (Verkauf), wenn sie nach unten durchläuft.
      • pos = vorherige pos sonst, unter Beibehaltung der Trendkontinuität.
    • Diese Funktion kann nicht für das Plotten in der MQL5-Version verwendet werden (aufgrund der einfarbigen Plot-Beschränkung von MetaTrader 5), hilft aber bei der Erzeugung von Signalen.
   double trail[];
   double pos_arr[];
   ArrayResize(trail, rates_total);
   ArrayResize(pos_arr, rates_total);
   ArraySetAsSeries(trail, false);
   ArraySetAsSeries(pos_arr, false);
   ArrayInitialize(trail, EMPTY_VALUE);
   ArrayInitialize(pos_arr, 0.0);
  • Signaldetektion:
    • Ein Kaufsignal wird ausgelöst, wenn der Kurs von unten nach oben über den Trailing-Stop geht (oben = src > trail_curr && src1 <= trail1).
    • Ein Verkaufssignal entsteht, wenn der Kurs von oben nach unten kreuzt (unten = trail_curr > src && trail1 <= src1).
    • Diese Kreuzungen stellen sicher, dass Signale nur bei bestätigten Trendänderungen erzeugt werden, wodurch das Rauschen reduziert wird.
// Trailing stop and position calculation
   for (int i = 1; i < rates_total; i++)
   {
      double src = calculate_ha ? ha_close[i] : close[i];
      double src1 = calculate_ha ? ha_close[i - 1] : close[i - 1];
      double nLoss = a * atr[i];

      if (src > trail[i - 1] && src1 > trail[i - 1])
         trail[i] = MathMax(trail[i - 1], src - nLoss);
      else if (src < trail[i - 1] && src1 < trail[i - 1])
         trail[i] = MathMin(trail[i - 1], src + nLoss);
      else if (src > trail[i - 1])
         trail[i] = src - nLoss;
      else
         trail[i] = src + nLoss;

      if (src1 < trail[i - 1] && src > trail[i - 1])
         pos_arr[i] = 1.0;
      else if (src1 > trail[i - 1] && src < trail[i - 1])
         pos_arr[i] = -1.0;
      else
         pos_arr[i] = pos_arr[i - 1];

      Print("Bar ", i, ": src=", src, ", trail=", trail[i], ", pos=", pos_arr[i]);
   }

   ArrayResize(BuyBuffer, rates_total);
   ArrayResize(SellBuffer, rates_total);
   ArrayResize(TrailBuffer, rates_total);
   ArrayInitialize(BuyBuffer, EMPTY_VALUE);
   ArrayInitialize(SellBuffer, EMPTY_VALUE);
   ArrayInitialize(TrailBuffer, EMPTY_VALUE);
  • Zeichnen und Warnungen:
    • Kaufen: Zeichnet einen grünen Pfeil unter dem Tiefpunkt des Balkens, wenn ein Kaufsignal ausgelöst wird.
    • Verkaufen: Zeichnet einen roten Pfeil über dem Höchststand des Balkens, wenn ein Verkaufssignal ausgelöst wird.
    • Trailing-Stop: Stellt den Wert von trail[i] als blaue Linie für jeden Balken dar.
  • Warnungen: Löst „UT Long“- oder „UT Short“-Warnungen auf dem neuesten Balken aus, wenn ein neues Signal auftritt; dies wird mit dem Zeitstempel des Balkens abgeglichen, um Duplikate zu vermeiden.
    // Signal and trailing stop plotting
       for (int i = 1; i < rates_total; i++)
       {
          double src = calculate_ha ? ha_close[i] : close[i];
          double src1 = calculate_ha ? ha_close[i - 1] : close[i - 1];
          double trail_curr = trail[i];
          double trail1 = trail[i - 1];
    
          bool above = (src > trail_curr) && (src1 <= trail1);
          bool below = (trail_curr > src) && (trail1 <= src1);
    
          bool buy_signal = above; // Simplified to ensure signals
          bool sell_signal = below;
    
          if (buy_signal)
          {
             BuyBuffer[i] = low[i] - Point() * 10; // Offset for visibility
             Print("Buy signal at bar ", i, ", time: ", TimeToString(time[i]), ", low: ", low[i]);
          }
          if (sell_signal)
          {
             SellBuffer[i] = high[i] + Point() * 10; // Offset for visibility
             Print("Sell signal at bar ", i, ", time: ", TimeToString(time[i]), ", high: ", high[i]);
          }
    
          TrailBuffer[i] = trail[i];
          if (trail[i] != EMPTY_VALUE)
             Print("Trailing stop at bar ", i, ": ", trail[i]);
       }
    
       // Alerts on the latest bar
       if (rates_total > 1)
       {
          int i = rates_total - 1;
          double src = calculate_ha ? ha_close[i] : close[i];
          double src1 = calculate_ha ? ha_close[i - 1] : close[i - 1];
          double trail_curr = trail[i];
          double trail1 = trail[i - 1];
    
          bool above = (src > trail_curr) && (src1 <= trail1);
          bool below = (trail_curr > src) && (trail1 <= src1);
    
          bool buy_signal = above;
          bool sell_signal = below;
    
          static datetime last_time = 0;
          if (time[i] != last_time)
          {
             if (buy_signal)
             {
                Alert("UT Long at ", TimeToString(time[i]));
                Print("UT Long alert triggered at ", TimeToString(time[i]));
             }
             if (sell_signal)
             {
                Alert("UT Short at ", TimeToString(time[i]));
                Print("UT Short alert triggered at ", TimeToString(time[i]));
             }
             last_time = time[i];
          }
       }
    
       return rates_total;
    }

    Dieser Indikator analysiert, erkennt und zeichnet Kauf-/Verkaufspfeil-Signale, indem er nach Trend- und gleitenden Durchschnittsüberkreuzungen für mögliche Handelseinstiege sucht, und zeichnet auch eine Stop-Loss-Linie ein, um Ausstiegspunkte anzuzeigen.

    #property copyright "UT BOT ATR Trailing System"           
    #property version   "1.00"
    #property description "Converted from Pine Script to MQL5 with Trailing Stop Line"
    #property indicator_chart_window
    #property indicator_buffers 3
    #property indicator_plots   3
    
    #property indicator_label1  "Buy"
    #property indicator_type1   DRAW_ARROW
    #property indicator_color1  clrGreen
    #property indicator_style1  STYLE_SOLID
    #property indicator_width1  2
    
    #property indicator_label2  "Sell"
    #property indicator_type2   DRAW_ARROW
    #property indicator_color2  clrRed
    #property indicator_style2  STYLE_SOLID
    #property indicator_width2  2
    
    #property indicator_label3  "Trailing Stop"
    #property indicator_type3   DRAW_LINE
    #property indicator_color3  clrBlue
    #property indicator_style3  STYLE_SOLID
    #property indicator_width3  2
    
    input double a = 1.0;   // Key Value. 'This changes the sensitivity'
    input int    c = 10;    // ATR Period
    input bool   h = false; // Signals from Heikin Ashi Candles
    
    double BuyBuffer[];
    double SellBuffer[];
    double TrailBuffer[];
    
    int atr_handle;
    double ha_open[], ha_high[], ha_low[], ha_close[];
    bool calculate_ha = false;
    
    int OnInit()
    {
       SetIndexBuffer(0, BuyBuffer, INDICATOR_DATA);
       PlotIndexSetInteger(0, PLOT_ARROW, 233); // Up arrow
       PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE);
    
       SetIndexBuffer(1, SellBuffer, INDICATOR_DATA);
       PlotIndexSetInteger(1, PLOT_ARROW, 234); // Down arrow
       PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE);
    
       SetIndexBuffer(2, TrailBuffer, INDICATOR_DATA);
       PlotIndexSetDouble(2, PLOT_EMPTY_VALUE, EMPTY_VALUE);
    
       atr_handle = iATR(_Symbol, PERIOD_CURRENT, c);
       if (atr_handle == INVALID_HANDLE)
       {
          Print("Failed to create ATR handle");
          return INIT_FAILED;
       }
    
       calculate_ha = h;
       ArraySetAsSeries(BuyBuffer, false);
       ArraySetAsSeries(SellBuffer, false);
       ArraySetAsSeries(TrailBuffer, false);
    
       Print("Indicator initialized. Symbol: ", _Symbol, ", Timeframe: ", Period());
    
       return INIT_SUCCEEDED;
    }
    
    void OnDeinit(const int reason)
    {
       if (atr_handle != INVALID_HANDLE)
          IndicatorRelease(atr_handle);
    }
    
    int OnCalculate(const int rates_total,
                    const int prev_calculated,
                    const datetime &time[],
                    const double &open[],
                    const double &high[],
                    const double &low[],
                    const double &close[],
                    const long &tick_volume[],
                    const long &volume[],
                    const int &spread[])
    {
       if (rates_total < c + 2)
       {
          Print("Not enough bars: ", rates_total, " (need ", c + 2, ")");
          return 0;
       }
    
       ArraySetAsSeries(open, false);
       ArraySetAsSeries(high, false);
       ArraySetAsSeries(low, false);
       ArraySetAsSeries(close, false);
       ArraySetAsSeries(time, false);
    
       double atr[];
       ArrayResize(atr, rates_total);
       ArraySetAsSeries(atr, false);
       if (CopyBuffer(atr_handle, 0, 0, rates_total, atr) != rates_total)
       {
          Print("Failed to copy ATR buffer");
          return 0;
       }
      

    Installation: In MetaEditor kompilieren und auf dem Chart starten. Er zeichnet grüne/rote Pfeile für den Einstieg in Aufwärtstrends und rote Pfeile für den Einstieg in Abwärtstrends.

    Beispiel für die Verwendung: Bei GOLD M15/H1 werden die Pfeile und die Trailing-Stop-Linie zur visuellen Analyse und Darstellung in das Hauptdiagramm eingefügt.


    Quellcode des UT Bot Expert Advisors

    Dieser EA erkennt Handelssignale vom Indikator und interpretiert sie je nach Trendrichtung und Signalpunkten, um Handelseinträge zu tätigen, prüft den Average True Range, um Stop-Loss-Niveaus zu bestimmen, und eröffnet die Handelsgeschäfte Handelsgeschäfte ein. Es beinhaltet ein Risikomanagement (2% Risiko pro Handel). 

    Anpassbare Einstellungen für den EA

    Dieser Abschnitt mit den Eingabeparametern ermöglicht es Händlern, das Verhalten des Expertenberaters anzupassen, ohne den Code zu verändern. Für die Handelspaare GBPUSD und GBPJPY habe ich den RiskPct auf 1,0 % reduziert, um das Verlustrisiko pro Handelsgeschäft zu begrenzen und große Drawdowns in den moderaten Volatilitätsumgebungen dieser Paare zu vermeiden. ATR_Prd ist für eine schnellere Berechnung der Volatilität auf 10 gesetzt, da GBPUSD und GBPJPY im Vergleich zu Gold kurzfristigeren Kursschwankungen unterliegen.

    Der EMA_Prd ist auf 12 verkürzt, um die Trenderkennung im M15-Zeitrahmen zu verbessern. NewsPause wird auf 20 Minuten ausgedehnt, um die anhaltende Volatilität zu vermeiden, die bei GBP-Paaren während der Veröffentlichung von Wirtschaftsdaten aus dem Vereinigten Königreich und den USA häufig auftritt.

    Der MinBrkStr ist für beide Paare erhöht, um sicherzustellen, dass nur starke Signale gehandelt werden, wodurch Rauschen herausgefiltert und die Gewinnraten verbessert werden. useHTF ist standardmäßig aktiviert, um die Handelsgeschäfte an Trends mit höherem Zeitrahmen auszurichten und falsche Signale zu reduzieren. MaxSpreadPips und UseDynamicSpread steuern die Spread-Filterung, die für die größeren Spreads des GBPJPY während der asiatischen Sitzungen entscheidend ist. Die Drawdown-Limits sind auf 5 % pro Tag und 10 % insgesamt beschränkt, um ein strenges Risikomanagement durchzusetzen und den Handel bei Überschreitung zu stoppen, um das Kapital zu schützen.

    Im folgenden Code deklarieren wir die Eingabeparameter: 
    //+------------------------------------------------------------------+
    //|                                                    UT BOT EA.mq5 |
    //|                                                     EUGENE MMENE |
    //|                                            https://EMcapital.com |
    //+------------------------------------------------------------------+
    #property copyright "EUGENE MMENE"
    #property link      "https://EMCAPITAL2022"
    #property version   "2.51"
    
    #include <Trade\Trade.mqh>
    #include <Object.mqh>
    #include <StdLibErr.mqh>
    #include <Trade\OrderInfo.mqh>
    #include <Trade\HistoryOrderInfo.mqh>
    #include <Trade\PositionInfo.mqh>
    #include <Trade\DealInfo.mqh>
    
    input double RiskPct = 1.0; // Reduced risk per trade
    input double MaxLossUSD = 100.0;
    input double RecTgt = 7000.0;
    input int ATR_Prd = 10; // Faster ATR for GBPUSD/GBPJPY
    input int Brk_Prd = 10;
    input int EMA_Prd = 12; // Faster EMA for M15
    input string GS_Url = "";
    input bool NewsFilt = true;
    input int NewsPause = 60; // Extended news pause
    input double MinBrkStr_XAUUSD = 0.3; // Not used
    input double MinBrkStr_GBPUSD = 0.07; // Increased for stronger breakouts
    input double MinBrkStr_GBPJPY = 0.1; // Increased for GBPJPY volatility
    input int Vol_Prd = 3; // Increased for volume confirmation
    input bool Bypass = false; // Enforce breakout strength
    input bool useHTF = true; // Enable HTF trend filter
    input string NewsAPI_Url = "https://www.alphavantage.co/query?function=NEWS_SENTIMENT&apikey=";
    input string NewsAPI_Key = "pub_3f54bba977384ac19b6839a744444aba";
    input double DailyDDLimit = 5.0; // Stricter daily drawdown
    input double OverallDDLimit = 10.0; // Stricter overall drawdown
    input double TargetBalanceOrEquity = 9000.0;
    input bool ResetProfitTarget = false;
    input double MaxLotSize = 4.0;
    input double MaxSpreadPips = 30.0; // Adjusted for GBPUSD/GBPJPY
    input bool UseDynamicSpread = true; // Enable dynamic spread
    input int SpreadAvgPeriod = 5; // Shorter spread averaging
    
    

    OnInit-Funktion: Einrichtung und Initialisierung

    Die OnInit-Funktion wird einmal beim Start des EA aufgerufen. Er validiert die Handelspaare (GBPUSD oder GBPJPY) und legt die Mindestausbruchsstärke je nach gehandeltem Paar fest. Dadurch wird sichergestellt, dass sich der UT-Bot dynamisch an die Volatilität des Paares anpasst – die bei GBPUSD niedriger ist, um mehr Chancen in den engeren Handelsspannen zu nutzen, und bei GBPJPY höher, um falsche Ausbrüche bei den stärkeren Bewegungen zu vermeiden. Das Zeitrahmen-Array ist so konzipiert, dass es sich ausschließlich auf M15 konzentriert und das Rauschen von M5 und die Verzögerung von H1 reduziert, was die Signalgenauigkeit für diese Paare verbessert.

    Indikatoren wie ATR (für volatilitätsbasierte SL/TP), Volumen (für Bestätigung) und EMA (für Trend) werden auf M15 initialisiert. Die EMAs der höheren Zeitrahmen auf D1 und H4 werden für die Trendfilterung herangezogen, eine wichtige Anpassung gegenüber dem Goldhandel, wo niedrigere Zeitrahmen aufgrund größerer Bewegungen ausreichen. Wenn die Nachrichtenfilterung aktiviert ist, wird die Funktion FetchNewsCalendar aufgerufen, um anstehende Ereignisse zu laden und so den Handel während Zeiten hoher Volatilität zu verhindern. Dieses Setup stellt sicher, dass der Bot für den profitablen Handel mit GBPUSD/GBPJPY bereit ist, indem er sich an deren Marktdynamik anpasst.

    int OnInit() {
       // Validate symbol and set breakout strength
       string sym = Symbol();
       if(StringFind(TradeSymbol, "GBPUSD") >= 0) {
          MinBrkStr = MinBrkStr_GBPUSD;
       } else if(StringFind(TradeSymbol, "GBPJPY") >= 0) {
          MinBrkStr = MinBrkStr_GBPJPY;
       }
       dynBrkStr = MinBrkStr;
    
       // Initialize M15 timeframe and indicators
       ArrayResize(tfs, 1); // Focus on M15
       tfs[0].tf = PERIOD_M15;
       tfs[0].h_atr = iATR(TradeSymbol, tfs[0].tf, ATR_Prd);
       tfs[0].h_vol = iVolumes(TradeSymbol, tfs[0].tf, VOLUME_TICK);
       tfs[0].h_vol_ma = iMA(TradeSymbol, tfs[0].tf, Vol_Prd, 0, MODE_SMA, PRICE_CLOSE);
       h_ema_d1 = iMA(TradeSymbol, PERIOD_D1, EMA_Prd, 0, MODE_EMA, PRICE_CLOSE);
       h_ema_h4 = iMA(TradeSymbol, PERIOD_H4, EMA_Prd, 0, MODE_EMA, PRICE_CLOSE);
    
       if(NewsFilt) FetchNewsCalendar();
       return(INIT_SUCCEEDED);
    

    IsTradingTime Funktion: Sitzungsabhängige Handelsbeschränkung

    Diese Funktion beschränkt den Handel auf die Londoner und New Yorker Sitzungen (8:00-20:00 GMT, Montag bis Freitag), die die liquidesten und volatilsten Zeiten für GBPUSD und GBPJPY sind.

    GBPUSD verzeichnet während der Überschneidungen in London (8:00-12:00 GMT) und New York (13:00-20:00 GMT) ein beträchtliches Handelsvolumen, während GBPJPY von der Überschneidung zwischen London und Tokio profitiert, aber während der Überschneidung zwischen London und New York eine höhere Volatilität aufweist.

    Indem der UT-Bot den Handel auf diese Stunden beschränkt, vermeidet er Zeiten mit geringer Liquidität (z. B. die asiatische Session), die oft zu falschen Ausbrüchen und größeren Spreads führen, was die Gesamtrentabilität verbessert und die Drawdowns reduziert. Die Struktur MqlDateTime wird verwendet, um die aktuelle Stunde und den aktuellen Tag zu extrahieren, was eine genaue Kontrolle gewährleistet. Diese Anpassung ist für GBP-Paare unerlässlich.

    bool IsTradingTime() {
       MqlDateTime time;
       TimeCurrent(time);
       return (time.hour >= 8 && time.hour <= 20 && time.day_of_week >= 1 && time.day_of_week <= 5);
    }
    

    CalcLots Funktion: Dynamische Positionsgrößenbestimmung mit Risikokontrolle

    Die Funktion CalcLots berechnet die Positionsgröße auf der Grundlage des Kontokapitals, des Risikoprozentsatzes und der Stop-Loss-Distanz in Pips und stellt sicher, dass kein Handel das Risiko von 1 % überschreitet. Für GBPJPY beträgt die Pip-Wert-Anpassung 0,1, um den höheren Pip-Wert aufgrund der JPY-Skala zu berücksichtigen und eine Überbewertung zu vermeiden; für GBPUSD beträgt sie 0,5.

    Der Risikobetrag ist auf MaxLossUSD begrenzt, um katastrophale Verluste zu vermeiden. Eine Abwärtsschleife verkleinert die Losgröße, wenn sie die verfügbare Marge (mit einem Puffer von 20 %) übersteigt, und behebt so den „Kein Geld“-Fehler, die bei volatilen Paaren wie GBPJPY häufig auftreten.

    Die Losgröße ist normalisiert, um den Regeln des Brokers zu entsprechen (min/max lot). Diese Methode fördert ein konsequentes Risikomanagement, das für die langfristige Rentabilität von GBPUSD/GBPJPY entscheidend ist, da die Preisschwankungen hier weniger extrem sind als bei Gold.

    double CalcLots(double eq, double riskPct, double slPips) {
       double pipVal = SymbolInfoDouble(TradeSymbol, SYMBOL_TRADE_TICK_VALUE);
       double pipValAdjust = StringFind(TradeSymbol, "GBPJPY") >= 0 ? 0.1 : 0.5;
       double riskAmt = MathMin(eq * (riskPct / 100), MaxLossUSD);
       double lots = (riskAmt / (slPips * pipVal)) * pipValAdjust;
       double minLot = SymbolInfoDouble(TradeSymbol, SYMBOL_VOLUME_MIN);
       double maxLot = MathMin(SymbolInfoDouble(TradeSymbol, SYMBOL_VOLUME_MAX), MaxLotSize);
       double freeMarg = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
       while(lots > minLot && freeMarg < (SymbolInfoDouble(TradeSymbol, SYMBOL_MARGIN_INITIAL) * lots * 1.2)) {
          lots *= 0.8; // Reduce lot size iteratively
       }
       lots = NormalizeDouble(MathMax(minLot, MathMin(maxLot, lots)), 2);
       return lots;
    }

    Installation und Backtests: Mit MetaEditor kompilieren und auf dem Chart starten. Backtesting auf GBPUSD/GBPJPY M15 (2025) mit 2% Risiko. 


    Testen von Strategien

    Der Indikator funktioniert optimal für jede Anlageklasse, da er relativ schnell Bewegungen erkennt und sich an hohe Volatilität anpasst, was für Scalper und den Intraday-Handel von Vorteil ist. Wir werden diesen Indikator testen, indem wir GOLD vom 1. Januar 2025 bis zum 1. April 2025 auf dem 60-Minuten-Zeitrahmen (H1) handeln, um zu zeigen, wie er sich auf dem Chart darstellt. Hier sind die Parameter, die ich für diese Strategie gewählt habe.

    Eingabe-Parameter


       Eingaben

    Strategietests mit UT Bot 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 und eine hohe Volatilität aufweist, was für den Intraday-Handel im Einzelhandel und insbesondere für das Scalping von Vorteil ist. Wir werden diese Strategie testen, indem wir GBPJPY und GBPUSD vom 1. Januar 2025 bis zum 1. April 2025 auf dem 15-Minuten-Zeitrahmen (M15) handeln. Hier sind die Parameter, die ich für diese Strategie gewählt habe. 

    GBPJPY

    Eingabe-Einstellungen für GBPJPY

    GBPUSD

    Eingabeeinstellungen für GBPUSD

    Eingabe-Einstellungen


    Ergebnisse im Strategietester

    Nach dem Testen mit dem Strategietester sind hier die Ergebnisse, wie es funktioniert, analysiert und zeichnet Einstiegspunkte eines Handelsgeschäfts mit Pfeilen und auch Stop-Loss-Linien.

    Zeichnen von Signal- und Trailing-Stop

    Abb.4 Zeichnen von Signal- und Trailing-Stop-Darstellung


    Datenfenster-Ergebnisse

    Strategie-Testergebnisse zu UT Bot EA

    Salden-/Kapitalkurve: GBPJPY

    GBPJPY-Grafik

    GBPUSD

    GBPUSD-Grafik


    Backtest-Ergebnisse: GBPJPY

    GBPJPY Backtesting-Ergebnisse

    GBPUSD

    Backtest-Ergebnisse GBPUSD

    Zusammenfassung

    Ich habe diesen Artikel geschrieben, um zu versuchen, einen Indikator für MetaTrader 5 zu erklären, der die Verwendung der Average True Range (ATR) und eines exponentiellen gleitenden Durchschnitts kombiniert, um hochwahrscheinliche Handels-Setups für GOLD und auch mögliche Ausstiegspunkte zu identifizieren, die entweder Gewinnmitnahmen oder Stop-Loss-Bereiche sein können. Dieser UT BOT-Indikator ist eines der wertvollsten und revolutionärsten Handels- und Signalerzeugungskonzepte, das zur Erfassung möglicher Kurseinstiege und Trendwechsel verwendet wird.

    Ich habe den Indikator an GOLD, GBPUSD und GBPJPY getestet, und es hat sich gezeigt, dass er in der Lage ist, mögliche Handelseinstiege auf jedem Zeitrahmen effizient und treffend zu erkennen. Die Erkennung von Handelseinstiegspunkten ist jedoch nur ein Teil der Gleichung, denn wenn es kein Kreuzen des gleitenden Durchschnitts gibt, erkennt der Indikator dies nicht als möglichen Handelseinstieg oder Szenario, und dann sollen dort keine Handelsgeschäfte ausgeführt werden, selbst wenn es einen plötzlichen Preisanstieg gibt. Diese Überkreuzungen der gleitenden Durchschnitte sind Bestätigungen, die dazu beitragen, die Genauigkeit und Qualität des Handels während volatiler Sitzungen zu verbessern.

    Um diese Indikatorstrategie zu implementieren, konfigurieren Sie die Eingabeparameter des Indikators wie unten gezeigt, um die gewünschten Ergebnisse zu erhalten. Der Indikator ist so konzipiert, dass er auf jedem Zeitrahmen, den ein Händler zur Ansicht auswählt, von M1 bis MN, nach möglichen Handelseinstiegspunkten sucht und dabei sicherstellt, dass die möglichen Handelseinstiegspunkte mit dem Trend und dem Crossover des gleitenden Durchschnitts sowie der durchschnittlichen wahren Spanne übereinstimmen. Interessierte Nutzer sollten diesen Indikator auf ihren Demokonten mit einem beliebigen Vermögenswert oder Währungspaar backtesten. Das Hauptziel dieses Indikators war es, ihn für schnelle Selektionen und Setups mit hoher Wahrscheinlichkeit zu optimieren, die in niedrigeren Zeitrahmen für Scalper auftreten, und auch das Risikomanagement mit den implementierten Trailing-Stops zu integrieren.

    Ich würde den Nutzern 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 Indikator verwendet, sollte zunächst testen und mit dem Handel auf seinem Demokonto beginnen, um diesen Scalping-Ideen-Ansatz für konsistente Gewinne zu meistern, 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 Selbstzweifel, Analyse-Lähmung und auch die Notwendigkeit, schnelle, schnelle Handelsausführungen und Entscheidungen zu treffen, wo und wann sie auftreten. Der Artikel zeigt deutlich auf, wie UT BOT versucht, diese Beschränkungen zu lösen und den Handelsprozess scheinbar einfacher zu machen, und wie es idealerweise verwendet werden kann, um zu analysieren, zu verstehen, zu bestätigen und sogar Handelsausführungen zu tätigen, indem es sein schnelles und durchsetzungsfähiges Werkzeug zur Erzeugung von Handelssignalen nutzt.

    Die meisten Experten, Anfänger und sogar einige fortgeschrittene Händler haben keine Ahnung, wie man sich in dieser düsteren Welt des Scalping 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 Handelsgeschäfte und Ausführungen zu machen, die für sie in der kurzfristigen Betrachtung, die häufig vorkommt, tatsächlich profitabel sein können, im Gegensatz zum langfristigen Handel und zu Positionshändlern. Selbst wenn sie keine Handelsgeschäfte auf der Grundlage der Indikatorsignale ausführen, können Händler ihre eigenen Handelsideen, Positionen und Setups und sogar den Trend und die Richtung in Bezug auf das, was ich in diesem Artikel mitgeteilt habe, validieren, und sie werden es sehr interessant finden, wie der UT BOT eine sehr wichtige Rolle bei der Signalgenerierung spielen kann.

    Durch die Automatisierung dieses signalgenerierenden Indikators mit MQL5 reduzieren Händler emotionale Voreingenommenheit, Analyselähmung und Selbstzweifel und ermöglichen so eine konsistente Ausführung der generierten Handelssignale durch diese Scalping-Strategie, die auch sehr gut für den Langzeit-/Positionshandel funktioniert.

    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
    UT BOT.mq5 Datei mit dem vollständigen Quellcode für den UT BOT-Indikator.
    UT BOT EA.mq5 Datei mit dem vollständigen Quellcode für den vollständig kombinierten UT BOT EA. 

    Übersetzt aus dem Englischen von MetaQuotes Ltd.
    Originalartikel: https://www.mql5.com/en/articles/19576

    Beigefügte Dateien |
    Ut_Bot.mq5 (7.55 KB)
    UT_BOT_EA.mq5 (54.54 KB)
    Letzte Kommentare | Zur Diskussion im Händlerforum (4)
    jack budge
    jack budge | 24 Okt. 2025 in 10:55
    MetaQuotes:

    Sehen Sie sich den neuen Artikel an: Mastering Quick Trades: Überwindung der Ausführungslähmung.

    Autor: Eugene Mmene

    Äußerst nützlich Eugene, großartige Anpassung, primo Zusammenfluss
    Eugene Mmene
    Eugene Mmene | 24 Okt. 2025 in 12:42
    jack budge #:
    Äußerst nützlicher Eugene, tolle Anpassung, prima Zusammenspiel
    Dankeschön
    Stuart
    Stuart | 6 Nov. 2025 in 11:52
    Großer Artikel, ive gebaut etwas ganz ähnlich mit Pinescript, im nicht so groß mit MQL5. Ich habe versucht, es zu laden und testen auf XAUUSD 1mTF und 15mTF, aber es scheint nicht auf Backtesting zu arbeiten
    Eugene Mmene
    Eugene Mmene | 11 Nov. 2025 in 21:51
    Stuart Backtesting zu arbeiten
    Ich danke Ihnen,
    Aah sehr schön gut für Sie versucht Sie den Indikator zu testen?! Es ist in erster Linie ein Indikator, den ich auch eine Herausforderung gefunden, um es zu testen, aber Sie können es auf einem Diagramm anwenden und sehen, ob die Signale generiert waren actuall gut und gültig Handel bewegt, dass Sie ausgeführt haben würde.seine mehr einfacher
    MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 82): Verwendung von TRIX- und WPR-Mustern mit DQN-Verstärkungslernen MQL5-Assistenten-Techniken, die Sie kennen sollten (Teil 82): Verwendung von TRIX- und WPR-Mustern mit DQN-Verstärkungslernen
    Im letzten Artikel haben wir die Paarung von Ichimoku und ADX im Rahmen des Inferenzlernens untersucht. In diesem Beitrag greifen wir das Verstärkungslernen in Verbindung mit einem Indikatorpaar auf, das wir zuletzt in „Teil 68“ betrachtet haben. Der TRIX und Williams Percent Range. Unser Algorithmus für diese Überprüfung wird die Quantilregression DQN sein. Wie üblich stellen wir dies als nutzerdefinierte Signalklasse vor, die für die Implementierung mit dem MQL5-Assistenten entwickelt wurde.
    Entwicklung des Price Action Analysis Toolkit (Teil 45): Erstellen eines dynamischen Level-Analyse-Panels in MQL5 Entwicklung des Price Action Analysis Toolkit (Teil 45): Erstellen eines dynamischen Level-Analyse-Panels in MQL5
    In diesem Artikel stellen wir Ihnen ein leistungsstarkes MQL5-Tool vor, mit dem Sie jedes gewünschte Preisniveau mit nur einem Klick testen können. Geben Sie einfach das von Ihnen gewählte Niveau ein und drücken Sie auf „Analyze“. Der EA scannt sofort die historischen Daten, hebt jede Berührung und jeden Durchbruch im Chart hervor und zeigt die Statistiken in einem übersichtlichen Dashboard an. Sie werden genau sehen, wie oft der Kurs Ihr Niveau respektiert oder durchbrochen hat und ob es sich eher wie eine Unterstützung oder ein Widerstand verhielt. Lesen Sie weiter, um das genaue Verfahren zu erfahren.
    Automatisieren von Handelsstrategien in MQL5 (Teil 36): Handel mit Angebot und Nachfrage mit Retest und Impulsmodell Automatisieren von Handelsstrategien in MQL5 (Teil 36): Handel mit Angebot und Nachfrage mit Retest und Impulsmodell
    In diesem Artikel erstellen wir ein Angebots- und Nachfragehandelssystem in MQL5, das Angebots- und Nachfragezonen durch Konsolidierungsbereiche identifiziert, sie mit impulsiven Bewegungen validiert und Retests mit Trendbestätigung und anpassbaren Risikoparametern handelt. Das System visualisiert die Zonen mit dynamischen Etiketten und Farben und unterstützt Trailing Stops für das Risikomanagement.
    Automatisieren von Handelsstrategien in MQL5 (Teil 35): Erstellung eines Blockausbruch-Handelssystems Automatisieren von Handelsstrategien in MQL5 (Teil 35): Erstellung eines Blockausbruch-Handelssystems
    In diesem Artikel erstellen wir ein Block-Ausbruchssytems in MQL5, das Konsolidierungsbereiche identifiziert, Ausbrüche erkennt und Ausbruchsblöcke mit Umkehrpunkten validiert, um Retests mit definierten Risikoparametern zu handeln. Das System visualisiert Auftrags- und Ausbruchsblöcke mit dynamischen Kennzeichnungen und Pfeilen und unterstützt den automatisierten Handel und Trailing Stops.