
Chiến lược này là một phương pháp giao dịch định lượng sử dụng nhiều chỉ số kỹ thuật tổng hợp, được thiết kế để nắm bắt chính xác xu hướng thị trường và giao dịch có thể kiểm soát rủi ro bằng cách kết hợp các chỉ số như moving average (EMA), relative strength index (RSI), average true range (ATR), volume weighted average price (VWAP) và supertrend (Supertrend).
Các nguyên tắc cốt lõi của chiến lược dựa trên sự phối hợp của các chỉ số kỹ thuật đa chiều:
Đây là một chiến lược giao dịch định lượng dựa trên các chỉ số kỹ thuật đa chiều, nhằm mục đích nắm bắt xu hướng thị trường và kiểm soát rủi ro giao dịch thông qua các chỉ số có hệ thống và quản lý rủi ro nghiêm ngặt. Cốt lõi của chiến lược là sự phối hợp của các chỉ số và tối ưu hóa các tham số động, cung cấp một phương pháp linh hoạt và tương đối ổn định cho giao dịch định lượng.
/*backtest
start: 2025-02-25 00:00:00
end: 2025-03-27 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Advanced BTC/USDT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ==== INPUT PARAMETERS ====
emaShortLength = input.int(50, title="Short EMA Length")
emaLongLength = input.int(200, title="Long EMA Length")
rsiLength = input.int(14, title="RSI Length")
atrLength = input.int(14, title="ATR Length")
supertrendFactor = input.float(2.0, title="Supertrend Factor")
supertrendATRLength = input.int(10, title="Supertrend ATR Length")
riskRewardRatio = input.float(2.0, title="Risk-Reward Ratio")
// ==== TECHNICAL INDICATORS ====
// Exponential Moving Averages (EMA)
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
// Relative Strength Index (RSI)
rsi = ta.rsi(close, rsiLength)
// Supertrend Indicator
[supertrend, supertrendDirection] = ta.supertrend(supertrendFactor, supertrendATRLength)
// Average True Range (ATR) for Stop Loss Calculation
atr = ta.atr(atrLength)
stopLossDistance = atr * 1.5 // ATR-based stop-loss
takeProfitDistance = stopLossDistance * riskRewardRatio
// Volume Weighted Average Price (VWAP)
vwap = ta.vwap(close)
// ==== ENTRY CONDITIONS ====
// Long Entry: Golden Cross + RSI Confirmation + VWAP Support + Supertrend Uptrend
longCondition = ta.crossover(emaShort, emaLong) and rsi > 40 and rsi < 65 and close > vwap and supertrendDirection == 1
// Short Entry: Death Cross + RSI Confirmation + VWAP Resistance + Supertrend Downtrend
shortCondition = ta.crossunder(emaShort, emaLong) and rsi > 60 and rsi < 80 and close < vwap and supertrendDirection == -1
// ==== EXIT CONDITIONS ====
// Stop-Loss and Take-Profit Levels for Long Positions
longStopLoss = close - stopLossDistance
longTakeProfit = close + takeProfitDistance
// Stop-Loss and Take-Profit Levels for Short Positions
shortStopLoss = close + stopLossDistance
shortTakeProfit = close - takeProfitDistance
// ==== TRADE EXECUTION ====
// Open Long Trade
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Open Short Trade
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// ==== ALERT SYSTEM (OPTIONAL) ====
// Send real-time alerts for buy/sell signals
alertcondition(longCondition, title="BUY Alert 🚀", message="BTC Buy Signal! 📈")
alertcondition(shortCondition, title="SELL Alert 🔻", message="BTC Sell Signal! 📉")
// ==== PLOTTING ====
// Plot Moving Averages
plot(emaShort, color=color.blue, title="50 EMA")
plot(emaLong, color=color.red, title="200 EMA")
// Plot Supertrend
plot(supertrend, color=supertrendDirection == 1 ? color.green : color.red, title="Supertrend")
// Plot VWAP
plot(vwap, color=color.orange, title="VWAP")
// Plot Buy/Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")