Sumber dimuat naik... memuat...

Trend purata bergerak berganda mengikut strategi dengan penapis RSI

Penulis:ChaoZhang, Tarikh: 2024-07-29 16:45:59
Tag:SMARSISLTP

img

Ringkasan

Strategi ini adalah sistem perdagangan trend yang menggabungkan Purata Bergerak Sederhana (SMA) dengan Indeks Kekuatan Relatif (RSI). Ia terutamanya menggunakan SMA 200-periode untuk mengenal pasti trend menaik dan menggunakan RSI sebagai penapis untuk mengoptimumkan masa kemasukan. Strategi ini juga menggabungkan mekanisme mengambil keuntungan dan menghentikan kerugian untuk mengawal risiko dan mengunci keuntungan.

Prinsip Strategi

Logik teras strategi ini merangkumi elemen utama berikut:

  1. Pengesanan Trend: Menggunakan SMA 200 tempoh sebagai penunjuk trend jangka panjang. Apabila harga melintasi di atas dan kekal di atas SMA, ia dianggap sebagai aliran menaik berpotensi.

  2. Pengesahan kemasukan: Memerlukan harga untuk kekal di atas SMA selama sekurang-kurangnya 30 tempoh berturut-turut (minit) untuk memastikan kestabilan trend.

  3. Penapis RSI: Menggunakan penunjuk RSI 14 tempoh, membenarkan kemasukan hanya apabila RSI di bawah 30 (wilayah oversold), yang membantu menangkap peluang pemulihan yang berpotensi.

  4. Pengurusan Risiko: Tetapkan tahap stop-loss 0.5% untuk mengehadkan kerugian maksimum setiap perdagangan.

  5. Sasaran keuntungan: Tetapkan tahap keuntungan 2% untuk menutup kedudukan secara automatik apabila pulangan yang dijangkakan dicapai.

Proses pelaksanaan strategi adalah seperti berikut:

  • Buka kedudukan panjang apabila harga melintasi di atas 200 SMA dan kekal di atasnya selama lebih daripada 30 tempoh, sementara RSI di bawah 30.
  • Semasa tempoh pegangan, tutup kedudukan secara automatik jika harga mencapai 102% daripada harga kemasukan (ambil keuntungan) atau jatuh di bawah 99.5% daripada harga kemasukan (henti rugi).
  • Selepas menutup kedudukan, sistem menetapkan semula dan menunggu peluang masuk seterusnya yang memenuhi syarat.

Kelebihan Strategi

  1. Mengikuti Trend: Menggunakan SMA jangka panjang untuk menangkap trend utama, membantu mendapat keuntungan dalam pasaran menaik yang kuat.

  2. Pengoptimuman kemasukan: Memerlukan harga untuk kekal di atas SMA selama 30 tempoh membantu menapis pecah palsu, meningkatkan kualiti kemasukan.

  3. Penangkapan pembalikan: Menggabungkan keadaan oversold RSI membantu menangkap peluang rebound yang berpotensi pada permulaan trend.

  4. Kawalan Risiko: Menetapkan tahap stop-loss yang jelas dengan berkesan mengehadkan risiko maksimum untuk setiap perdagangan.

  5. Penguncian keuntungan: Tahap mengambil keuntungan yang telah ditetapkan memastikan penguncian keuntungan secara automatik apabila pulangan yang dijangkakan dicapai.

  6. Objektif: Peraturan strategi yang jelas mengurangkan kesan emosi penilaian subjektif.

  7. Berkuantifikasi: Parameter strategi boleh diuji semula dan dioptimumkan menggunakan data sejarah.

Risiko Strategi

  1. Penembusan palsu: Dalam pasaran sampingan atau bergolak, penembusan palsu yang kerap boleh menyebabkan kerugian berhenti berturut-turut.

  2. Lag: SMA sebagai penunjuk yang tertinggal mungkin kehilangan beberapa peluang pada awal trend atau mengekalkan kedudukan apabila trend berakhir.

  3. Batasan RSI: Keadaan RSI yang ketat mungkin kehilangan beberapa peluang kemasukan yang baik, terutamanya dalam aliran menaik yang kuat.

  4. Pendapatan Take-Profit dan Stop-Loss tetap: Peratusan yang ditetapkan mungkin tidak sesuai untuk semua keadaan pasaran dan mungkin diaktifkan terlalu awal di pasaran yang sangat tidak menentu.

  5. Satu Arah: Strategi hanya berlangsung lama, tidak dapat mendapat keuntungan dalam trend menurun.

  6. Sensitiviti Parameter: Prestasi strategi mungkin sensitif terhadap perubahan dalam tempoh SMA, tempoh pengesahan, dan tetapan RSI.

  7. Kesesuaian pasaran: Strategi mungkin berfungsi dengan baik di pasaran atau jangka masa tertentu tetapi mungkin tidak boleh digunakan untuk semua situasi.

