Strategi sinyal panjang dan pendek berdasarkan indikator QQE dan indikator RSI

RSI QQE
Tanggal Pembuatan: 2024-05-27 15:17:45 Akhirnya memodifikasi: 2024-05-27 15:17:45
menyalin: 0 Jumlah klik: 830
1
fokus pada
1617
Pengikut

Strategi sinyal panjang dan pendek berdasarkan indikator QQE dan indikator RSI

Ringkasan

Strategi ini didasarkan pada indikator QQE dan indikator RSI, dengan menghitung rata-rata bergerak halus dan amplitudo gesekan dinamis indikator RSI, untuk membangun ruang sinyal polygon. Ketika indikator RSI menerobos ke orbit, sinyal polygon dihasilkan, dan ketika indikator RSI menerobos ke orbit, sinyal negasi dihasilkan.

Prinsip Strategi

  1. Perhitungan rata-rata bergerak rata-rata RSI, RsiMa, sebagai dasar untuk menilai tren.
  2. Menghitung nilai absolut deviasi AttrRsi dari indikator RSI, dan menghitung rata-rata bergerak halus MaAtrRsi, sebagai dasar untuk menilai fluktuasi
  3. Dari faktor QQE dihitung amplitudo getaran dinamis dar, dan dikombinasikan dengan RsiMa, untuk membangun longband dan shortband antara sinyal multi-ruang.
  4. Untuk menilai hubungan antara indikator RSI dan sinyal longband, indikator RSI menghasilkan sinyal longband saat melewati band panjang, dan sinyal shortband saat melewati band pendek.
  5. Perdagangan berdasarkan sinyal kosong, buka posisi saat sinyal kosong, buka posisi saat sinyal kosong.

Keunggulan Strategis

  1. Ini menggabungkan karakteristik RSI dan QQE untuk menangkap tren pasar dan peluang volatilitas.
  2. Menggunakan amplitudo getaran yang dinamis untuk membangun interval sinyal yang dapat beradaptasi dengan perubahan volatilitas pasar.
  3. Pengolahan RSI dan amplitudo fluktuasi yang halus, efektif mengurangi gangguan kebisingan dan perdagangan yang sering.
  4. Logika yang jelas, parameter yang lebih sedikit, cocok untuk optimasi dan perbaikan lebih lanjut.

Risiko Strategis

  1. Strategi ini mungkin tidak bekerja dengan baik untuk pasar yang bergolak dan kurang berfluktuasi.
  2. Kurangnya mekanisme penghentian kerugian yang jelas dapat menyebabkan risiko penarikan yang lebih besar jika pasar tiba-tiba berbalik.
  3. Pengaturan parameter memiliki pengaruh besar terhadap kinerja strategi, yang perlu disesuaikan dengan pasar dan varietas yang berbeda.

Arah optimasi strategi

  1. Memperkenalkan mekanisme penghentian kerugian yang jelas, seperti penghentian persentase tetap, penghentian ATR, dan sebagainya, untuk mengendalikan risiko penarikan.
  2. Pengaturan parameter yang dioptimalkan, dapat mencari kombinasi parameter yang optimal melalui algoritma genetik, pencarian grid, dll.
  3. Pertimbangkan untuk memperkenalkan indikator lain seperti volume perdagangan, volume kepemilikan, dan lain-lain untuk memperkaya sinyal perdagangan dan meningkatkan stabilitas strategi.
  4. Untuk pasar yang bergoyang, pertimbangkan untuk memperkenalkan logika perdagangan jangkauan atau operasi bandwidth untuk meningkatkan fleksibilitas strategi.

Meringkaskan

Strategi ini didasarkan pada indikator RSI dan indikator QQE untuk membangun sinyal multi-kamar, dengan karakteristik menangkap tren dan menangkap fluktuasi. Logika strategi jelas, parameter yang lebih sedikit, cocok untuk pengoptimalan dan perbaikan lebih lanjut. Namun, strategi ini juga memiliki risiko tertentu, seperti pengendalian penarikan balik, pengaturan parameter, dll.

Kode Sumber Strategi
/*backtest
start: 2023-05-21 00:00:00
end: 2024-05-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=4
// modified by swigle
// thanks colinmck

strategy("QQE signals bot", overlay=true)


RSI_Period = input(14, title='RSI Length')
SF = input(5, title='RSI Smoothing')
QQE = input(4.236, title='Fast QQE Factor')
ThreshHold = input(10, title="Thresh-hold")

src = close
Wilders_Period = RSI_Period * 2 - 1

Rsi = rsi(src, RSI_Period)
RsiMa = ema(Rsi, SF)
AtrRsi = abs(RsiMa[1] - RsiMa)
MaAtrRsi = ema(AtrRsi, Wilders_Period)
dar = ema(MaAtrRsi, Wilders_Period) * QQE

longband = 0.0
shortband = 0.0
trend = 0

DeltaFastAtrRsi = dar
RSIndex = RsiMa
newshortband = RSIndex + DeltaFastAtrRsi
newlongband = RSIndex - DeltaFastAtrRsi
longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? max(longband[1], newlongband) : newlongband
shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? min(shortband[1], newshortband) : newshortband
cross_1 = cross(longband[1], RSIndex)
trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1)
FastAtrRsiTL = trend == 1 ? longband : shortband

// Find all the QQE Crosses

QQExlong = 0
QQExlong := nz(QQExlong[1])
QQExshort = 0
QQExshort := nz(QQExshort[1])
QQExlong := FastAtrRsiTL < RSIndex ? QQExlong + 1 : 0
QQExshort := FastAtrRsiTL > RSIndex ? QQExshort + 1 : 0

//Conditions

qqeLong = QQExlong == 1 ? FastAtrRsiTL[1] - 50 : na
qqeShort = QQExshort == 1 ? FastAtrRsiTL[1] - 50 : na

// Plotting

plotshape(qqeLong, title="QQE long", text="Long", textcolor=color.white, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(qqeShort, title="QQE short", text="Short", textcolor=color.white, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny)

// trade

//if qqeLong > 0
strategy.entry("buy long", strategy.long, 100, when=qqeLong)
    
if qqeShort > 0
    strategy.close("buy long")
    // strategy.exit("close_position", "buy long", loss=1000)
    // strategy.entry("sell", strategy.short, 1, when=strategy.position_size > 0)