Strategi mengikuti tren berdasarkan garis tren super


Tanggal Pembuatan: 2023-12-08 17:07:53 Akhirnya memodifikasi: 2023-12-08 17:07:53
menyalin: 3 Jumlah klik: 606
1
fokus pada
1621
Pengikut

Strategi mengikuti tren berdasarkan garis tren super

Ringkasan

Strategi ini adalah strategi pelacakan tren yang dibangun berdasarkan indikator Average True Range (ATR) untuk menentukan arah tren pasar dan memberikan sinyal perdagangan. Strategi ini memiliki fungsi ganda untuk menilai dan melacak tren, dapat digunakan di bidang seperti indeks saham, futures, forex, dan mata uang digital.

Prinsip Strategi

Strategi ini menentukan apakah harga berada di dalam saluran tren naik dengan menghitung indikator ATR dalam periode tertentu dan membandingkannya dengan harga. Secara khusus, strategi ini pertama-tama menghitung indikator ATR dan kemudian membangun tren naik dan tren turun berdasarkan nilai ATR dengan faktor. Ketika harga lebih tinggi dari tren naik, penilaian sebagai tren naik; Ketika harga lebih rendah dari tren turun, penilaian sebagai tren turun.

Kunci dari strategi ini adalah untuk membangun standar penilaian tren yang melampaui garis tren. Garis tren yang melampaui garis tren didasarkan pada perubahan dinamika indikator ATR, yang dapat secara efektif menyaring kebisingan pasar dan menilai arah tren utama.

Keunggulan Strategis

Keuntungan terbesar dari strategi ini adalah kemampuan untuk menggabungkan penilaian tren dan pelacakan tren. Secara khusus, keuntungan utama adalah:

  1. Garis supertrend yang dibangun menggunakan ATR, dapat secara efektif mengidentifikasi tren pasar, memfilter kebisingan.
  2. Garis supertrend memiliki keterlambatan yang membantu mengurangi sinyal yang salah.
  3. Ini juga dapat memberikan penilaian tren dan sinyal perdagangan pada saat yang sama.
  4. Parameterisasi dapat dioptimalkan untuk pasar yang lebih luas.
  5. Indikator visualisasi, intuitif menilai status tren saat ini.

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  1. ATR parameter yang tidak tepat dapat menyebabkan garis supertrend terlalu sensitif atau terlambat.
  2. Tidak dapat sepenuhnya menghindari dampak dari kebisingan, dan dalam beberapa kasus dapat menghasilkan sinyal yang salah.
  3. Dalam situasi yang sangat bergejolak, akurasi pengukuran garis tren akan menurun.
  4. Tidak bisa memprediksi titik baliknya, hanya bisa melacak tren yang sudah terjadi.

Dalam hal penanggulangan, dapat dioptimalkan dengan menyesuaikan parameter seperti siklus ATR, faktor garis tren super, atau dapat dikombinasikan dengan indikator lain untuk verifikasi, mengurangi probabilitas sinyal yang salah. Selain itu, dapat mengatur titik berhenti, mengendalikan kerugian tunggal.

Arah optimasi

Strategi ini masih bisa dioptimalkan lebih jauh:

  1. Optimalisasi otomatis dari parameter yang digabungkan dengan algoritma pembelajaran mesin.
  2. Menambahkan penilaian dan verifikasi indikator seperti rata-rata bergerak rata-rata.
  3. Menetapkan strategi stop loss dan optimalisasi pengelolaan dana.
  4. Metode yang digabungkan dengan indikator sentimen, analisis wajah berita, dan lain-lain untuk memprediksi potensi pembalikan tren.
  5. Dengan menggunakan teknologi pembelajaran mendalam untuk menganalisis lebih banyak data historis, dapat meningkatkan akurasi penilaian.

Dengan mengoptimalkan kedalaman, diharapkan dapat meningkatkan stabilitas, fleksibilitas, dan ruang untuk keuntungan dari strategi.

Meringkaskan

Strategi ini secara keseluruhan memiliki karakteristik stabil, andal, dan pendapatan yang baik. Membangun garis tren untuk menilai tren utama, sekaligus memberikan sinyal perdagangan adalah hal yang paling menarik dari strategi ini. Namun, ada juga tingkat keterlambatan dan risiko kesalahan penilaian.

Kode Sumber Strategi
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend Strategy", overlay = true)

Periods = input(10, title="ATR Period")
src = input(hl2, title="Source")
Multiplier = input(3.0, title="ATR Multiplier", step=0.1)
changeATR = input(true, title="Change ATR Calculation Method?")
showsignals = input(true, title="Show Buy/Sell Signals?")
highlighting = input(true, title="Highlighter On/Off?")

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn

trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)

longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white

fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")