Arahan Pengoptimuman Strategi

  1. Pendapatan dan Stop-Loss Dinamik: Pertimbangkan untuk menggunakan ATR (Rentang Benar Purata) untuk menetapkan tahap mengambil keuntungan dan stop-loss dinamik untuk menyesuaikan diri dengan keadaan turun naik pasaran yang berbeza.

  2. Pengesahan Pelbagai Jangka Masa: Memperkenalkan mekanisme pengesahan merentasi beberapa jangka masa, seperti memerlukan syarat untuk dipenuhi pada carta harian dan jam sebelum masuk, untuk meningkatkan kebolehpercayaan isyarat.

  3. Penapis Kekuatan Trend: Tambah ADX (Indeks Arah Purata) untuk mengukur kekuatan trend dan hanya masuk semasa trend yang kuat.

  4. Penyesuaian Volatiliti: Sesuaikan parameter secara dinamik berdasarkan turun naik pasaran, seperti meningkatkan tempoh pengesahan semasa turun naik rendah dan mengurangkannya semasa turun naik tinggi.

  5. Tambah Mekanisme Jualan Pendek: Pertimbangkan jualan pendek apabila harga jatuh di bawah SMA dan RSI terlalu banyak dibeli, yang membolehkan strategi mendapat keuntungan dalam kedua-dua arah.

  6. Mengoptimumkan Penggunaan RSI: Pertimbangkan untuk menggunakan perbezaan RSI atau menggabungkannya dengan penunjuk lain (seperti MACD) untuk meningkatkan kebolehpercayaan isyarat kemasukan.

  7. Memperkenalkan Pengesahan Volume: Tambah analisis jumlah untuk memastikan pecah atau pembalikan disokong oleh jumlah perdagangan yang mencukupi.

  8. Penapis Masa: Tambah penapis masa untuk mengelakkan perdagangan semasa tempoh kecairan yang rendah.

  9. Pengurusan Wang Optimum: Melaksanakan saiz kedudukan dinamik, menyesuaikan pendedahan risiko untuk setiap perdagangan berdasarkan saiz akaun dan turun naik pasaran.

  10. Meningkatkan Gabungan Indikator: Pertimbangkan untuk menggabungkan penunjuk teknikal lain seperti Bollinger Bands dan retracement Fibonacci untuk membina sistem perdagangan yang lebih komprehensif.

Kesimpulan

Strategi Dual Moving Average Trend Following Strategy with RSI Filter adalah strategi perdagangan kuantitatif yang menggabungkan trend-mengikuti dan idea pembalikan momentum. Dengan menggunakan SMA 200-periode untuk mengenal pasti trend jangka panjang dan menggabungkan keadaan oversold RSI untuk mengoptimumkan masa kemasukan, strategi ini bertujuan untuk menangkap peluang rebound yang berpotensi dalam aliran naik yang kuat. Mekanisme mengambil keuntungan dan menghentikan kerugian terbina dalam membantu mengawal risiko dan mengunci keuntungan, menjadikannya sistem perdagangan yang agak komprehensif.

Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti terdedah kepada pecah palsu dan terhad kepada perdagangan panjang sahaja. Untuk meningkatkan lagi ketahanan dan daya adaptasi strategi, disyorkan untuk mempertimbangkan pengenalan tahap mengambil keuntungan dan stop-loss yang dinamik, pengesahan pelbagai jangka masa, penapisan kekuatan trend, dan langkah pengoptimuman lain. Di samping itu, menambahkan mekanisme penjualan pendek dan mengoptimumkan strategi pengurusan wang dapat meningkatkan prestasi keseluruhan sistem dengan ketara.

Ringkasnya, strategi ini menyediakan titik permulaan yang baik untuk mengikuti trend dan perdagangan momentum. Melalui pengujian belakang, pengoptimuman, dan pengesahan perdagangan langsung yang berterusan, peniaga dapat memperbaiki dan menyesuaikan strategi ini berdasarkan persekitaran pasaran tertentu dan keutamaan risiko individu untuk mencapai hasil perdagangan yang lebih baik.


/*backtest
start: 2024-07-21 00:00:00
end: 2024-07-28 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA 200 with RSI Filter", overlay=true)

// Inputs
smaLength = input.int(200, title="SMA Length")
confirmBars = input.int(30, title="Confirmation Bars (30 minutes)")
takeProfitPerc = input.float(2.0, title="Take Profit (%)", step=0.1) / 100
stopLossPerc = input.float(0.5, title="Stop Loss (%)", step=0.1) / 100
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")

// Calculate SMA
sma = ta.sma(close, smaLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Buy condition
priceAboveSMA = close > sma
aboveSMAcount = ta.barssince(priceAboveSMA == false)
rsiCondition = rsi < rsiOversold
enterLongCondition = priceAboveSMA and aboveSMAcount >= confirmBars and rsiCondition

// Track entry price for calculating take profit and stop loss levels
var float entryPrice = na
if (enterLongCondition and na(entryPrice))
    entryPrice := close

// Ensure the entryPrice is only set when a position is opened
if (strategy.opentrades == 0)
    entryPrice := na

takeProfitLevel = entryPrice * (1 + takeProfitPerc)
stopLossLevel = entryPrice * (1 - stopLossPerc)

// Exit conditions
takeProfitCondition = close >= takeProfitLevel
stopLossCondition = close <= stopLossLevel

// Plot SMA and RSI
plot(sma, title="SMA 200", color=color.blue)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

// Plot shapes for entries and exits
plotshape(series=enterLongCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=takeProfitCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="TP")
plotshape(series=stopLossCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SL")

// Strategy entry and exit
if (enterLongCondition)
    strategy.entry("Long", strategy.long, comment="SMA200LE")

if (takeProfitCondition or stopLossCondition)
    strategy.close("Long", when=takeProfitCondition or stopLossCondition)

// Reset entry price after position is closed
if (strategy.position_size == 0)
    entryPrice := na


Berkaitan

Lebih lanjut