Sumber dimuat naik... memuat...

Strategi Isyarat Pendek Panjang berasaskan QQE dan RSI

Penulis:ChaoZhang, Tarikh: 2024-05-27 15:17:45
Tag:RSIQQE

img

Ringkasan

Strategi ini berdasarkan kepada penunjuk QQE dan penunjuk RSI. Ia mengira purata bergerak yang halus dan julat osilasi dinamik penunjuk RSI untuk membina selang isyarat panjang-pendek. Apabila penunjuk RSI memecahkan rel atas, ia menghasilkan isyarat panjang, dan apabila ia memecahkan rel bawah, ia menghasilkan isyarat pendek. Idea utama strategi adalah menggunakan ciri-ciri trend penunjuk RSI dan ciri-ciri turun naik penunjuk QQE untuk menangkap perubahan dalam trend pasaran dan peluang turun naik.

Prinsip Strategi

  1. Mengira purata bergerak rata-rata RsiMa penunjuk RSI sebagai asas untuk menilai trend.
  2. Mengira nilai penyimpangan mutlak AtrRsi dari penunjuk RSI dan purata bergeraknya yang dihaluskan MaAtrRsi sebagai asas untuk menilai turun naik.
  3. Hitung julat osilasi dinamik dar mengikut faktor QQE, dan gabungkan dengan RsiMa untuk membina selang isyarat panjang-pendek jalur panjang dan jalur pendek.
  4. Menghakimi hubungan antara penunjuk RSI dan selang isyarat panjang-pendek. Apabila penunjuk RSI melintasi di atas jalur panjang, ia menghasilkan isyarat panjang, dan apabila ia melintasi di bawah jalur pendek, ia menghasilkan isyarat pendek.
  5. Melakukan perdagangan mengikut isyarat panjang-pendek. Apabila isyarat panjang dicetuskan, buka kedudukan panjang, dan apabila isyarat pendek dicetuskan, tutup kedudukan.

Kelebihan Strategi

  1. Ia menggabungkan ciri-ciri penunjuk RSI dan penunjuk QQE, yang dapat menangkap lebih baik trend pasaran dan peluang turun naik.
  2. Ia menggunakan julat osilasi dinamik untuk membina selang isyarat, yang boleh menyesuaikan diri dengan perubahan dalam turun naik pasaran.
  3. Ia meratakan penunjuk RSI dan julat turun naik, secara berkesan mengurangkan gangguan bunyi bising dan perdagangan yang kerap.
  4. Logiknya jelas, dengan lebih sedikit parameter, dan sesuai untuk pengoptimuman dan penambahbaikan lanjut.

Risiko Strategi

  1. Untuk pasaran yang tidak menentu dan pasaran dengan turun naik yang rendah, prestasi strategi ini mungkin tidak ideal.
  2. Ia tidak mempunyai mekanisme stop-loss yang jelas dan mungkin menghadapi risiko pengeluaran yang lebih besar apabila pasaran tiba-tiba berbalik.
  3. Tetapan parameter mempunyai kesan yang lebih besar terhadap prestasi strategi dan perlu disesuaikan mengikut pasaran dan jenis yang berbeza.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan mekanisme stop-loss yang jelas, seperti stop-loss peratusan tetap, ATR stop-loss, dan lain-lain, untuk mengawal risiko pengambilan.
  2. Mengoptimumkan tetapan parameter. Gabungan parameter yang optimum boleh dijumpai melalui algoritma genetik, carian grid dan kaedah lain.
  3. Pertimbangkan untuk memperkenalkan penunjuk lain seperti jumlah dagangan dan jumlah kedudukan untuk memperkaya isyarat dagangan dan meningkatkan kestabilan strategi.
  4. Untuk pasaran yang tidak menentu, pertimbangkan untuk memperkenalkan perdagangan julat atau logika perdagangan ayunan untuk meningkatkan kesesuaian strategi.

Ringkasan

Strategi ini membina isyarat panjang-pendek berdasarkan penunjuk RSI dan penunjuk QQE, dan mempunyai ciri menangkap trend dan memahami turun naik. Logik strategi jelas, dengan lebih sedikit parameter, dan sesuai untuk pengoptimuman dan penambahbaikan lanjut. Walau bagaimanapun, strategi ini juga mempunyai risiko tertentu, seperti kawalan pengeluaran dan penetapan parameter, yang perlu ditingkatkan lagi. Pada masa akan datang, strategi dapat dioptimumkan dari aspek seperti mekanisme stop-loss, pengoptimuman parameter, pengayaan isyarat, dan kesesuaian dengan pasaran yang berbeza, untuk meningkatkan ketahanan dan keuntungan 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)
    


Berkaitan

Lebih lanjut