Tägliche Strategie HIGH/LOW

Schriftsteller:ChaoZhang, Datum: 23.09.2023
Tags:

Übersicht

Dies ist eine einfache Intraday-Handelsstrategie, die tägliche Hoch-/Tiefpunkte, gleitenden Durchschnitt und Volumen kombiniert.

Strategie Logik

Die Strategie stützt sich hauptsächlich auf folgende Indikatoren:

  1. Tägliche Höchst-/Tiefpunkte: Die höchsten und niedrigsten Preise des vorhergehenden Handelstages werden als Benchmark für das Breakout-Urteil aufgezeichnet.

  2. Gleitender Durchschnitt: Berechnet der gleitende Durchschnitt der Schlusskurse über einen bestimmten Zeitraum als Referenz für die Gesamtentwicklung.

  3. Volumen-Geldfluss: Berechnet der normalisierte Long/Short-Wert des Volumens über einen Zeitraum, um Geldzu- und -Ausflüsse zu ermitteln.

Die spezifischen Handelsregeln sind:

  1. Long-Bedingung: Wenn das Tageshoch das Vortagshöhepunkt bricht und der Schlusskurs über dem gleitenden Durchschnitt liegt und der Volumen-Geldfluss positiv ist, gehen Sie lang.

  2. Schließung der Long-Position: Wenn der Close unter den gleitenden Durchschnitt fällt, schließt man die Long-Positionen.

  3. Short-Bedingung: Wenn das Tagestief das Tief des Vortages bricht und der Schlusspunkt unter dem gleitenden Durchschnitt liegt und der Volumen-Geldfluss negativ ist, gehen Sie kurz.

  4. Schließen einer Shortposition: Wenn der Schließen über den gleitenden Durchschnitt bricht, schließen Sie eine Shortposition.

Die Strategie berücksichtigt Breakout, Trend und Kapitalfluss umfassend und bildet ein vollständiges Beurteilungssystem, das falsche Breakout-Geräusche effektiv filtern kann.

Analyse der Vorteile

Diese High/Low Breakout-Strategie hat folgende Vorteile:

  1. Die Logik ist einfach und intuitiv, leicht zu verstehen und umzusetzen.

  2. Durch das Durchbrechen der Höhe-/Tiefpunkte des Vortages kann die Richtung stärkerer Kräfte erfasst werden.

  3. Durch Filtern mit gleitenden Durchschnitten werden viele laute Signale vermieden.

  4. Kapitalflussindikatoren helfen, die lang-/kurzfristige Verteilung der Kräfte zu bestimmen.

  5. Der Intraday-Handel ermöglicht die Akkumulation von Gewinnen durch mehrere Trades.

  6. Es ist keine komplexe Parameteroptimierung erforderlich, relativ einfach umzusetzen.

  7. Anwendbar auf verschiedene Produkte mit hoher Flexibilität.

  8. Insgesamt ist die Strategie-Idee einfach und klar, mit geringen Schwierigkeiten bei der Umsetzung und erheblichem Gewinnpotenzial.

Risikoanalyse

Obwohl die Strategie viele Vorteile bietet, gibt es auch einige Risiken:

  1. Die Abhängigkeit von hohen/niedrigen Ausbrüchen kann zu Verlusten durch falsche Ausbrüche führen.

  2. Übermäßig abhängig vom Intraday-Handel, leicht von Ereignissen über Nacht betroffen.

  3. Eine Verzögerung der gleitenden Durchschnitte kann Trendwendepunkte verpassen.

  4. Volumenanzeiger können manchmal falsche Signale geben.

  5. Nicht in der Lage, die Verlustgröße von Einzelwetten gut zu kontrollieren, mit Gefahr übergroßer Verluste.

  6. Häufiger Intraday-Handel wird von den Handelskosten beeinflusst.

  7. Der begrenzte Optimierungsraum macht es schwierig, dauerhaftes Alpha zu erreichen.

  8. Insgesamt weist die Strategie eine hohe Signalfrequenz auf, aber keine nachgewiesene Stabilität und Rentabilität auf.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Hinzufügen von Stop-Loss, um das Risiko einer einzigen Wette zu kontrollieren.

  2. Optimieren Sie die gleitenden Durchschnittsparameter für mehr Empfindlichkeit oder Glattigkeit.

  3. Versuchen Sie verschiedene Volumenindikatoren, um das Beurteil des Kapitalflusses zu verbessern.

  4. Fügen Sie mehr Filter hinzu, um die Wahrscheinlichkeit eines falschen Ausbruchs zu reduzieren.

  5. Führen Sie die Strategie in höheren Zeitrahmen durch, um zu viel zu handeln.

  6. Einführung von maschinellem Lernen für die adaptive Signalgenerierung.

  7. Mehr Daten für die Entscheidungsfindung einbeziehen, z.B. Nachrichten, Makros usw.

  8. Sie müssen die Stabilität und das Risiko umfassend bewerten und keine übermäßigen Renditen anstreben.

Schlussfolgerung

Zusammenfassend ist dies eine einfache und intuitive High/Low Breakout-Strategie, die sich auf die Preis-Volumen-Beziehung und Trendbeurteilung konzentriert. Sie hat einige Vorteile, aber auch Risiken, die weitere Optimierung und Verifizierung erfordern.


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=5

strategy(title='Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)

////////////////////////////GENERAL INPUTS//////////////////////////////////////
len = input.int(24, minval=1, title='Length MA', group='Optimization paramters')
src = input.source(close, title='Source MA', group='Optimization paramters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization paramters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0


if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, when=barstate.isconfirmed, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, when=barstate.isconfirmed, stop=pricehigh[1])
    strategy.close('long', when=close < out)




Mehr