
Chiến lược này được thiết kế để sử dụng sự kết hợp của các đường Brin (BB), đường trung bình di chuyển (MA) và chỉ số tương đối mạnh (RSI) để nắm bắt biến động giá trong ngắn hạn, do đó giao dịch nhiều đầu. Chiến lược này được thực hiện khi giá cao hơn đường dẫn và đường trung bình di chuyển và chỉ số RSI cho thấy tình trạng bán tháo. Chiến lược này quản lý rủi ro và khóa lợi nhuận thông qua tỷ lệ dừng lỗ và dừng, và điều chỉnh giá vào thị trường theo cấp độ tài khoản Bybit của nhà giao dịch để xem xét tác động của hoa hồng.
Chiến lược này dựa trên các nguyên tắc sau:
Chiến lược này được thực hiện bằng cách kết hợp ba chỉ số này, khi giá phá vỡ đường dây Brin, trên đường trung bình di chuyển, và RSI ở khu vực bán tháo, thị trường có thể có cơ hội tăng, do đó tham gia vào nhiều đầu. Đồng thời, chiến lược đặt giá dừng lỗ và dừng để kiểm soát rủi ro và khóa lợi nhuận.
Chiến lược này sử dụng sự kết hợp của các dải Brin, đường trung bình di chuyển và RSI để xác định các cơ hội giao dịch đa chiều ngắn hạn. Nó xác định xu hướng thông qua các dải Brin và đường trung bình di chuyển, sử dụng RSI để xác định trường hợp bán tháo và thiết lập điểm dừng để quản lý rủi ro. Chiến lược xem xét tác động của hoa hồng và điều chỉnh theo cấp tài khoản Bybit của nhà giao dịch. Mặc dù có một số lợi thế, chiến lược này vẫn có rủi ro, chẳng hạn như tín hiệu sai, biến động thị trường và đảo ngược xu hướng.
/*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")