
Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan beberapa indikator teknis untuk mengkonfirmasi sinyal perdagangan. Logika inti didasarkan pada persilangan rata-rata bergerak indeks cepat dan lambat (EMA) dan pengkonfirmasi sinyal dilakukan melalui harga rata-rata tertimbang rata-rata (VWAP) dan indikator relatif lemah (RSI). Sementara itu, sistem menggunakan program stop loss dinamis yang didasarkan pada amplitudo riil (ATR) untuk memastikan keilmuan dan fleksibilitas manajemen risiko.
Prinsip inti dari strategi ini adalah untuk mengkonfirmasi arah perdagangan melalui sinergi dari beberapa indikator teknis.
Strategi ini membangun sistem perdagangan yang relatif lengkap dengan kombinasi organik dari beberapa indikator teknis. Strategi ini tidak hanya berfokus pada akurasi sinyal, tetapi juga menekankan pentingnya manajemen risiko. Meskipun ada beberapa keterbatasan, strategi ini diharapkan untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar melalui optimasi dan perbaikan yang berkelanjutan.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTC Day Trading Strategy with Alerts", overlay=true)
// Input parameters
emaShortLength = input(9, title="Short EMA Length")
emaLongLength = input(21, title="Long EMA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrMultiplier = input(1.5, title="ATR Multiplier for SL")
riskRewardRatio = input(2, title="Risk-Reward Ratio") // Defines TP as 2x SL
// Calculate indicators
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
rsi = ta.rsi(close, rsiLength)
vwap = ta.vwap(close) // Fixed: Added "close" as the source
atr = ta.atr(14)
// Define conditions for entry
longCondition = ta.crossover(emaShort, emaLong) and close > vwap and rsi > 50
shortCondition = ta.crossunder(emaShort, emaLong) and close < vwap and rsi < 50
// ATR-based Stop Loss & Take Profit
longSL = close - (atr * atrMultiplier)
longTP = close + ((close - longSL) * riskRewardRatio)
shortSL = close + (atr * atrMultiplier)
shortTP = close - ((shortSL - close) * riskRewardRatio)
// Execute trades
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", stop=longSL, limit=longTP)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", stop=shortSL, limit=shortTP)
// 🔔 Add Alert Conditions for TradingView Alerts
alertcondition(longCondition, title="BTC Buy Signal", message="🚀 Buy Signal: 9 EMA crossed above 21 EMA, Price above VWAP, RSI > 50")
alertcondition(shortCondition, title="BTC Sell Signal", message="🔻 Sell Signal: 9 EMA crossed below 21 EMA, Price below VWAP, RSI < 50")
// Plot indicators
plot(emaShort, color=color.blue, title="9 EMA", linewidth=2) // Thicker line for better visibility
plot(emaLong, color=color.red, title="21 EMA", linewidth=2) // Thicker line for better visibility
hline(rsiOverbought, "RSI Overbought", color=color.red, linewidth=2) // Thicker line for RSI Overbought
hline(rsiOversold, "RSI Oversold", color=color.green, linewidth=2) // Thicker line for RSI Oversold
plot(vwap, color=color.purple, title="VWAP", linewidth=2) // VWAP line on price chart
// Create a separate panel for RSI for better scaling
plot(rsi, color=color.orange, title="RSI", linewidth=2, style=plot.style_line) // Plot RSI on a separate panel