Strategi mengikuti tren adaptif dikombinasikan dengan sistem kontrol penelusuran kembali dinamis

RSI EMA DD SL TP
Tanggal Pembuatan: 2024-12-20 16:59:37 Akhirnya memodifikasi: 2024-12-20 16:59:37
menyalin: 2 Jumlah klik: 431
1
fokus pada
1617
Pengikut

Strategi mengikuti tren adaptif dikombinasikan dengan sistem kontrol penelusuran kembali dinamis

Ringkasan

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan pelacakan tren dan pengendalian risiko. Ini menggunakan indeks 200-periode moving average (EMA) sebagai filter tren, indikator relatif kuat (RSI) sebagai sinyal masuk, sambil mengintegrasikan mekanisme kontrol stop loss, stop loss, dan maksimum retraction.

Prinsip Strategi

Logika inti dari strategi ini terdiri dari beberapa komponen utama:

  1. Identifikasi tren: Menggunakan 200 siklus EMA sebagai indikator utama untuk menilai tren, hanya harga di atas EMA yang harus dipertimbangkan lebih lanjut.
  2. Pengakuan momentum: Menggunakan indikator RSI sebagai alat pengakuan momentum, hanya diizinkan masuk ketika nilai RSI melebihi batas yang ditetapkan (default 50).
  3. Manajemen Risiko:
    • Set Stop Loss Persentase (default 20%) dan Stop Stop (default 40%)
    • Sistem pelacakan penarikan dinamis, yang secara otomatis menyaring semua pemegang posisi ketika penarikan keseluruhan strategi melebihi batas yang ditetapkan (default 30%)
  4. Manajemen posisi: Menggunakan persentase ekuitas akun (default 10%) untuk mengendalikan posisi

Keunggulan Strategis

  1. Adaptif: Strategi dapat beradaptasi dengan situasi pasar yang berbeda melalui kombinasi EMA dan RSI
  2. Pengendalian risiko yang baik: mekanisme pengendalian risiko bertingkat, termasuk batasan stop loss, stop loss, dan penarikan
  3. Ilmu pengelolaan uang: Menggunakan persentase ekuitas akun untuk mengelola posisi, menghindari risiko yang ditimbulkan oleh jumlah tetap
  4. Eksekusi yang kuat: logika strategi yang jelas, sinyal yang jelas, dan eksekusi yang mudah otomatis
  5. Skalabilitas yang baik: Komponen inti dapat disesuaikan secara independen untuk optimalisasi lebih lanjut

Risiko Strategis

  1. Risiko trend reversal: EMA sebagai indikator yang tertinggal mungkin tidak bereaksi pada waktu yang tepat jika tren berbalik
  2. Risiko pasar yang bergoyang: sinyal palsu yang sering terjadi dalam pasar yang bergoyang
  3. Sensitivitas Parameter: Efek kebijakan sangat sensitif terhadap pengaturan parameter yang memerlukan penyesuaian yang hati-hati
  4. Efek slippage: Stop loss stop-loss order mungkin menghadapi risiko slippage ketika pasar bergejolak Larutan:
  • Meningkatkan mekanisme konfirmasi tren
  • Sistem identifikasi lingkungan pasar
  • Optimasi dengan parameter adaptasi
  • Strategi Eksekusi Pesanan dengan Smart Order

Arah optimasi strategi

  1. Identifikasi kondisi pasar: meningkatkan indikator volatilitas, menyesuaikan parameter strategi sesuai dengan kondisi pasar yang berbeda
  2. Optimasi parameter dinamis: memperkenalkan algoritma pembelajaran mesin untuk menyesuaikan parameter secara adaptif
  3. Optimasi pemfilteran sinyal: meningkatkan indikator tambahan seperti volume lalu lintas, meningkatkan kualitas sinyal
  4. Peningkatan pengendalian risiko: Memperkenalkan mekanisme stop loss dinamis, menyesuaikan posisi stop loss sesuai dengan fluktuasi pasar
  5. Analisis multi-siklus waktu: mengintegrasikan sinyal dari beberapa periode waktu, meningkatkan keakuratan keputusan perdagangan

Meringkaskan

Strategi ini membangun sistem perdagangan yang lengkap dengan menggabungkan pelacakan tren dan kontrol risiko yang ketat. Keunggulan utamanya adalah kelengkapan manajemen risiko dan kejelasan logika strategi. Dengan mekanisme kontrol risiko bertingkat, strategi dapat secara efektif mengendalikan penarikan balik sambil mengejar keuntungan.

Kode Sumber Strategi
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-19 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Disruptor Trend-Following (Drawdown < 30%)", shorttitle="DisruptorStrategyDD", overlay=true)

//-----------------------------------------------------
// User Inputs
//-----------------------------------------------------
emaLen         = input.int(200,  "Long EMA Length",    minval=1)
rsiLen         = input.int(14,   "RSI Length",         minval=1)
rsiThreshold   = input.float(50, "RSI Buy Threshold",  minval=1, maxval=100)
stopLossPerc   = input.float(20, "Stop-Loss %",        minval=0.1, step=0.1)
takeProfitPerc = input.float(40, "Take-Profit %",      minval=0.1, step=0.1)
ddLimit        = input.float(30, "Max Drawdown %",     minval=0.1, step=0.1)

//-----------------------------------------------------
// Indicators
//-----------------------------------------------------
emaValue       = ta.ema(close, emaLen)
rsiValue       = ta.rsi(close, rsiLen)

//-----------------------------------------------------
// Conditions
//-----------------------------------------------------
longCondition  = close > emaValue and rsiValue > rsiThreshold
exitCondition  = close < emaValue or rsiValue < rsiThreshold

//-----------------------------------------------------
// Position Tracking
//-----------------------------------------------------
var bool inTrade = false

if longCondition and not inTrade
    strategy.entry("Long", strategy.long)

if inTrade and exitCondition
    strategy.close("Long")

inTrade := strategy.position_size > 0

//-----------------------------------------------------
// Stop-Loss & Take-Profit
//-----------------------------------------------------
if inTrade
    stopPrice       = strategy.position_avg_price * (1 - stopLossPerc / 100)
    takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPerc / 100)
    strategy.exit("Exit", from_entry="Long", stop=stopPrice, limit=takeProfitPrice)

//-----------------------------------------------------
// Dynamic Drawdown Handling
//-----------------------------------------------------
var float peakEquity = strategy.equity
peakEquity := math.max(peakEquity, strategy.equity)

currentDrawdownPerc = (peakEquity - strategy.equity) / peakEquity * 100
if currentDrawdownPerc > ddLimit
    strategy.close_all("Max Drawdown Exceeded")

//-----------------------------------------------------
// Plotting
//-----------------------------------------------------
plot(emaValue, title="EMA 200", color=color.yellow, linewidth=2)
plotchar(rsiValue, title="RSI", char='•', location=location.bottom, color=color.new(color.teal, 60))