Diese Strategie zielt darauf ab, kurzfristige Kursbewegungen zu erfassen, indem eine Kombination aus Bollinger Bands (BB), Moving Average (MA) und Relative Strength Index (RSI) für den Long-Trading verwendet wird. Die Strategie tritt in Long-Positionen ein, wenn der Preis über dem oberen Band und dem gleitenden Durchschnitt liegt und der RSI einen Überverkaufszustand anzeigt.
Die Strategie beruht auf folgenden Grundsätzen:
Durch die Kombination dieser drei Indikatoren identifiziert die Strategie potenzielle Long-Entry-Möglichkeiten, wenn der Preis über den oberen Bollinger-Band bricht, über dem gleitenden Durchschnitt liegt und der RSI sich in der Überverkaufsregion befindet.
Diese Strategie nutzt eine Kombination aus Bollinger Bands, Moving Average und RSI, um kurzfristige langfristige Handelsmöglichkeiten zu identifizieren. Sie bestimmt Trends mit Bollinger Bands und Moving Average, identifiziert Überverkaufsbedingungen mit RSI und setzt Stop-Loss- und Take-Profit-Levels, um das Risiko zu managen.
/*backtest start: 2023-05-08 00:00:00 end: 2024-05-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@BryanAaron //@version=5 strategy("Bybit . BB Short-Term Trading Strategy - Long Only", overlay=true) // Input parameters bbLength = input(45, title="BB Length") bbMultiplier = input(1.0, title="BB Multiplier") maLength = input(90, title="MA Length") rsiLength = input(5, title="RSI Length") rsiUpperThreshold = input(85, title="RSI Upper Threshold") rsiLowerThreshold = input(45, title="RSI Lower Threshold") slPerc = input(2.0, title="Stop Loss %") tpPerc = input(4.0, title="Take Profit %") bybitAccountLevel = input.string("VIP 0", title="Bybit Account Level", options=["VIP 0", "VIP 1", "VIP 2", "VIP 3", "VIP 4"]) // Calculate Bollinger Bands [bbMiddle, bbUpper, bbLower] = ta.bb(close, bbLength, bbMultiplier) // Calculate moving average ma = ta.sma(close, maLength) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Trading conditions longCondition = close > bbUpper and close > ma and rsi < rsiLowerThreshold shortCondition = close < bbLower and close < ma and rsi > rsiUpperThreshold // Entry and exit signals var bool longEntry = false var bool shortEntry = false if (longCondition and not longEntry) longEntry := true shortEntry := false else if (shortCondition and not shortEntry) shortEntry := true longEntry := false else if (not longCondition and not shortCondition) longEntry := false shortEntry := false // Set commission based on Bybit account level commissionPerc = switch bybitAccountLevel "VIP 0" => 0.075 "VIP 1" => 0.065 "VIP 2" => 0.055 "VIP 3" => 0.045 "VIP 4" => 0.035 => 0.075 // Adjust entry prices based on commission longEntryPrice = close * (1 + commissionPerc / 100) shortEntryPrice = close * (1 - commissionPerc / 100) // Calculate stop loss and take profit prices longStopPrice = longEntryPrice * (1 - slPerc / 100) longProfitPrice = longEntryPrice * (1 + tpPerc / 100) shortStopPrice = shortEntryPrice * (1 + slPerc / 100) shortProfitPrice = shortEntryPrice * (1 - tpPerc / 100) // Plot signals plotshape(longEntry, title="Long Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green) plotshape(shortEntry, title="Short Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red) // Entry and exit if (longEntry) strategy.entry("Long", strategy.long, limit=longEntryPrice, stop=longStopPrice, comment="Long Entry") strategy.exit("Long TP/SL", from_entry="Long", limit=longProfitPrice, stop=longStopPrice, comment="Long Exit") else if (shortEntry) strategy.entry("Short", strategy.short, limit=shortEntryPrice, stop=shortStopPrice, comment="Short Entry") strategy.exit("Short TP/SL", from_entry="Short", limit=shortProfitPrice, stop=shortStopPrice, comment="Short Exit") else strategy.close_all(comment="Close All") // Plot Bollinger Bands plot(bbUpper, color=color.blue, title="BB Upper") plot(bbMiddle, color=color.orange, title="BB Middle") plot(bbLower, color=color.blue, title="BB Lower") // Plot moving average plot(ma, color=color.purple, title="MA")