Purata Pergerakan dan Strategi Perdagangan Gabungan RSI

MA DEMA RSI
Tarikh penciptaan: 2024-04-30 16:31:24 Akhirnya diubah suai: 2024-04-30 16:31:24
Salin: 4 Bilangan klik: 369
1
fokus pada
1219
Pengikut

Purata Pergerakan dan Strategi Perdagangan Gabungan RSI

Gambaran keseluruhan

Strategi ini menggabungkan beberapa purata bergerak dan indeks yang agak kuat (RSI) untuk menghasilkan isyarat perdagangan. Ia menggunakan purata bergerak dari empat kitaran yang berbeza pada hari ke-9, ke-21, ke-25 dan ke-99 untuk menentukan arah trend dengan menyeberang di antara mereka.

Strategi utama strategi ini adalah menggunakan ciri-ciri trend dari purata bergerak berkala yang berbeza untuk menilai trend utama pasaran melalui susunan multi-kepala dan susunan kosong mereka. Rata-rata jangka pendek ke atas melintasi rata-rata jangka panjang dianggap sebagai isyarat bullish, sebaliknya dianggap sebagai isyarat bearish.

Prinsip Strategi

  1. Hitung purata bergerak sederhana untuk empat kitaran yang berbeza iaitu 9, 21, 25 dan 99 hari.
  2. Untuk menilai persilangan garis purata 9 hari dan garis purata 21 hari, apabila garis purata 9 hari melintasi garis purata 21 hari ke atas, menghasilkan isyarat ganda; apabila garis purata 9 hari melintasi garis purata 21 hari ke bawah, menghasilkan isyarat kosong.
  3. Untuk menilai persilangan garis purata 25 hari dan garis purata 99 hari, apabila garis purata 25 hari melintasi garis purata 99 hari ke atas, menghasilkan isyarat banyak; apabila garis purata 25 hari melintasi garis purata 99 hari ke bawah, menghasilkan isyarat kosong.
  4. Untuk mengira RSI 14 hari, pasaran berada dalam keadaan overbought apabila RSI lebih besar daripada 70; pasaran berada dalam keadaan oversold apabila RSI kurang daripada 30.
  5. Kombinasi isyarat silang purata bergerak dan isyarat RSI menghasilkan isyarat dagangan akhir:
    • Apabila garis purata 9 hari melintasi garis purata 21 hari ke atas, dan RSI lebih besar daripada 70, membuka kedudukan kosong;
    • Apabila 9 hari rata-rata ke bawah melintasi 21 hari rata-rata, dan RSI adalah kurang daripada 30, untuk membuka kedudukan lebih;
    • Apabila 25 hari rata-rata melintasi 99 hari rata-rata ke atas, dan RSI lebih besar daripada 70, anda boleh membuka kedudukan tambahan;
    • Apabila garis purata 25 hari melintasi garis purata 99 hari ke bawah, dan RSI kurang daripada 30, kosongkan kedudukan.
  6. Isyarat persilangan purata bergerak juga digunakan untuk kedudukan rata, apabila persilangan rata yang sesuai berlaku, kedudukan sebelumnya dihapuskan.

Analisis kelebihan

  1. Pengesanan Trend: Strategi ini memanfaatkan ciri-ciri trend dari purata bergerak berkala yang berbeza untuk menilai trend utama pasaran melalui susunan multi-kepala dan susunan kosong mereka, yang membantu memahami arah besar pasaran.
  2. Penapisan bunyi bising: Strategi ini menggunakan purata bergerak dari beberapa kitaran yang berbeza berbanding dengan menggunakan purata bergerak tunggal, yang membantu menapis bunyi bising jangka pendek dan meningkatkan kebolehpercayaan isyarat.
  3. Penghakiman emosi: Pengenalan RSI sebagai penghakiman tambahan, memberi isyarat pembalikan apabila sentimen pasaran terlalu optimis atau pesimistis, dapat mencegah strategi dari pengunduran besar dalam keadaan pasaran yang melampau.
  4. Logik yang jelas: Logik urus niaga strategi adalah ringkas, mudah difahami dan dilaksanakan.
  5. Adaptif: Strategi ini dapat menyesuaikan diri dengan keadaan pasaran yang berbeza dan jenis perdagangan dengan menyesuaikan kitaran purata bergerak dan parameter RSI.

Analisis risiko

  1. Sensitiviti parameter: Prestasi strategi mungkin lebih sensitif kepada pilihan kitaran rata-rata bergerak dan parameter RSI, dan parameter yang berbeza mungkin menyebabkan perbezaan dalam prestasi strategi.
  2. Penarikan trend: Rata-rata bergerak pada dasarnya adalah penarikan, dan penarikan mungkin berlaku pada titik perubahan pasaran, yang menyebabkan peluang perdagangan yang hilang atau menghasilkan isyarat yang salah.
  3. Performa yang kurang baik dalam pasaran yang bergolak: Dalam pasaran yang bergolak, persilangan garis rata yang kerap boleh menyebabkan strategi menghasilkan lebih banyak isyarat perdagangan, dan mungkin kurang baik.
  4. Kejadian Black Swan: Strategi ini dibuat berdasarkan data sejarah dan mungkin kurang responsif terhadap beberapa kejadian Black Swan yang berlaku secara tiba-tiba.

