Chiến lược này nhằm mục đích nắm bắt các biến động giá ngắn hạn bằng cách sử dụng sự kết hợp của Bollinger Bands (BB), Moving Average (MA), và Relative Strength Index (RSI) cho giao dịch dài. Chiến lược này đi vào các vị trí dài khi giá vượt trên dải trên và trung bình động, và RSI chỉ ra tình trạng bán quá mức. Nó quản lý rủi ro và khóa lợi nhuận thông qua mức dừng lỗ và lấy lợi nhuận dựa trên tỷ lệ phần trăm, và điều chỉnh giá nhập dựa trên mức tài khoản Bybit của nhà giao dịch để tính toán hoa hồng.
Chiến lược dựa trên các nguyên tắc sau:
Bằng cách kết hợp ba chỉ số này, chiến lược xác định các cơ hội đầu vào dài tiềm năng khi giá vượt qua dải Bollinger phía trên, trên đường trung bình động và chỉ số RSI ở vùng bán quá mức. Nó cũng đặt giá dừng lỗ và lấy lợi nhuận để 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 Bollinger Bands, Moving Average và RSI để xác định các cơ hội giao dịch dài ngắn hạn. Nó xác định xu hướng bằng cách sử dụng Bollinger Bands và Moving Average, xác định các điều kiện bán quá mức với RSI và thiết lập mức dừng lỗ và lấy lợi nhuận để quản lý rủi ro. Chiến lược xem xét tác động hoa hồng và điều chỉnh dựa trên mức tài khoản Bybit của nhà giao dịch. Mặc dù chiến lược có một số lợi thế, nhưng nó vẫn phải đối mặt với những rủi ro 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")