Sumber dimuat naik... memuat...

RSI Trend Momentum Trading Strategy dengan MA dan Pengesahan Volume Berganda

Penulis:ChaoZhang, Tarikh: 2024-11-28 17:02:32
Tag:RSISMA

img

Ringkasan

Strategi ini adalah sistem trend-mengikuti yang menggabungkan isyarat oversold RSI, purata bergerak jangka panjang, dan pengesahan jumlah. Ia bertujuan untuk menangkap kedudukan panjang semasa keadaan oversold dalam trend menaik yang ditubuhkan, disahkan oleh pengembangan jumlah. Strategi ini menggunakan RSI 10 tempoh, SMA dua 250 dan 500 tempoh, dan purata bergerak jumlah 20 tempoh sebagai penunjuk teras.

Prinsip Strategi

Logik terasnya adalah berdasarkan tiga syarat utama yang bekerja selaras:

  1. RSI isyarat oversold (RSI <=30): Mengambil peluang pemulihan pasaran
  2. Penyusunan menaik MA berganda (SMA250>SMA500): Memastikan aliran menaik jangka panjang
  3. Pengesahan jumlah (volume semasa>volume MA*2.5): Memvalidasi pergerakan harga

Posisi panjang dimulakan apabila ketiga-tiga syarat dipenuhi secara serentak. Isyarat keluar dicetuskan oleh salib kematian (MA yang lebih pendek melintasi MA yang lebih panjang). Di samping itu, stop-loss 5% dilaksanakan untuk pengurusan risiko.

Kelebihan Strategi

  1. Pengesahan berganda mengurangkan isyarat palsu: Integrasi RSI, MA dan jumlah memberikan penapisan isyarat yang mantap
  2. Ciri-ciri yang mengikuti trend: Pemasaran jangka panjang menghalang perdagangan yang bertentangan dengan trend
  3. Kawalan risiko yang komprehensif: Stop-loss tetap menguruskan risiko setiap perdagangan dengan berkesan
  4. Kemudahan penyesuaian yang tinggi: Parameter boleh diselaraskan untuk keadaan pasaran yang berbeza
  5. Pilihan perdagangan yang ketat: Keadaan pelbagai memastikan masa kemasukan yang optimum

Risiko Strategi

  1. Risiko kelewatan: PEM jangka panjang membawa kelewatan yang ketara dalam pengenalan trend
  2. Risiko penapisan berlebihan: Syarat berganda yang ketat mungkin kehilangan peluang perdagangan yang sah
  3. Risiko pasaran yang merangkumi: Isyarat palsu mungkin sering berlaku di pasaran sampingan
  4. Risiko konfigurasi stop-loss: Stop peratusan tetap mungkin tidak sesuai dengan semua keadaan pasaran
  5. Risiko pengoptimuman parameter: Pengoptimuman berlebihan boleh membawa kepada prestasi perdagangan langsung yang buruk

Arahan pengoptimuman

  1. Stop-loss dinamik: Pertimbangkan untuk melaksanakan ATR atau berhenti dinamik berasaskan turun naik
  2. Pengukuran kekuatan trend: Sertakan ADX atau penunjuk serupa untuk penilaian trend yang lebih baik
  3. Optimumkan saiz kedudukan: Sesuaikan saiz kedudukan berdasarkan kekuatan isyarat dan turun naik pasaran
  4. Peningkatan mekanisme keluar: Tambah sasaran keuntungan dan hentian trailing untuk keluar fleksibel
  5. Penapisan masa: Melaksanakan penapisan masa dagangan untuk mengelakkan tempoh yang tidak cekap

Ringkasan

Ini adalah strategi trend yang dirancang dengan baik dengan logik yang ketat, menyeimbangkan pulangan dan risiko dengan berkesan melalui pelbagai penunjuk teknikal. Kekuatannya utama terletak pada sistem pengesahan isyarat dan pengurusan risiko yang komprehensif, walaupun ia menghadapi cabaran dalam penapisan berlebihan dan latensi. Melalui arah pengoptimuman yang dicadangkan, strategi menunjukkan potensi untuk meningkatkan prestasi dalam aplikasi praktikal.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5
strategy(title=' Rsi Long-Term Strategy [15min]', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

// Rsi
rsi_lenght = input.int(10, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70

// Volume
vol_sma_length = input.int(20, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5

//SMA1
lengthSMA1 = input(250, title="Lenght SMA 1")
SMA1 = ta.sma(close, lengthSMA1)
//plot(SMA1, color=color.rgb(245, 108, 3), linewidth=1, title="SMA250")

//SMA2
lengthSMA2 = input(500, title="Lenght SMA 2")
SMA2 = ta.sma(close, lengthSMA2)
//plot(SMA2, color=#9803f5, linewidth=1, title="SMA500")


//Entry Logic
Long_cond = (rsi_overs and SMA1 > SMA2 and Volume_condt )  

if Long_cond
    strategy.entry('Long', strategy.long)

//Close Logic
Long_close = ta.crossunder(SMA1,SMA2)

if Long_close
    strategy.close("Long")

//Bar colors
Bar_color = Volume_condt ? #fc9802 : SMA1 > SMA2 ? color.rgb(84, 252, 0) : SMA1 < SMA2 ? color.maroon : color.gray
barcolor(color=Bar_color)

// Rsi value Plotshapes
plotshape(rsi_value < 30 and SMA1 > SMA2 and Volume_condt, title='Buy', color=color.new(color.green, 0), style=shape.circle, location=location.belowbar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(rsi_value > 70 and SMA1 < SMA2 and Volume_condt, title='Sell', color=color.new(color.red, 0), style=shape.circle, location=location.abovebar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(ta.crossunder(SMA1,SMA2) , title='DEATH CROSS', color=#000000, style=shape.xcross, location=location.abovebar, size=size.small, textcolor=color.new(color.black, 0))

//Stop-Loss// this code is from author RafaelZioni, modified by wielkieef
pera(pcnt) =>
    strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5.0, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)




// by wielkieef

Berkaitan

Lebih lanjut