
Die Strategie ist eine Handelsstrategie, die auf einem Trend basiert, der den Moving Averages folgt. Sie nutzt die Moving Averages der höchsten und niedrigsten Preise, die mit verschiedenen Parametern eingestellt sind, um die Markttrends zu beurteilen, und erzeugt die entsprechenden Handelssignale an den Trendwendepunkten. Wenn der Preis den Moving Average, den er nach oben verfolgt, überschreitet, macht er einen Plus; wenn der Preis den Moving Average, den er nach unten verfolgt, überschreitet, macht er einen Minus.
Die Strategie nutzt einfache Moving Averages mit Höchst- und Tiefpreisen in verschiedenen Parameter-Sets, um Markttrends zu beurteilen. Konkret erstellt sie zwei Gruppen von Moving Averages, die den Trend verfolgen:
Ein Aufwärts-Tracking-Moving-Average-System, bestehend aus h1 und l1. h1 ist der einfache Moving-Average des höchsten Preises, der den Markttrend auf der oberen Bahn darstellt. l1 ist der untere Bahn, der aus h1 minus den ATR-Werten besteht. Es wird ein Mehr-Signal erzeugt, wenn der Preis h1 überschreitet.
Ein nach unten verfolgter Moving-Average-System, bestehend aus h2 und l2. h2 ist der einfache Moving-Average des niedrigsten Preises, der die Unterbahn der Markttrend darstellt; l2 ist die Oberbahn, die aus h2 plus ATR-Werte besteht. Es erzeugt ein Leerstandssignal, wenn der Preis unter h2 fällt; es erzeugt ein Flachstandssignal, wenn der Preis über l2 fällt.
Die Verwendung eines Doppelschienensystems ermöglicht eine genauere Bestimmung der Trendwendepunkte und filtert einige Noise-Tradings. Gleichzeitig werden die ATR-Werte verwendet, um Stop-Loss- und Stop-Stop-Levels einzustellen und die Risiko-Gewinn-Ratio pro Einheit zu steuern.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Gegenmaßnahmen:
Diese Strategie kann in folgenden Bereichen optimiert werden:
Die Strategie ist insgesamt eine einfache und praktische Trendverfolgungsstrategie, deren Kernidee darin besteht, Trendwende zu erkennen und Einzelschäden zu begrenzen. Die Strategie hat einen gewissen Einsatzwert, aber auch einen großen Optimierungsraum. Bessere Ergebnisse können durch Parameteroptimierung und in Kombination mit anderen Indikatoren erzielt werden.
/*backtest
start: 2023-12-05 00:00:00
end: 2024-01-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
highest_length = input(200, type=input.integer, minval=1, title="Highest Length")
highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length")
lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length")
lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length")
atr_length = input(14, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier")
a = atr(atr_length) * atr_multiplier
h1 = sma(highest(high, highest_length), highest_average)
l1 = h1 - a
h2 = sma(lowest(low, lowest_length), lowest_average)
l2 = h2 + a
buy1_signal = crossover(close, h1)
sell1_signal = crossunder(close, l1)
strategy.entry("Buy", strategy.long, when=buy1_signal)
strategy.close("Buy", when=sell1_signal)
buy2_signal = crossunder(close, h2)
sell2_signal = crossover(close, l2)
strategy.entry("Sell", strategy.short, when=buy2_signal)
strategy.close("Sell", when=sell2_signal)
y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2)
y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2)
y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2)
y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2)
fill(y1,y2,color=color.green)
fill(y3,y4,color=color.red)