Strategi Breakout/Pembalikan yang Ditimbang Volume Berdasarkan Titik Pivot

Pivot VOLUME SMA BREAKOUT Reversal STOP LOSS TAKE PROFIT
Tanggal Pembuatan: 2025-04-24 17:08:39 Akhirnya memodifikasi: 2025-04-24 17:08:39
menyalin: 0 Jumlah klik: 353
2
fokus pada
319
Pengikut

Strategi Breakout/Pembalikan yang Ditimbang Volume Berdasarkan Titik Pivot Strategi Breakout/Pembalikan yang Ditimbang Volume Berdasarkan Titik Pivot

Ringkasan

Strategi ini menggabungkan breakout / reversal (S / R) support / resistance (S / R), filter volume transaksi, dan sistem peringatan untuk menangkap titik-titik penting di pasar. Strategi ini meningkatkan keandalan sinyal perdagangan dengan mengidentifikasi sinyal harga atau sinyal reversal, dan menggabungkan konfirmasi volume transaksi yang tidak normal untuk meningkatkan keandalan sinyal perdagangan. Strategi ini menggunakan stop loss tetap 2% dan rasio stop loss yang dapat disesuaikan (default 3%) untuk mengelola risiko.

Prinsip Strategi

  1. Identifikasi dukungan/resistensiPenggunaan:ta.pivothigh()Danta.pivotlow()Fungsi ini mengidentifikasi tingkat harga kritis dalam periode yang ditentukan. Fungsi ini memicu sinyal ketika harga menembus resistansi (di atas 1%) atau berevolusi dari support (di bawah).
  2. Penyaringan kuantitasSMA ((volSmaLength period) untuk menghitung volume transaksi, dianggap sebagai konfirmasi yang valid jika volume transaksi saat ini melebihi SMA (volMultiplier) kali (default 1.5 kali).
  3. Logika multi ruang
    • Kondisi multiheadHarga menembus resZone*1.01) dan disertai dengan volume transaksi yang tinggi, atau harga mendekati daerah dukungan (dalam kisaran ± 1%) terjadi “false drop” (low ≤ supZone tapi close-out kembali) dan volume transaksi meningkat.
    • Kondisi kosongHarga turun dari zona dukungan.*0.99) dan disertai dengan volume transaksi yang tinggi, atau harga mendekati zona resistensi (dalam kisaran ± 1%) terjadi “pembobolan palsu” (high ≥ resZone tetapi ditutup kembali) dan volume transaksi meningkat.
  4. Manajemen Risiko: Stop loss 2% tetap dan adjustable stop loss ((default 3%) melaluistrategy.exit()menyelesaikan.

Analisis Keunggulan

  1. Verifikasi multi-faktorKombinasi struktur harga (S/R), volume transaksi dan perilaku pasar (false breakout/false breakout) secara signifikan mengurangi probabilitas sinyal palsu.
  2. Adaptasi Dinamis: Pembaruan otomatis pada level support/resistance, untuk menyesuaikan dengan perubahan pasar.
  3. Pengendalian risiko yang ketatStop loss tetap untuk mencegah kerugian yang berlebihan dari satu transaksi, stop loss rasio dapat disesuaikan dengan pasar yang berbeda.
  4. Visibilitas yang kuat: Menggambar garis support/resistance secara real-time, sinyal perdagangan ditandai dengan jelas.
  5. Integrasi Alert: Sistem perdagangan otomatis yang dapat dipasangkan untuk berbagai skenario perdagangan.

Analisis risiko

  1. Bahaya Gempa BumiSolusi: Tambahkan indikator penyaring tren seperti ADX atau EMA.
  2. Parameter sensitif:pivotLen dan volMultiplier perlu disesuaikan dengan pasar. Solusi: melakukan optimasi parameter dan tes Walk-Forward.
  3. Penundaan pengirimanSolusi: Menggabungkan data penawaran atau menyingkat volSmaLength.
  4. Risiko Terjun dari PesawatSolusi: Menggunakan limit order atau menghindari saat volatilitas tinggi.

Arah optimasi

  1. Filter tren: Tambahkan ADX> 25 kondisi atau 200 EMA arah filter, menghindari perdagangan berlawanan.
  2. Parameter dinamis: Mengatur pivotLen dan volMultiplier secara otomatis sesuai dengan fluktuasi pasar (misalnya ATR).
  3. Penghentian gradasiPengaturan Stop Loss (misalnya, stop loss 2%), meningkatkan rasio untung rugi.
  4. Optimalisasi Pembelajaran Mesin: Optimalkan model pelatihan menggunakan data historis dengan parameter volMultiplier dan tpPerc.
  5. Verifikasi lintas siklusS/R confirmation pada frame waktu yang lebih tinggi, meningkatkan kualitas sinyal.

Meringkaskan

Strategi ini menggunakan triple verifikasi (posisi harga, volume transaksi, dan perilaku harga) untuk merancang sebuah kerangka perdagangan probabilitas tinggi, yang sangat cocok untuk menangkap tren awal. Keunggulan utamanya adalah transparansi logis, risiko dapat dikendalikan, tetapi perhatikan keterbatasan di pasar yang bergolak. Optimasi di masa depan dapat berfokus pada parameter penyesuaian diri dan penyaringan tren untuk meningkatkan stabilitas lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2024-04-24 00:00:00
end: 2024-12-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("S/R Breakout/Reversal + Volume + Alerts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
pivotLen       = input.int(10, "Pivot Lookback for S/R")
volSmaLength   = input.int(20, "Volume SMA Length")
volMultiplier  = input.float(1.5, "Volume Multiplier")
tpPerc         = input.float(3.0, "Take Profit %", step=0.1)
slPerc         = 2.0  // Stop Loss fixed at 2%

// === S/R ZONES ===
pivotHigh = ta.pivothigh(high, pivotLen, pivotLen)
pivotLow  = ta.pivotlow(low, pivotLen, pivotLen)

var float resZone = na
var float supZone = na
if not na(pivotHigh)
    resZone := pivotHigh
if not na(pivotLow)
    supZone := pivotLow

plot(supZone, title="Support", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resZone, title="Resistance", color=color.red,   linewidth=2, style=plot.style_linebr)

// === VOLUME FILTER ===
volSma     = ta.sma(volume, volSmaLength)
highVolume = volume > volSma * volMultiplier

// === LONG LOGIC ===
priceAboveRes     = close > resZone * 1.01
nearSupport       = close >= supZone * 0.99 and close <= supZone * 1.01
rejectSupport     = low <= supZone and close > supZone
longBreakoutCond  = priceAboveRes and highVolume
longReversalCond  = nearSupport and rejectSupport and highVolume
longCondition     = longBreakoutCond or longReversalCond

// === SHORT LOGIC ===
priceBelowSup     = close < supZone * 0.99
nearResistance    = close >= resZone * 0.99 and close <= resZone * 1.01
rejectResistance  = high >= resZone and close < resZone
shortBreakoutCond = priceBelowSup and highVolume
shortReversalCond = nearResistance and rejectResistance and highVolume
shortCondition    = shortBreakoutCond or shortReversalCond

// === ENTRIES WITH LABELS ===
if (longCondition)
    strategy.entry("Long", strategy.long)
    label.new(bar_index, low * 0.995, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    label.new(bar_index, high * 1.005, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)

// === TP/SL ===
longTP  = close * (1 + tpPerc / 100)
longSL  = close * (1 - slPerc / 100)
shortTP = close * (1 - tpPerc / 100)
shortSL = close * (1 + slPerc / 100)

strategy.exit("Long TP/SL",  from_entry="Long",  limit=longTP,  stop=longSL)
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTP, stop=shortSL)

// === ALERT CONDITIONS ===
alertcondition(longCondition,  title="Buy Alert",  message="🔔 BUY signal: S/R + Volume breakout/reversal")
alertcondition(shortCondition, title="Sell Alert", message="🔔 SELL signal: S/R + Volume breakout/reversal")