Grafik Strip Nadaraya-Watson Strategi Stop Loss Dinamis Konfirmasi Berganda

ADX DI RSI MAE
Tanggal Pembuatan: 2024-05-24 17:58:47 Akhirnya memodifikasi: 2024-05-24 17:58:47
menyalin: 0 Jumlah klik: 1065
1
fokus pada
1617
Pengikut

Grafik Strip Nadaraya-Watson Strategi Stop Loss Dinamis Konfirmasi Berganda

Ringkasan

Strategi ini menggunakan grafik Nadarya-Watson untuk melakukan smoothing pada harga dan menghitung naik turun berdasarkan harga setelah smoothing. Kemudian menggunakan indikator ADX dan DI untuk menilai kekuatan dan arah tren, indikator RSI untuk mengkonfirmasi dinamika tren, sekaligus mengidentifikasi potensi terobosan dengan harga terobosan naik turun. Akhirnya menggabungkan beberapa sinyal seperti tren, terobosan dan dinamika untuk melakukan perdagangan, dan menggunakan stop loss dinamis untuk mengelola risiko.

Prinsip Strategi

  1. Untuk memperlancar harga, gunakan grafik Nadarya-Watson untuk menghitung naik dan turun.
  2. Menggunakan indikator ADX dan DI untuk menentukan kekuatan dan arah tren. Ketika ADX lebih besar dari nilai terendah, dan + DI lebih besar dari -DI, maka tren naik, sebaliknya tren turun.
  3. Penjelasan apakah harga telah menembus jalur atas atau bawah dari grafik pita, yang menunjukkan potensi untuk menembus ke atas dan ke bawah.
  4. Menggunakan indikator RSI untuk mengkonfirmasi dinamika tren. Ketika RSI lebih besar dari 70 menunjukkan dinamika naik, kurang dari 30 menunjukkan dinamika turun.
  5. Perdagangan dilakukan dengan menggabungkan beberapa sinyal seperti tren, titik terobosan, dan momentum:
    • Jika ada kecenderungan naik yang kuat, maka bukalah posisi lebih banyak ketika ada lonjakan ke atas dan momentum naik.
    • Ketika ada tren turun yang kuat, buka posisi kosong saat terjadi downward breakout dan downward momentum.
  6. Menggunakan stop loss dinamis untuk mengelola risiko, harga stop loss dihitung berdasarkan harga tertinggi / terendah dan harga penutupan.
  7. Untuk menunjukkan sinyal strategi secara visual dengan menandai garis tren, titik-titik penembusan dan sinyal energi pada grafik.

Keunggulan Strategis

  1. Pada saat ini, Nadarya-Watson Band Graph dapat secara efektif meluruskan data harga dan mengurangi gangguan suara.
  2. Multiple Signal Confirmation Mechanism meningkatkan keandalan sinyal, dengan trend, breakpoint, dan momentum sinyal saling melengkapi, dan bersama-sama memverifikasi peluang perdagangan.
  3. Manajemen stop loss dinamis dapat lebih beradaptasi dengan fluktuasi pasar, mengurangi risiko. Harga stop loss dapat disesuaikan dengan pasar berdasarkan harga tertinggi / terendah dan harga penutupan.
  4. Garis tren, titik terobosan, dan sinyal dinamis ditandai secara langsung di grafik, sehingga memudahkan pengguna untuk melihat dan membaca sinyal strategi.

Risiko Strategis

  1. Dalam pasar yang bergejolak atau pada periode pergeseran tren, sinyal-sinyal yang sering terjadi dapat menyebabkan overtrading dan kerugian.
  2. Stop loss dinamis mungkin tidak dapat dihentikan pada waktu yang tepat ketika tren berbalik, menyebabkan penarikan meningkat.
  3. Parameter strategi seperti bandwidth pada peta pita Nadler-Watson, ADX threshold, dan lain-lain perlu dioptimalkan sesuai dengan pasar dan standar yang berbeda, dan parameter yang tidak tepat dapat mempengaruhi efektivitas strategi.

Arah optimasi strategi

  1. Memperkenalkan lebih banyak indikator penilaian tren yang efektif, seperti MACD, sistem rata-rata, dan lain-lain, meningkatkan akurasi dan stabilitas penilaian tren.
  2. Metode penghitungan stop loss dinamis yang dioptimalkan, seperti mempertimbangkan ATR, SAR, dan indikator yang terkait dengan volatilitas, membuat stop loss lebih fleksibel dan efektif.
  3. Adaptasi strategi dapat dilakukan dengan mengatur kombinasi parameter yang berbeda untuk karakteristik pasar yang berbeda, seperti tren, getaran, dan sebagainya.
  4. Bergabung dengan modul manajemen posisi, menyesuaikan posisi secara dinamis berdasarkan tren pasar, volatilitas dan faktor lainnya, mengendalikan risiko.

