Sumber daya yang dimuat... Pemuatan...

Diagram pita Natalia-Watson beberapa kali mengkonfirmasi strategi stop loss dinamis

Penulis:ChaoZhang, Tanggal: 2024-05-24 17:58:47
Tag:ADXDIRSIMAE

纳达拉亚-沃森带状图多重确认动态止损策略

Pengamatan

Strategi ini menggunakan grafik pita Nadella-Watson untuk memperlancar harga dan menghitung tren berdasarkan harga setelah tren. Kemudian indikator ADX dan DI digunakan untuk menentukan intensitas dan arah tren, indikator RSI digunakan untuk mengidentifikasi momentum tren, sementara indikator RSI digunakan untuk mengidentifikasi potensi titik terobosan dengan membobol tren. Akhirnya, kombinasi dari beberapa sinyal seperti tren, titik terobosan, dan momentum untuk mengeksekusi perdagangan, dan penggunaan stop loss dinamis untuk mengelola risiko.

Prinsip Strategi

  1. Dengan menggunakan grafik pita Natalia-Watson untuk memperlancar pengolahan harga, perhitungan downtrack dilakukan.
  2. Menggunakan indikator ADX dan DI untuk menentukan kekuatan dan arah tren. Ketika ADX lebih besar dari ambang batas, dan +DI lebih besar dari -DI menunjukkan tren naik, sebaliknya tren turun.
  3. Untuk menentukan apakah harga akan membobol grafik pita naik atau turun, masing-masing menunjukkan potensi pembobolan ke atas dan ke bawah.
  4. Indikator RSI digunakan untuk mengidentifikasi momentum tren. Ketika RSI lebih besar dari 70 menunjukkan momentum naik, kurang dari 30 menunjukkan momentum turun.
  5. Dengan menggunakan beberapa sinyal seperti tren, titik putus, dan momentum untuk melakukan transaksi:
    • Jika ada tren naik yang kuat, terobosan ke atas dan momentum naik.
    • Posisi kosong dibuka ketika ada tren penurunan yang kuat, terobosan ke bawah dan momentum penurunan.
  6. Menggunakan stop loss dinamis untuk mengelola risiko, harga stop loss dihitung berdasarkan harga tertinggi/endah dan harga penutupan.
  7. Dengan menandai garis tren, titik putus, dan sinyal dinamis pada grafik, Anda dapat menampilkan sinyal strategi secara visual.

Keunggulan Strategis

  1. Diagram pita Natalia-Watson dapat secara efektif meluruskan data harga dan mengurangi gangguan kebisingan.
  2. Mekanisme pengesahan sinyal ganda meningkatkan keandalan sinyal, tren, titik terobosan, dan sinyal dinamis saling melengkapi dan memverifikasi peluang perdagangan bersama.
  3. Manajemen stop loss dinamis dapat lebih beradaptasi dengan volatilitas pasar dan mengurangi risiko. Harga stop loss dihitung berdasarkan harga tertinggi/rendah dan harga penutupan, yang dapat diikuti oleh penyesuaian pasar.
  4. Pada grafik, garis tren, titik putus, dan sinyal dinamika ditandai secara intuitif untuk memudahkan pengguna untuk melihat dan membaca sinyal strategi.

Risiko Strategis

  1. Pada saat pasar bergolak atau saat perubahan tren, sinyal-sinyal yang sering muncul dapat menyebabkan perdagangan dan kerugian yang berlebihan.
  2. Stop loss dinamis mungkin tidak dapat dihentikan tepat waktu ketika tren berbalik, yang menyebabkan retracement meningkat.
  3. Parameter strategi seperti bandwidth dari grafik pita Natalia-Watson, ambang batas ADX, dan lain-lain perlu dioptimalkan sesuai dengan pasar dan standar yang berbeda, dan pengaturan parameter yang tidak tepat dapat mempengaruhi efek strategi.

Kebijakan Optimasi

  1. Memperkenalkan indikator pengamatan tren yang lebih efektif, seperti MACD, sistem rata-rata, dan lain-lain, meningkatkan akurasi dan stabilitas pengamatan tren.
  2. Mengoptimalkan metode perhitungan stop loss dinamis, seperti memperhitungkan indikator yang terkait dengan tingkat fluktuasi seperti ATR, SAR, dan lain-lain, membuat stop loss lebih fleksibel dan efektif.
  3. Mengatur kombinasi parameter yang berbeda untuk karakteristik pasar yang berbeda, seperti jenis tren, jenis gejolak, dan lain-lain, meningkatkan fleksibilitas strategi.
  4. Bergabung dengan modul manajemen posisi, menyesuaikan posisi secara dinamis sesuai dengan tren pasar, fluktuasi, dan faktor lainnya.

Pengamatan

Strategi ini membangun sistem perdagangan yang lebih baik dengan menyelaraskan harga dengan grafik pita Natalia-Watson, menggabungkan indikator tren seperti ADX, DI, dan indikator dinamis RSI, serta beberapa sinyal seperti titik pecah harga. Manajemen stop loss dinamis dapat menyesuaikan diri dengan perubahan pasar, mengendalikan risiko, namun dalam aplikasi praktis, masih perlu memperhatikan aspek optimasi tren, penilaian stop loss dinamis, dan pengaturan parameter untuk meningkatkan stabilitas dan profitabilitas 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")


Artikel terkait

Informasi lebih lanjut