
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.
Berdasarkan petunjuk di atas, anda boleh menilai keadaan pasaran dan membuat strategi perdagangan seperti berikut:
Syarat membeli:
Syarat jualan:
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.
Risiko utama strategi ini ialah:
Kaedah pengurusan risiko:
Strategi ini mempunyai ruang untuk pengoptimuman, terutamanya dalam aspek-aspek berikut:
Parameter penunjuk pengoptimuman. Algoritma pengoptimuman pintar boleh diperkenalkan untuk mengoptimumkan parameter yang berbeza secara bebas.
Menambah kejuruteraan ciri. Memperkenalkan lebih banyak petunjuk teknikal harga, menubuhkan model sokongan seperti mesin vektor untuk latihan, meningkatkan ketepatan isyarat.
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.
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.
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.
/*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)