Arah pengoptimuman

  1. Pengoptimuman parameter: pengoptimuman parameter untuk tempoh purata bergerak dan RSI untuk mencari kombinasi parameter yang terbaik dalam pasaran tertentu. Kaedah pengoptimuman seperti algoritma genetik boleh digunakan untuk mencari parameter yang optimum secara automatik.
  2. Penapisan isyarat: berdasarkan isyarat persilangan linear dan RSI, penapisan kedua dilakukan untuk memperkenalkan petunjuk teknikal lain atau pola tingkah laku harga, meningkatkan ketepatan isyarat. Sebagai contoh, ia boleh digabungkan dengan petunjuk seperti Bollinger Bands, MACD.
  3. Pengurusan Kedudukan: Mengenaikan konsep pengurusan kedudukan berdasarkan strategi semasa, menyesuaikan saiz kedudukan mengikut kekuatan dan dinamika pasti trend pasaran, untuk mengawal risiko dan meningkatkan keuntungan.
  4. Hentikan Kerosakan: Memperkenalkan mekanisme hentikan dan hentikan, terutamanya hentikan turun naik atau hentikan pengesanan, untuk mengawal had risiko maksimum untuk perdagangan tunggal.
  5. Penyesuaian pelbagai pasaran: mengembangkan strategi ke pelbagai pasaran dan jenis, menangkap peluang perdagangan di pasaran yang berbeza dengan penyesuaian parameter dan kawalan risiko yang sesuai.

ringkaskan

Strategi ini menggabungkan purata bergerak dan indikator RSI dari pelbagai kitaran, membentuk strategi perdagangan yang mengesan trend dan penilaian emosi. Kelebihannya adalah jelas logik, beradaptasi kuat, dan dapat menangkap trend pasaran dengan lebih baik melalui kombinasi garis seragam. Tetapi pada masa yang sama, terdapat risiko sensitif parameter, pengesanan trend, ketidakseimbangan pasaran yang kurang baik.

Kod sumber strategi
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia de Médias Móveis e RSI (por Svitorino_trade)", shorttitle="Estratégia-Médias Móveis", overlay=true)

len1 = input.int(9, minval=1, title="Length 1")
len2 = input.int(21, minval=1, title="Length 2")
len3 = input.int(25, minval=1, title="Length 3")
len4 = input.int(99, minval=1, title="Length 4")
rsi_length = input.int(14, minval=1, title="RSI Length")
rsi_oversold = input.float(30, minval=0, maxval=100, title="RSI Oversold Level")
rsi_overbought = input.float(70, minval=0, maxval=100, title="RSI Overbought Level")

src = input(close, title="Source")

ama(src, length) =>
    sum = 0.0
    for i = 0 to length - 1
        sum := sum + src[i]
    sum / length

avg1 = ama(src, len1)
avg2 = ama(src, len2)
avg3 = ama(src, len3)
avg4 = ama(src, len4)

rsi_value = ta.rsi(src, rsi_length)

// Condições de entrada e saída para períodos de 9 e 21
cruzamento_9_21_acima = avg1 > avg2 and avg1[1] <= avg2[1]
cruzamento_9_21_abaixo = avg1 < avg2 and avg1[1] >= avg2[1]

// Condições de entrada e saída para períodos de 25 e 99
cruzamento_25_99_acima = avg3 > avg4 and avg3[1] <= avg4[1]
cruzamento_25_99_abaixo = avg3 < avg4 and avg3[1] >= avg4[1]

// Plotando os sinais de entrada e saída
plotshape(series=cruzamento_9_21_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_9_21_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)
plotshape(series=cruzamento_25_99_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_25_99_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)

// Entradas e saídas para períodos de 9 e 21
if cruzamento_9_21_acima and rsi_value > rsi_overbought
    strategy.entry("Venda Curta", strategy.short)
if cruzamento_9_21_abaixo and rsi_value < rsi_oversold
    strategy.entry("Compra Curta", strategy.long)
if cruzamento_9_21_acima
    strategy.close("Compra Curta")
if cruzamento_9_21_abaixo
    strategy.close("Venda Curta")

// Entradas e saídas para períodos de 25 e 99
if cruzamento_25_99_acima and rsi_value > rsi_overbought
    strategy.entry("Compra Forte", strategy.long)
if cruzamento_25_99_abaixo and rsi_value < rsi_oversold
    strategy.entry("Venda Forte", strategy.short)
if cruzamento_25_99_acima
    strategy.close("Venda Forte")
if cruzamento_25_99_abaixo
    strategy.close("Compra Forte")