
Die Strategie kombiniert die Reverse-Trading-Methode ((Kaufen von Tiefs) mit der Trend-Tracking-Logik ((Nur wenn der Preis höher als MA200 ist)). Die Strategie zielt darauf ab, die optimalen Zeiten zu finden, in denen der Kauf eines Assets am wahrscheinlichsten profitabel ist. Die Preise oberhalb des langfristigen Moving Averages zeigen eine erhöhte Wahrscheinlichkeit, von einem Asset zu profitieren, dessen kurzfristige Preise schwach sind.
Die Strategie berechnet den Prozentsatz der Gesamtveränderung des Preises in der Rücklaufzeit, um zu beurteilen, ob der Preis in einem relativen Tiefpunkt ist. Der Preis wird als Tiefpunkt angesehen, wenn der Gesamtveränderungsprozentsatz weniger als 3% beträgt. Darüber hinaus setzt die Strategie einen 200-Tage-Simplemet-Moving-Average als Indikator für die Beurteilung des Trends ein.
Die Strategie kombiniert die Vorteile von Trend- und Reverse-Trading. Zum einen wird der Trend mit einem langfristigen Moving Average beurteilt und es wird vermieden, während des Trendrückgangs blind zu kaufen. Zum anderen ermöglicht der Reverse-Buy-Low-Point eine bessere Einstiegszeit bei kurzfristigen Anpassungen. Die Kombination der beiden garantiert sowohl die Sicherheit des Handels als auch die Gewinnwahrscheinlichkeit.
Das größte Risiko dieser Strategie besteht darin, dass die Preise nach dem Kaufsignal weiter sinken können, was zu einer Vergrößerung der Verluste führt. Darüber hinaus kann die Strategie zum Scheitern führen, wenn der Markt über einen längeren Zeitraum horizontal ist und die Preise nicht über den Moving Average hinausgehen. Um diese Risiken zu verringern, können die Moving Average-Zyklen angemessen verkürzt und die Kaufbedingungen optimiert werden, um eine ausreichende Sicherheitsmarge zu gewährleisten.
Diese Strategie kann in folgenden Bereichen optimiert werden: 1) Optimierung der Moving Average-Zyklus, um sie an die verschiedenen Märkte anzupassen; 2) Optimierung der Kaufbedingungen, um sicherzustellen, dass es genügend Margin gibt; 3) Erhöhung der Stop-Loss-Strategie, um die Verluste zu kontrollieren; 4) Verbesserung der Genauigkeit, um Trends und Tiefs in Verbindung mit anderen Indikatoren zu beurteilen.
Die Strategie ist eine typische Kombination aus Trend-Tracking und Reverse Trading Ideen. Sie garantiert sowohl die Sicherheit des Handels als auch die Gewinnwahrscheinlichkeit. Sie hat einen starken Einsatzwert. Durch die Optimierung der Parameter und die Optimierung der Stop-Loss-Strategie können die Strategie-Stabilität und die Einsatzwirksamkeit weiter verbessert werden.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Buy The Dips - MA200 Optimised", overlay=false)
//Moving average
MAinp = input(defval = 100, title = "MA", type = input.integer, minval = 1, step = 1)
MA=sma(close, MAinp)
//Percent change
inp_lkb = input(1, title='Lookback Period')
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// Call the function
overall = perc_change(inp_lkb)
// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//Entry/Exit
strategy.entry(id="long", long = true, when = window() and overall<-3 and close > MA)
strategy.close(id="long", when = window() and overall>1)
bgcolor(color = showDate and window() ? color.gray : na, transp = 90)
plot(overall, color=color.black, title='Overall Percentage Change', linewidth=3)
band1 = hline(1, "Upper Band", color=#C0C0C0)
band0 = hline(-2, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
hline(0, title='Center Line', color=color.orange, linestyle=hline.style_solid, linewidth=2)