Ini adalah strategi perdagangan kuantitatif canggih yang menggabungkan Rata-rata Gerak Eksponensial (EMA), konfirmasi volume, dan Rata-rata Jangkauan Benar (ATR). Strategi ini mencapai penangkapan tren pasar yang akurat melalui beberapa indikator teknis, meningkatkan keandalan perdagangan melalui konfirmasi volume, dan menerapkan sistem manajemen risiko yang komprehensif menggunakan tingkat stop-loss dan take-profit berbasis ATR yang dinamis.
Logika inti terdiri dari tiga komponen utama: 1. Penentuan Tren: Menggunakan EMA ((50) sebagai indikator tren utama. Trend naik diidentifikasi ketika harga di atas EMA, dan sebaliknya. 2. Konfirmasi Volume: Menghitung Volume Moving Average 20 periode, yang mengharuskan volume saat ini melebihi 1,5 kali rata-rata bergerak dan volume periode sebelumnya untuk memastikan partisipasi pasar yang cukup. Manajemen Risiko: Secara dinamis menetapkan tingkat stop loss dan take profit berdasarkan ATR 14 periode. Stop loss ditetapkan pada 2x ATR dan take profit pada 3x ATR, menyeimbangkan perlindungan modal dengan potensi pengembangan tren.
Strategi ini menetapkan sistem perdagangan yang secara logis ketat melalui penggunaan komprehensif dari beberapa indikator teknis. Kekuatan utamanya terletak pada mekanisme konfirmasi yang banyak dan manajemen risiko yang dinamis, sementara perhatian harus diberikan pada risiko seperti pembalikan tren dan pecah volume palsu. Melalui optimalisasi dan penyempurnaan terus-menerus, strategi ini menunjukkan janji untuk peningkatan kinerja dalam perdagangan aktual.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-16 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Enhanced Volume + Trend Strategy", overlay=true) // Inputs emaLength = input.int(50, title="EMA Length") atrLength = input.int(14, title="ATR Length") atrMultiplierSL = input.float(2.0, title="ATR Multiplier for Stop Loss") atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit") volLength = input.int(20, title="Volume Moving Average Length") volMultiplier = input.float(1.5, title="Volume Multiplier (Relative to Previous Volume)") // Trend Detection using EMA ema = ta.ema(close, emaLength) // ATR Calculation for Stop Loss/Take Profit atr = ta.atr(atrLength) // Volume Moving Average volMA = ta.sma(volume, volLength) // Additional Volume Condition (Current Volume > Previous Volume + Multiplier) volCondition = volume > volMA * volMultiplier and volume > volume[1] // Entry Conditions based on Trend (EMA) and Volume (Volume Moving Average) longCondition = close > ema and volCondition shortCondition = close < ema and volCondition // Stop Loss and Take Profit Levels longStopLoss = close - (atr * atrMultiplierSL) longTakeProfit = close + (atr * atrMultiplierTP) shortStopLoss = close + (atr * atrMultiplierSL) shortTakeProfit = close - (atr * atrMultiplierTP) // Strategy Execution if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit) // Plotting EMA plot(ema, color=color.yellow, title="EMA") // Plot Volume Moving Average plot(volMA, color=color.blue, title="Volume Moving Average") // Signal Visualizations plotshape(series=longCondition, color=color.green, style=shape.labelup, location=location.belowbar, title="Buy Signal") plotshape(series=shortCondition, color=color.red, style=shape.labeldown, location=location.abovebar, title="Sell Signal")