Strategi indikator momentum ADX, RSI


Tanggal Pembuatan: 2023-12-11 16:06:30 Akhirnya memodifikasi: 2023-12-11 16:06:30
menyalin: 0 Jumlah klik: 886
1
fokus pada
1621
Pengikut

Strategi indikator momentum ADX, RSI

Ringkasan

Strategi ini menggunakan indikator momentum ADX, RSI, dan Bollinger Bands untuk menentukan tren pasar dan overbought oversold. Strategi ini adalah strategi trading otomatis untuk melakukan low/high/sell dan profit/exit.

Prinsip Strategi

  1. Indikator ADX menilai tren. Ketika ADX lebih besar dari 32, pasar dianggap berada dalam keadaan tren.
  2. Indikator RSI menilai overbought oversold. Ketika RSI melewati level 30, dianggap sebagai oversold; Ketika RSI melewati level 70, dianggap sebagai overbought.
  3. Bollinger Bands menilai penutupan dan penembusan. Ketika harga penutupan menembus Bollinger Bands, maka harga akan naik. Ketika harga penutupan turun, maka harga akan turun.

Berdasarkan indikator di atas untuk menilai kondisi pasar, strategi perdagangan dibuat sebagai berikut:

Kondisi pembelian:

  1. ADX > 32, kondisi tren
  2. RSI naik ke level 30 dan oversold
  3. Penutupan harga di bawah Bollinger Bands, berakhir dengan penurunan

Kondisi penjualan:

  1. ADX > 32, kondisi tren
  2. RSI di bawah 70, kondisi overbought
  3. Penutupan harga lebih tinggi dari Bollinger Bands, yang berakhir pada saat penutupan.

Analisis Keunggulan

Strategi ini menggunakan berbagai indikator untuk menilai kondisi pasar secara komprehensif, menghindari kemungkinan kesalahan dalam menilai satu indikator. Pada saat yang sama, melalui penilaian tren, overbought dan oversold, dapat secara efektif mengunci titik pivot pasar, untuk mencapai harga rendah dan harga tinggi.

Strategi ini dapat menangkap peluang jangka pendek dengan lebih tepat waktu daripada menggunakan indikator tren saja. Strategi ini dapat menangkap arah tren dengan lebih baik daripada menggunakan indikator getaran saja. Oleh karena itu, strategi ini mempertahankan keuntungan dari pelacakan tren, tetapi memiliki fleksibilitas untuk beraksi kontra, merupakan strategi kuantitatif yang berpotensi lebih efisien.

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  1. Risiko indikator mengirimkan sinyal yang salah. Pertimbangan indikator mungkin tidak efektif ketika ada peristiwa besar di pasar.
  2. Stop loss posisi diatur terlalu radikal. Jika stop loss jarak terlalu kecil, mungkin akan dihentikan oleh volatilitas pasar jangka pendek.
  3. Risiko penyesuaian data parameter. Jika parameter indikator hanya dapat dicocokkan berdasarkan data historis, maka parameter akan kurang stabil dan mungkin tidak dapat beradaptasi dengan perubahan pasar.

Langkah-langkah manajemen risiko yang sesuai:

  1. Intervensi manusia di pasar yang tidak normal, strategi penundaan manual, menghindari sinyal yang salah yang menyebabkan kerugian.
  2. Tetapkan jarak penghentian yang wajar, sekaligus menggabungkan indikator seperti garis rata untuk menilai harga penghentian, untuk menghindari penarikan.
  3. Menambahkan modul Parameter Tuning, menggunakan metode Walk Forward Analysis untuk mengoptimalkan parameter secara dinamis, memastikan parameter yang stabil.

Arah optimasi

Strategi ini memiliki ruang untuk pengoptimalan dalam beberapa hal:

  1. Optimasi parameter indikator. Algoritma optimisasi cerdas dapat diperkenalkan untuk mengoptimalkan parameter yang berbeda secara independen.

  2. Menambahkan fitur teknik. Mengintroduksi lebih banyak indikator teknis harga, membangun model pendukung seperti mesin vektor untuk pelatihan, meningkatkan akurasi sinyal.

  3. Tergabung dengan strategi terobosan. Menggunakan aturan penilaian berdasarkan saluran, dukungan resistensi, dan lain-lain sesuai dengan karakteristik situasi yang berbeda, untuk menguasai titik terobosan, meningkatkan stabilitas strategi.

  4. Mengoptimalkan mekanisme stop loss. Memperkenalkan cara-cara seperti tracking stop loss, mobile stop loss, dan lain-lain, untuk mencapai penyesuaian dinamika stop loss, maksimal mengunci keuntungan, dan mengontrol risiko secara efektif.

Meringkaskan

Strategi ini digunakan sebagai strategi perdagangan kuantitatif jangka pendek dan menengah, menggunakan beberapa indikator teknis untuk menilai kondisi pasar, seperti ADX, RSI, dan Brin Belt, untuk melakukan operasi jual beli ketika menentukan struktur pasar yang berubah secara signifikan. Logika strategi dapat dijelaskan dengan jelas, dan dapat mengurangi kemungkinan kesalahan penilaian indikator teknis tunggal.

Kode 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)