
Strategi ini adalah sistem perdagangan short reversal berdasarkan ATR (Average True Range) yang digunakan untuk mengidentifikasi peluang harga yang terlalu tinggi. Strategi ini mengintegrasikan beberapa indikator teknis, termasuk ATR, EMA, dan SMA, untuk membentuk sebuah kerangka keputusan perdagangan yang lengkap. Sistem ini mencari peluang short untuk menangkap pergerakan harga yang kembali ke nilai rata-rata ketika harga melampaui level ATR dan memenuhi kondisi penyaringan EMA.
Logika inti dari strategi ini didasarkan pada langkah-langkah kunci berikut:
Ini adalah strategi shorting yang dirancang dengan baik, membangun sistem perdagangan yang andal melalui penyaringan tren ATR dan EMA. Keunggulan strategi ini adalah kemampuan beradaptasi dan pengendalian risiko yang baik, tetapi juga perlu memperhatikan risiko yang ditimbulkan oleh perubahan lingkungan pasar. Dengan terus-menerus mengoptimalkan dan memperbaiki manajemen risiko, strategi ini diharapkan untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("[SHORT ONLY] ATR Sell the Rip Mean Reversion Strategy", overlay=true, initial_capital = 1000000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, process_orders_on_close = true, margin_long = 5, margin_short = 5, calc_on_every_tick = true, fill_orders_on_standard_ohlc = true)
//#region INPUTS SECTION
// ============================================
// ============================================
// Strategy Settings
// ============================================
atrPeriod = input.int(title="ATR Period", defval=20, minval=1, group="Strategy Settings")
atrMultInput = input.float(title='ATR Multiplier', defval=1.0, step=0.25, group="Strategy Settings")
smoothPeriodInput = input.int(title='Smoothing Period', defval=10, minval=1, group="Strategy Settings")
//#endregion
// ============================================
// EMA Filter Settings
// ============================================
useEmaFilter = input.bool(true, "Use EMA Filter", group="Trend Filter")
emaPeriodInput = input.int(200, "EMA Period", minval=1, group="Trend Filter")
//#region INDICATOR CALCULATIONS
// ============================================
// Calculate ATR Signal Trigger
// ============================================
atrValue = ta.atr(atrPeriod)
atrThreshold = close + atrValue * atrMultInput
signalTrigger = ta.sma(atrThreshold, smoothPeriodInput)
plot(signalTrigger, title="Smoothed ATR Trigger", color=color.white)
// ============================================
// Trend Filter
// ============================================
ma200 = ta.ema(close, emaPeriodInput)
plot(ma200, color=color.red, force_overlay=true)
//#region TRADING CONDITIONS
// ============================================
// Entry/Exit Logic
// ============================================
shortCondition = close>signalTrigger
exitCondition = close<low[1]
// Apply EMA Filter if enabled
if useEmaFilter
shortCondition := shortCondition and close < ma200
//#endregion
if shortCondition
strategy.entry("Short", strategy.short)
if exitCondition
strategy.close_all()