ADX, strategi penunjuk momentum RSI


Tarikh penciptaan: 2023-12-11 16:06:30 Akhirnya diubah suai: 2023-12-11 16:06:30
Salin: 0 Bilangan klik: 886
1
fokus pada
1621
Pengikut

ADX, strategi penunjuk momentum RSI

Gambaran keseluruhan

Strategi ini menggunakan indikator momentum ADX, RSI dan Bollinger Bands untuk membuat strategi perdagangan automatik untuk membeli dan menjual dengan harga rendah dan keluar dengan keuntungan dengan menilai trend pasaran dan keadaan overbought dan oversold.

Prinsip Strategi

  1. Indikator ADX menilai trend. Apabila ADX lebih besar daripada 32, ia dianggap dalam keadaan trend.
  2. Indeks RSI menilai overbought oversold. Apabila RSI di atas 30 tahap, dianggap sebagai overbought; apabila RSI di bawah 70 tahap, dianggap sebagai overbought.
  3. Bolling band menilai penutupan dan pecah. Apabila harga penutupan menembusi Bolling band, ia dianggap sebagai penutupan penutupan; apabila harga penutupan jatuh ke bawah Bolling band, ia dianggap sebagai penutupan penutupan.

Berdasarkan petunjuk di atas, anda boleh menilai keadaan pasaran dan membuat strategi perdagangan seperti berikut:

Syarat membeli:

  1. ADX> 32, keadaan trend
  2. RSI naik ke paras 30 dan oversold
  3. Penutupan harga di bawah Bollinger Bands dan berakhir dengan penurunan.

Syarat jualan:

  1. ADX> 32, keadaan trend
  2. RSI di bawah 70 dan overbought
  3. Harga penutupan lebih tinggi daripada Bollinger Bands dan berakhir pada penutupan

Analisis kelebihan

Strategi ini menggunakan pelbagai indikator untuk menilai keadaan pasaran, mengelakkan kemungkinan salah menilai satu indikator. Pada masa yang sama, dengan menilai keadaan trend, overbought dan oversold, anda dapat mengunci titik peralihan pasaran dengan berkesan, untuk mencapai harga rendah dan tinggi.

Strategi ini dapat menangkap peluang jangka pendek lebih tepat pada masanya berbanding dengan menggunakan indikator trend sahaja. Strategi ini dapat menangkap arah trend dengan lebih baik daripada menggunakan indikator goyah sahaja. Oleh itu, strategi ini mengekalkan kelebihan untuk mengesan trend, tetapi mempunyai fleksibiliti untuk bertindak balas, dan merupakan strategi kuantitatif yang berpotensi lebih efisien.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Risiko penunjuk memberi isyarat yang salah. Penghakiman penunjuk mungkin tidak berkesan apabila berlaku peristiwa besar di pasaran.
  2. Penetapan kedudukan hentikan risiko terlalu radikal. Jika jarak hentikan terlalu kecil, ia mungkin ditutup oleh turun naik pasaran jangka pendek.
  3. Risiko penyesuaian data parameter. Jika parameter penunjuk hanya dapat disesuaikan berdasarkan data sejarah, kestabilan parameter akan lebih buruk dan mungkin tidak dapat menyesuaikan diri dengan perubahan pasaran.

Kaedah pengurusan risiko:

  1. “Penglibatan manusia dalam pasaran yang tidak normal, menghentikan strategi secara manual, mengelakkan isyarat yang salah membawa kepada kerugian”.
  2. Tetapkan jarak hentian yang munasabah, sambil menggabungkan petunjuk seperti garis rata untuk menilai harga hentian, untuk mengelakkan terikat.
  3. Menambah modul Parameter Tuning, menggunakan kaedah Walk Forward Analysis untuk mengoptimumkan parameter secara dinamik, memastikan parameter stabil.

Arah pengoptimuman

Strategi ini mempunyai ruang untuk pengoptimuman, terutamanya dalam aspek-aspek berikut:

  1. Parameter penunjuk pengoptimuman. Algoritma pengoptimuman pintar boleh diperkenalkan untuk mengoptimumkan parameter yang berbeza secara bebas.

  2. Menambah kejuruteraan ciri. Memperkenalkan lebih banyak petunjuk teknikal harga, menubuhkan model sokongan seperti mesin vektor untuk latihan, meningkatkan ketepatan isyarat.

  3. Menggabungkan strategi penembusan. Mengikut ciri-ciri keadaan pelbagai jenis, gunakan peraturan penilaian berdasarkan saluran, sokongan rintangan, dan lain-lain untuk menguasai titik penembusan, meningkatkan kestabilan strategi.

  4. Mengoptimumkan mekanisme hentian hentian. Memperkenalkan cara-cara seperti mengesan hentian, hentian bergerak, dan lain-lain, untuk mencapai penyesuaian dinamik hentian hentian, maksimum mengunci keuntungan, dan mengawal risiko dengan berkesan.

ringkaskan

Strategi ini digunakan sebagai strategi perdagangan kuantitatif jangka pendek dan sederhana, menggunakan pelbagai petunjuk teknikal seperti ADX, RSI, dan Brinband untuk menilai keadaan pasaran, dan melakukan pembelian dan penjualan apabila struktur pasaran berubah secara signifikan. Logik strategi dapat ditafsirkan dengan jelas, dan dapat mengurangkan kemungkinan kesalahan penilaian indikator teknikal tunggal.

Kod sumber strategi
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)

//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : up > down and up > 0 ? up : 0
    minusDM = na(down) ? na : down > up and down > 0 ? down : 0
    truerange = rma(tr, len)

    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)

    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx


[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

//Creo RSI

src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")


//Creo Bande di Bollinger

source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)

//Stabilisco regole di ingresso

if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
    strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
    //strategy.exit("exit", "COMPRA", loss = 90) 
    strategy.cancel(id="COMPRA")

if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
    strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
    //strategy.exit("exit", "VENDI", loss = 90)
    strategy.cancel(id="VENDI")

//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)