Strategi mengikut arah aliran berdasarkan garis aliran super


Tarikh penciptaan: 2023-12-08 17:07:53 Akhirnya diubah suai: 2023-12-08 17:07:53
Salin: 3 Bilangan klik: 606
1
fokus pada
1621
Pengikut

Strategi mengikut arah aliran berdasarkan garis aliran super

Gambaran keseluruhan

Strategi ini adalah garis trend super yang dibina berdasarkan purata rentang sebenar (ATR) untuk menentukan arah trend pasaran dan memberi isyarat perdagangan. Strategi ini mempunyai fungsi ganda untuk menentukan trend dan trend, boleh digunakan dalam bidang indeks saham, forex, dan mata wang digital.

Prinsip Strategi

Strategi ini menentukan sama ada harga berada dalam saluran trend naik dengan mengira indikator ATR dalam tempoh tertentu dan membandingkannya dengan harga. Secara khusus, strategi ini mengira indikator ATR terlebih dahulu dan kemudian membina tren naik dan tren turun berdasarkan nilai ATR. Apabila harga lebih tinggi daripada tren naik, ia akan menjadi tren naik; apabila harga lebih rendah daripada tren turun, ia akan menjadi tren menurun.

Kunci strategi ini adalah untuk membina trend penghakiman standard untuk melangkaui garis trend. Garis super trend adalah berdasarkan perubahan dinamik penunjuk ATR, yang dapat menyaring bunyi pasaran dengan berkesan, untuk menentukan arah trend utama. Pada masa yang sama, garis super trend mempunyai keterlambatan tertentu, yang membantu mengesahkan titik peralihan trend dan mengelakkan menghasilkan isyarat perdagangan yang salah.

Kelebihan Strategik

Kelebihan utama strategi ini adalah keupayaan untuk menggabungkan penilaian trend dan pemantauan trend. Secara khusus, kelebihan utama adalah:

  1. Garis hypertrend yang dibina menggunakan ATR dapat mengesan trend pasaran dengan berkesan, menapis kebisingan.
  2. Garis supertrend mempunyai ketinggalan yang membantu mengurangkan isyarat yang salah.
  3. Ia boleh memberi keputusan trend dan isyarat dagangan pada masa yang sama, dan ia mudah dikendalikan.
  4. Parameterisasi boleh dioptimumkan untuk pasaran yang lebih luas.
  5. Indikator visual, intuitif untuk menilai keadaan trend semasa.

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Parameter ATR tidak ditetapkan dengan betul, yang boleh menyebabkan garis super trend terlalu sensitif atau terlewat.
  2. Tidak boleh sepenuhnya mengelakkan kesan bunyi bising, dan dalam kes-kes tertentu, ia boleh menyebabkan isyarat yang salah.
  3. Apabila keadaan berubah-ubah, ketepatan penghakiman garis trend akan menurun.
  4. Tidak boleh meramalkan perubahan trend, hanya boleh menjejaki trend yang telah berlaku.

Kaedah pencegahan boleh dioptimumkan dengan menyesuaikan parameter seperti kitaran ATR, faktor garis trend melampau, atau boleh digabungkan dengan indikator lain untuk disahkan, mengurangkan kemungkinan isyarat salah. Selain itu, titik berhenti boleh ditetapkan, mengawal kerugian tunggal.

Arah pengoptimuman

Strategi ini masih boleh dioptimumkan lagi:

  1. Menggabungkan algoritma pembelajaran mesin untuk mencapai pengoptimuman parameter secara automatik.
  2. Menambah penghakiman dan pengesahan indikator seperti purata bergerak rata-rata.
  3. Menetapkan strategi henti rugi dan pengendalian wang yang optimum
  4. Kaedah-kaedah seperti pengukuran sentimen, analisis berita, dan lain-lain digunakan untuk meramalkan perubahan trend yang berpotensi.
  5. Menggunakan teknik pembelajaran mendalam untuk menganalisis lebih banyak data sejarah, meningkatkan ketepatan penghakiman.

Dengan pengoptimuman mendalam, ia akan meningkatkan lagi kestabilan, kebolehan beradaptasi dan ruang untuk keuntungan strategi.

ringkaskan

Strategi ini secara keseluruhan mempunyai ciri-ciri yang stabil, boleh dipercayai, dan keuntungan yang baik. Membina garis trend yang melampaui trend untuk menilai trend utama, sambil memberi isyarat perdagangan adalah strategi yang paling baik. Tetapi ada juga tahap keterbelakangan dan risiko kesalahan penilaian. Dengan pengoptimuman parameter dan model, diharapkan untuk mendapatkan prestasi strategi yang lebih baik.

Kod 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!")