Diese Strategie wird
Die Kernlogik dieser Strategie basiert auf der Kombination von Bollinger Bands und RSI-Indikatoren.
Erstens enthalten Bollinger-Bänder drei Linien: mittlere Linie, obere Linie und untere Linie. Die mittlere Linie ist der einfache gleitende Durchschnitt von n Tagen, während die obere Linie und untere Linie k mal Standardabweichung über und unter der mittleren Linie sind. Wenn der Preis die obere oder untere Linie erreicht oder berührt, zeigt dies an, dass sich die Aktie im Überkauf oder Überverkauf befindet.
In dieser Strategie beträgt die Periodenlänge der Bollinger Bands mittlere Linie 235 Tage und der Parameter k-Wert ist 2. Sie erzeugt Kaufsignale, wenn der Preis unter die Bollinger-Unterlinie fällt oder über die mittlere Linie geht, und Verkaufssignale, wenn der Preis über die Bollinger-Oberlinie steigt.
Zweitens spiegelt der RSI-Indikator das überkaufte/überverkaufte Niveau einer Aktie wider. RSI über 70 deutet auf einen überkauften Status hin, während unter 30 ein überverkaufter Status liegt. Die Parameterperiode für den RSI in dieser Strategie beträgt 2.
In dieser Strategie werden Bollinger Bands und RSI-Indikatoren zusammen verwendet: Kaufsignale werden erzeugt, wenn der RSI durch das Überverkaufsniveau bricht, während der Preis die Bollinger-Unterlinie berührt oder unter sie fällt. Verkaufssignale werden erzeugt, wenn der RSI vom Überkaufsniveau bricht, während der Preis über die Bollinger-Oberlinie steigt.
Diese Strategie hat folgende Vorteile:
Diese Strategie birgt auch einige Risiken:
Es gibt mehrere Richtungen zur weiteren Optimierung dieser Strategie:
Dies ist eine langfristige Strategie, die besonders für hochvolatile Aktien wie FNGU geeignet ist. Durch die Kombination von Bollinger Bands und RSI erzeugt sie Handelssignale rund um überkaufte/überverkaufte Preisniveaus, mit dem Ziel, Preisumkehrmöglichkeiten zu erfassen.
/*backtest start: 2023-12-29 00:00:00 end: 2024-01-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true) ///////////// RSI RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length RSIoverSold = 50 RSIoverBought = 50 price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length BBmult = 2 BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev BBtarget38 = BBbasis + 0.38 * BBdev // Line at 38% of Bollinger Band width BBtarget50 = BBbasis + 0.50 * BBdev // Line at 50% of Bollinger Band width ///////////// EMA emaLength = input(20, title="EMA Period Length") ema = ema(close, emaLength) source = close buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band sellEntry = crossunder(source, BBupper) ///////////// Plotting plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line") plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line") plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line") plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width") // Line at 38% plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width") // Line at 50% plot(ema, color=color.orange, title="EMA") // Plot EMA ///////////// RSI + Bollinger Bands Strategy longCondition = crossover(vrsi, RSIoverSold) and buyEntry sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper close_long = close > BBbasis close_short = close < BBbasis if (not na(vrsi)) if longCondition strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy") else strategy.cancel(id="Buy") if close_long strategy.close("Buy") if (sellCondition) strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell") else strategy.cancel(id="Sell") if close_short strategy.close("Sell")