Strategi Perdagangan Momentum Breakout CPR Multi Kerangka Waktu

CPR EMA RSI BC TC SMA MA
Tanggal Pembuatan: 2025-02-21 11:45:06 Akhirnya memodifikasi: 2025-02-21 11:45:06
menyalin: 1 Jumlah klik: 454
2
fokus pada
319
Pengikut

Strategi Perdagangan Momentum Breakout CPR Multi Kerangka Waktu Strategi Perdagangan Momentum Breakout CPR Multi Kerangka Waktu

Ringkasan

Strategi ini adalah sistem perdagangan yang didasarkan pada analisis siklus waktu ganda, yang digunakan untuk melakukan perdagangan dengan menggunakan interval harga pusat (CPR), rata-rata bergerak indeks (EMA) dan indikator relatif kuat (RSI). Strategi ini mengidentifikasi tren pasar dan titik-titik resistensi pendukung utama melalui level CPR harian, harga pembukaan mingguan dan 20 siklus EMA, dan menggabungkan konfirmasi volume perdagangan untuk melakukan perdagangan.

Prinsip Strategi

Inti dari strategi ini adalah untuk mencari peluang perdagangan dengan menganalisis hubungan antara harga dan tingkat CPR. CPR terdiri dari titik pivot, garis pusat bawah, dan garis pusat atas. Sistem akan mengeluarkan beberapa sinyal ketika harga menembus TC dan pasar berada dalam fase headlong. Sistem akan mengeluarkan sinyal kosong ketika harga turun dan pasar berada dalam fase headlong.

Keunggulan Strategis

  1. Multiple Confirmation Mechanism (MCM): Menggabungkan tindakan harga, arah tren dan volume transaksi triple konfirmasi, meningkatkan keandalan sinyal perdagangan
  2. Manajemen risiko dinamis: Stop loss dinamis yang diatur berdasarkan lebar CPR untuk menyesuaikan dengan kondisi pasar yang berbeda
  3. Fleksibilitas kustomisasi: dapat disesuaikan dengan siklus waktu CPR, panjang EMA, dan on/off RSI deviasi konfirmasi
  4. Rasio imbalan keuntungan: menggunakan rasio risiko keuntungan 1.5:1, meningkatkan profitabilitas jangka panjang
  5. Analisis multi-siklus waktu: memberikan pandangan pasar yang lebih komprehensif dengan mengintegrasikan data garis matahari dan garis lingkar

Risiko Strategis

  1. Risiko False Breakout: Bisa terjadi sinyal false breakout di pasar yang bergejolak, disarankan untuk menggunakan kondisi penyaringan volume transaksi yang lebih ketat
  2. Trend reversal risk: risiko yang dapat dikendalikan dengan mengurangi stop loss
  3. Sensitivitas parameter: Kinerja strategi sensitif terhadap parameter seperti panjang EMA dan penurunan volume transaksi yang perlu dioptimalkan secara berkala
  4. Ketergantungan pada kondisi pasar: rasio risiko-keuntungan yang mungkin sulit dicapai dalam kondisi volatilitas rendah
  5. Eksekusi slippage: mungkin terjadi slippage yang lebih besar dalam situasi yang cepat, yang memengaruhi efektivitas perdagangan yang sebenarnya

Arah optimasi strategi

  1. Memperkenalkan mekanisme adaptasi volatilitas: penyesuaian target stop loss dan profit berdasarkan dinamika volatilitas pasar
  2. Menambahkan klasifikasi status pasar: segmen tren dan menyusun pasar, menggunakan parameter perdagangan yang berbeda
  3. Optimalkan filter lalu lintas: pertimbangkan perubahan lalu lintas relatif daripada perbandingan rata-rata sederhana
  4. Perbaikan mekanisme penarikan diri: penambahan stop loss mobile dan sebagian keuntungan dari fitur penutupan
  5. Tambahkan filter waktu: Hindari perdagangan pada periode waktu tertentu, seperti periode volatilitas tinggi sebelum dan sesudah buka dan tutup pasar

Meringkaskan

Ini adalah strategi pelacakan tren yang terstruktur, logis dan jelas, yang secara efektif mengendalikan risiko perdagangan melalui penggunaan kombinasi beberapa indikator teknis. Keuntungan utama dari strategi ini adalah pengaturan parameter yang fleksibel dan mekanisme manajemen risiko yang baik, tetapi juga memerlukan pedagang untuk memperhatikan perubahan lingkungan pasar dan menyesuaikan parameter strategi sewaktu-waktu. Dengan arah optimasi yang disarankan, stabilitas dan profitabilitas strategi diharapkan dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
//@version=5
strategy("Ahmad Ali Khan CPR Strategy", overlay=true, margin_long=100, margin_short=100)

// ———— Inputs ————
use_daily_cpr = input.bool(true, "Use Daily CPR Levels")
ema_length = input.int(20, "EMA Trend Filter Length")
show_week_open = input.bool(true, "Show Weekly Open Price")
enable_divergence = input.bool(true, "Enable RSI Divergence Check")

// ———— Daily CPR Calculation ————
daily_high = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
daily_low = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
daily_close = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)

pivot = (daily_high + daily_low + daily_close) / 3
bc = (daily_high + daily_low) / 2
tc = pivot + (pivot - bc)

// ———— Weekly Open Price ————
weekly_open = request.security(syminfo.tickerid, "W", open, lookahead=barmerge.lookahead_on)

// ———— Trend Analysis ————
ema_trend = ta.ema(close, ema_length)
market_phase = close > ema_trend ? "Bullish" : "Bearish"

// ———— Momentum Confirmation ————
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
bullish_div = ta.valuewhen(ta.crossover(rsi, 30), low, 0) > ta.valuewhen(ta.crossover(rsi, 30), low, 1)
bearish_div = ta.valuewhen(ta.crossunder(rsi, 70), high, 0) < ta.valuewhen(ta.crossunder(rsi, 70), high, 1)

// ———— Plotting ————
// CPR Levels
plot(pivot, "Pivot", color=color.blue, linewidth=2)
plot(bc, "BC", color=color.red, linewidth=2)
plot(tc, "TC", color=color.green, linewidth=2)
fill(plot(bc), plot(tc), color=color.new(color.purple, 90))

// Weekly Open
plot(show_week_open ? weekly_open : na, "Weekly Open", color=color.orange, linewidth=2)

// EMA Trend
plot(ema_trend, "EMA Trend", color=color.white, linewidth=2)

// ———— Strategy Logic ————
long_condition = 
  close > tc and 
  market_phase == "Bullish" and 
  (not enable_divergence or bullish_div) and
  volume > ta.sma(volume, 20)

short_condition = 
  close < bc and 
  market_phase == "Bearish" and 
  (not enable_divergence or bearish_div) and
  volume > ta.sma(volume, 20)

// ———— Risk Management ————
cpr_width = tc - bc
stop_loss_long = bc - (0.5 * cpr_width)
take_profit_long = tc + (1.5 * cpr_width)
stop_loss_short = tc + (0.5 * cpr_width)
take_profit_short = bc - (1.5 * cpr_width)

// ———— Execute Orders ————
if long_condition
    strategy.entry("Long", strategy.long)
    strategy.exit("XL", "Long", stop=stop_loss_long, limit=take_profit_long)
    
if short_condition
    strategy.entry("Short", strategy.short)
    strategy.exit("XS", "Short", stop=stop_loss_short, limit=take_profit_short)

// ———— Signal Plotting ————
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)