
Strategi ATR Manajemen Risiko Dinamis adalah sistem perdagangan kuantitatif yang didasarkan pada persimpangan rata-rata bergerak dan rata-rata real amplitude (ATR). Strategi ini menentukan sinyal masuk melalui persimpangan rata-rata bergerak sederhana (SMA) jangka pendek dan jangka panjang, sambil menggunakan ATR untuk menghitung stop loss, stop loss dan melacak tingkat stop loss secara dinamis untuk mengotomatiskan dan mempertajam manajemen risiko. Strategi ini dirancang untuk akun dengan modal awal \(25,000, dengan target keuntungan \)4,167 per hari, dan untuk menyeimbangkan keuntungan dan risiko dengan kontrol posisi dinamis.
Prinsip inti dari strategi ini adalah kombinasi antara indikator teknis dan sistem manajemen risiko yang dinamis:
Sinyal masuk dihasilkan:
Perhitungan parameter risiko dinamis:
Mekanisme Keluar:
Eksekusi dan pemberitahuan transaksi:
Strategi ini memberikan perhatian khusus pada rasio risiko / keuntungan, menggunakan rasio keuntungan / risiko 3: 1.5, mengikuti prinsip manajemen risiko yang baik.
Adaptasi risiko dinamis:
Aturan masuk dan keluar jelas:
Kerangka Manajemen Risiko yang Lengkap:
Otomatisasi tinggi:
Bantuan visual:
Sinyal palsu di pasar yang bergoyang:
Sensitivitas parameter ATR:
Risiko pembalikan tren:
Tantangan Manajemen Uang:
Mengeksekusi risiko slippoint:
Optimalisasi sinyal masuk:
Penyesuaian parameter adaptasi:
Mengoptimalkan manajemen posisi:
Pengaturan kebijakan segmen waktu:
Analisis struktur pasar yang terintegrasi:
Strategi ATR multiples crossover adalah sistem perdagangan kuantitatif yang menggabungkan analisis teknis klasik dengan manajemen risiko modern. Kelebihannya adalah bahwa strategi dapat menyesuaikan parameter risiko secara dinamis melalui ATR, sehingga strategi dapat disesuaikan dengan lingkungan pasar yang berbeda. Strategi ini sangat cocok untuk pasar yang relatif stabil dan jelas tren, menghasilkan sinyal perdagangan melalui crossover rata-rata bergerak sederhana, sambil memastikan bahwa setiap perdagangan memiliki parameter kontrol risiko yang telah ditentukan.
Meskipun ada risiko seperti sinyal palsu dan sensitivitas parameter di pasar yang bergoyang, arah optimasi yang diusulkan di atas, seperti mengintegrasikan indikator konfirmasi tambahan, penyesuaian parameter adaptif, dan pengelolaan posisi yang dioptimalkan, dapat secara signifikan meningkatkan stabilitas dan fleksibilitas strategi. Pada akhirnya, strategi ini memberikan kerangka perdagangan yang menyeimbangkan kesederhanaan dan efektivitas, cocok sebagai model dasar untuk perdagangan sistematis, dan dapat disesuaikan dan dioptimalkan lebih lanjut sesuai dengan kebutuhan pribadi dan karakteristik pasar.
/*backtest
start: 2024-07-17 00:00:00
end: 2025-07-15 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/
//@version=5
strategy("MYM Strategy for TradersPost", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
atrLength = input.int(14, "ATR Length")
slMultiplier = input.float(1.5, "Stop Loss Multiplier")
tpMultiplier = input.float(3.0, "Take Profit Multiplier")
tsMultiplier = input.float(1.0, "Trailing Stop Multiplier")
// === ATR Calculation ===
atr = ta.atr(atrLength)
stopPts = atr * slMultiplier
takePts = atr * tpMultiplier
trailPts = atr * tsMultiplier
// === Example Entry Logic (crossover example) ===
shortSMA = ta.sma(close, 14)
longSMA = ta.sma(close, 28)
longCondition = ta.crossover(shortSMA, longSMA)
shortCondition = ta.crossunder(shortSMA, longSMA)
// === Example Exit Condition (optional close signal) ===
exitCondition = ta.cross(close, ta.sma(close, 10))
// === Entry & Alerts ===
if (longCondition)
// Build JSON message
stopVal = str.tostring(close - stopPts)
tpVal = str.tostring(close + takePts)
trailVal = str.tostring(trailPts)
longMessage = '{"action":"buy","symbol":"MYM","quantity":1,"order_type":"market","stop_loss":' + stopVal + ',"take_profit":' + tpVal + ',"trailing_stop":' + trailVal + ',"comment":"MYM Long Entry"}'
alert(longMessage, alert.freq_once_per_bar_close)
strategy.entry("Long", strategy.long)
if (shortCondition)
stopVal = str.tostring(close + stopPts)
tpVal = str.tostring(close - takePts)
trailVal = str.tostring(trailPts)
shortMessage = '{"action":"sell","symbol":"MYM","quantity":1,"order_type":"market","stop_loss":' + stopVal + ',"take_profit":' + tpVal + ',"trailing_stop":' + trailVal + ',"comment":"MYM Short Entry"}'
alert(shortMessage, alert.freq_once_per_bar_close)
strategy.entry("Short", strategy.short)
// === Optional Close Alert ===
if (exitCondition)
closeMessage = '{"action":"close_position","ticker":"MYM","comment":"MYM Close Position"}'
alert(closeMessage, alert.freq_once_per_bar_close)
strategy.close_all(comment="Exit Signal")
// === Visual aids ===
plot(shortSMA, color=color.orange)
plot(longSMA, color=color.blue)