
Die Strategie zielt darauf ab, kurzfristige Preisbewegungen mit einer Kombination aus Brin-Band (BB), Moving Average (MA) und relativ starkem Index (RSI) zu erfassen, um einen Mehrkopf-Handel zu führen. Die Strategie führt einen Mehrkopf-Eintritt durch, wenn die Preise über dem Oberstrahl und dem Moving Average liegen und der RSI-Indikator einen Überschuss aufweist. Die Strategie verwaltet das Risiko und sperrt die Gewinne durch prozentualen Stop-Loss- und Stop-Stopprozentsätze und passt den Eintrittspreis an die Ebene des Bybit-Kontos des Händlers an, um die Auswirkungen der Provisionen zu berücksichtigen.
Die Strategie basiert auf folgenden Prinzipien:
Die Strategie kombiniert diese drei Indikatoren, um zu erwarten, dass der Markt eine Chance auf einen Anstieg hat, wenn der Preis die Bollinger Band überschreitet und sich über dem Moving Average befindet und der RSI in der Überverkaufszone befindet. Die Strategie setzt gleichzeitig einen Stop-Loss- und einen Stop-Stop-Preis, um Risiken zu kontrollieren und Gewinne zu sichern.
Die Strategie nutzt die Kombination von Brin-Bands, Moving Averages und RSI, um kurzfristige Multi-Trading-Gelegenheiten zu identifizieren. Sie identifiziert Trends über Brin-Bands und Moving Averages, identifiziert Überverkäufe mit dem RSI und setzt Stop-Loss-Stopps, um Risiken zu verwalten. Die Strategie berücksichtigt die Auswirkungen von Provisionen und wird an die Ebene des Bybit-Kontos des Händlers angepasst.
/*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")