Meringkaskan

Strategi ini membangun sistem perdagangan yang lebih baik dengan meratakan harga dengan grafik pita Nadarya-Watson, menggabungkan indikator tren seperti ADX, DI dan indikator dinamika RSI, serta sinyal ganda seperti titik-titik harga. Manajemen stop loss dinamis dapat beradaptasi dengan perubahan pasar dan mengendalikan risiko hingga batas tertentu. Namun, dalam aplikasi praktis, perhatian harus diberikan untuk mengoptimalkan penilaian tren, stop loss dinamis, dan pengaturan parameter untuk meningkatkan kebugaran dan profitabilitas strategi.

Kode Sumber Strategi
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-18 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Nadaraya-Watson Envelope with Multi-Confirmation and Dynamic Stop-Loss", overlay=true)

// Input parameters
h = input.float(7.2, "Bandwidth", minval=0)
mult = input.float(2.1, minval=0)
src = input(close, "Source")

// ADX and DI Input Parameters
adxLength = input.int(14, "ADX Length")
adxThreshold = input.float(25, "ADX Threshold")
adxSmoothing = input.int(14, "ADX Smoothing")

// Calculate ADX and DI
[dmiPlus, dmiMinus, adx] = ta.dmi(adxLength, adxSmoothing)
strongTrendUp = dmiPlus > dmiMinus and adx > adxThreshold
strongTrendDown = dmiMinus > dmiPlus and adx > adxThreshold

// Nadaraya-Watson Envelope Calculation
gauss(x, h) =>
    math.exp(-(math.pow(x, 2) / (h * h * 2)))

coefs = array.new_float(0)
den = 0.0

for i = 0 to 100
    w = gauss(i, h)
    array.push(coefs, w)

den := array.sum(coefs)

out = 0.0
for i = 0 to 100
    out += src[i] * array.get(coefs, i)
out /= den
mae = ta.sma(math.abs(src - out), 100) * mult

upper = ta.sma(out + mae, 10)
lower = ta.sma(out - mae, 10)

// Confirmations
breakoutUp = ta.crossover(src, upper)
breakoutDown = ta.crossunder(src, lower)

// Original RSI period and thresholds
rsiPeriod = input.int(14, "RSI Period")
rsi = ta.rsi(src, rsiPeriod)
momentumUp = rsi > 70 and adx > adxThreshold
momentumDown = rsi < 30 and adx > adxThreshold

// // Plot ADX-based Trend Confirmation Lines
// if (strongTrendUp)
//     line.new(bar_index, low, bar_index + 1, low, color=color.new(color.blue, 50), width=2, style=line.style_dashed)

// if (strongTrendDown)
//     line.new(bar_index, high, bar_index + 1, high, color=color.new(color.red, 50), width=2, style=line.style_dashed)

// Plot Breakout Confirmation Dots
plotshape(series=breakoutUp, style=shape.circle, location=location.abovebar, color=color.blue, size=size.tiny, title="Breakout Up")
plotshape(series=breakoutDown, style=shape.circle, location=location.belowbar, color=color.orange, size=size.tiny, title="Breakout Down")

// Plot Momentum Confirmation Arrows
plotshape(series=momentumUp, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, title="Momentum Up")
plotshape(series=momentumDown, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, title="Momentum Down")

// Strategy Entry and Exit
var float stopLossLevel = na
var float highestPrice = na

potentialBuy = strongTrendUp and breakoutUp
potentialSell = strongTrendDown and breakoutDown
momentumConfirmUp = potentialBuy and momentumUp
momentumConfirmDown = potentialSell and momentumDown

if (momentumConfirmUp)
    strategy.entry("Buy", strategy.long)
    stopLossLevel := close * 0.90
    highestPrice := close

if (momentumConfirmDown)
    strategy.entry("Sell", strategy.short)
    stopLossLevel := close * 1.10
    highestPrice := close

if (strategy.position_size > 0)
    highestPrice := math.max(highestPrice, close)
    stopLossLevel := math.max(highestPrice * 0.85, close * 0.90)

if (strategy.position_size < 0)
    highestPrice := math.min(highestPrice, close)
    stopLossLevel := math.min(highestPrice * 1.15, close * 1.10)

// Close position if stop loss is hit
if (strategy.position_size > 0 and close < stopLossLevel)
    strategy.close("Buy")

if (strategy.position_size < 0 and close > stopLossLevel)
    strategy.close("Sell")