Strategi Perdagangan Multi-Indikator Adaptif Vishal

MACD SAR ST EMA ATR TF
Tanggal Pembuatan: 2025-03-28 17:17:56 Akhirnya memodifikasi: 2025-03-28 17:17:56
menyalin: 0 Jumlah klik: 407
2
fokus pada
319
Pengikut

Strategi Perdagangan Multi-Indikator Adaptif Vishal Strategi Perdagangan Multi-Indikator Adaptif Vishal

Ringkasan

Strategi ini adalah metode perdagangan kuantitatif yang komprehensif untuk mengidentifikasi tren pasar dan sinyal perdagangan dengan mengintegrasikan beberapa indikator teknis (MACD, Supertrend, dan Parabolic SAR). Strategi ini dirancang untuk memberikan kerangka keputusan perdagangan yang fleksibel dan ketat yang dapat disesuaikan dengan lingkungan pasar yang berbeda.

Prinsip Strategi

Prinsip strategi didasarkan pada kombinasi dinamis dari tiga indikator teknis utama:

  1. Indikator MACD: menilai pergerakan harga dan arah tren
  2. Indikator Supertrend: menilai tren yang mendominasi pasar
  3. Parabolic SAR: memberikan sinyal masuk dan keluar yang akurat

Strategi membuat keputusan perdagangan dengan logika berikut:

  • Syarat untuk masuk dalam posisi lama:
    • Garis MACD lebih tinggi dari garis sinyal
    • Supertrend muncul dalam warna hijau
    • Harga penutupan lebih tinggi dari Parabolic SAR
  • Syarat untuk masuk:
    • Garis MACD lebih rendah dari garis sinyal
    • Supertrend tampil dengan warna merah (tanpa judul)
    • Penutupan harga di bawah Parabolic SAR

Keunggulan Strategis

  1. Verifikasi Komprehensif Multi-Indikator: Mengurangi Risiko Signal Palsu
  2. Fleksibel sinyal pemicu: tidak ada perintah yang ketat untuk memicu urutan indikator
  3. Strategi perdagangan penuh: memaksimalkan potensi keuntungan dari setiap perdagangan
  4. Logika perdagangan simetris: berkinerja sama di pasar multihead dan pasar kosong
  5. Mekanisme Keluar Dinamis: Menghindari Keluar Prematur Dengan Mengkonfirmasi Dua Garis K Berturut-turut

Risiko Strategis

  1. Risiko keterlambatan indikator: Indikator teknis berdasarkan data historis, mungkin ada keterlambatan
  2. Risiko perdagangan penuh: Stop loss yang tidak ditetapkan dapat menyebabkan fluktuasi dana yang lebih besar
  3. Risiko volatilitas pasar yang tinggi: lingkungan pasar yang kompleks dapat mempengaruhi kinerja strategi
  4. Sensitivitas parameter: pilihan parameter indikator secara langsung mempengaruhi efek strategi

Arah optimasi strategi

  1. Memperkenalkan manajemen posisi dinamis: menyesuaikan ukuran posisi sesuai dengan volatilitas pasar
  2. Meningkatkan mekanisme stop loss: mengurangi kerugian maksimum per transaksi
  3. Optimalkan parameter indikator: Temukan kombinasi parameter optimal dengan pengukuran ulang
  4. Masukkan kondisi penyaringan tambahan: seperti volume transaksi, indikator volatilitas
  5. Menambahkan validasi multi-frame: meningkatkan keandalan sinyal

Meringkaskan

Vishal Adaptive Multi Indicator Trading Strategy adalah metode perdagangan kuantitatif yang inovatif, yang memberikan kerangka keputusan perdagangan yang komprehensif dan fleksibel melalui sinergi MACD, Supertrend, dan Parabolic SAR. Meskipun ada risiko tertentu, validasi multi-indikator dan logika perdagangan simetrisnya memberikan investor model perdagangan yang layak untuk diteliti secara mendalam.

Kode Sumber Strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-27 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Vishal Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// **MACD Inputs & Calculation**
fast_length  = input.int(13, title="MACD Fast Length")
slow_length  = input.int(27, title="MACD Slow Length")
signal_length = input.int(9, title="MACD Signal Smoothing")

fast_ma  = ta.ema(close, fast_length)
slow_ma  = ta.ema(close, slow_length)
macd     = fast_ma - slow_ma
signal   = ta.ema(macd, signal_length)
hist     = macd - signal

// **Supertrend Inputs & Calculation**
atrPeriod = input.int(11,    "ATR Length", minval = 1)
factor    = input.float(3.0, "Factor",     minval = 0.01, step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bullTrend  = direction < 0   // Uptrend Condition
bearTrend  = direction > 0   // Downtrend Condition

// **Parabolic SAR Inputs & Calculation**
sarStep = input.float(0.02, "Parabolic SAR Step")
sarMax  = input.float(0.2, "Parabolic SAR Max")
sar = ta.sar(sarStep, sarStep, sarMax)

// **Trade Entry Conditions**
macdBullish = macd > signal // MACD in Bullish Mode
macdBearish = macd < signal // MACD in Bearish Mode
priceAboveSAR = close > sar // Price above SAR (Bullish)
priceBelowSAR = close < sar // Price below SAR (Bearish)

// **Boolean Flags to Track Conditions Being Met**
var bool macdConditionMet = false
var bool sarConditionMet = false
var bool trendConditionMet = false

// **Track if Each Condition is Met in Any Order**
if (macdBullish)
    macdConditionMet := true
if (macdBearish)
    macdConditionMet := false

if (priceAboveSAR)
    sarConditionMet := true
if (priceBelowSAR)
    sarConditionMet := false

if (bullTrend)
    trendConditionMet := true
if (bearTrend)
    trendConditionMet := false

// **Final Long Entry Signal (Triggers When All Three Flags Are True)**
longSignal = macdConditionMet and sarConditionMet and trendConditionMet

// **Final Short Entry Signal (Triggers When All Three Flags Are False)**
shortSignal = not macdConditionMet and not sarConditionMet and not trendConditionMet

// **Execute Full Equity Trades**
if (longSignal)
    strategy.entry("Long", strategy.long)

if (shortSignal)
    strategy.entry("Short", strategy.short)

// **Exit Logic - Requires 2 Consecutive Candle Closes Below/Above SAR**
var int belowSARCount = 0
var int aboveSARCount = 0

if (strategy.position_size > 0)  // Long position is active
    belowSARCount := close < sar ? belowSARCount + 1 : 0
    if (belowSARCount >= 1)
        strategy.close("Long")

if (strategy.position_size < 0)  // Short position is active
    aboveSARCount := close > sar ? aboveSARCount + 1 : 0
    if (aboveSARCount >= 1)
        strategy.close("Short")

// **Plot Indicators**
plot(supertrend, title="Supertrend", color=bullTrend ? color.green : color.red, linewidth=2, style=plot.style_linebr)
plot(sar, title="Parabolic SAR", color=color.blue, style=plot.style_cross, linewidth=2)
plot(macd, title="MACD Line", color=color.blue, linewidth=2)
plot(signal, title="MACD Signal", color=color.orange, linewidth=2)
plot(hist, title="MACD Histogram", style=plot.style_columns, color=hist >= 0 ? color.green : color.red)