Strategi dagangan kuantitatif lanjutan perbezaan RSI dan gabungan purata bergerak

RSI MA BB SMA EMA SMMA WMA VWMA
Tarikh penciptaan: 2024-06-28 15:02:37 Akhirnya diubah suai: 2024-06-28 15:02:37
Salin: 0 Bilangan klik: 910
1
fokus pada
1617
Pengikut

Strategi dagangan kuantitatif lanjutan perbezaan RSI dan gabungan purata bergerak

Gambaran keseluruhan

Ini adalah strategi dagangan kuantitatif yang lebih tinggi berdasarkan pada penunjuk yang agak kuat (RSI) yang berlainan dan pelbagai kombinasi garis rata. Strategi ini digunakan terutamanya untuk perdagangan garis pendek, menangkap titik-titik perubahan yang berpotensi dengan mengenal pasti pengalihan antara RSI dan harga. Strategi ini menggabungkan RSI, pelbagai jenis purata bergerak, dan Brin-band, untuk menyediakan pedagang dengan kerangka analisis teknikal yang komprehensif.

Di tengah-tengah strategi ini adalah menggunakan RSI deviation untuk mengenal pasti potensi keadaan overbought dan oversold. Ia mengesan deviation dengan membandingkan RSI dengan harga yang tinggi dan rendah, dan digabungkan dengan tahap RSI untuk menentukan masa masuk. Di samping itu, strategi ini juga menggabungkan pelbagai jenis garis rata seperti purata bergerak sederhana (SMA), purata bergerak indeks (EMA), purata bergerak licin (SMMA) dan lain-lain untuk memberikan isyarat pengesahan trend tambahan.

Prinsip Strategi

  1. Pengiraan RSI: Pengiraan nilai RSI menggunakan kitaran RSI yang boleh disesuaikan (default 60).

  2. Garis rata RSI: Garis rata bergerak untuk aplikasi RSI, menyokong pelbagai jenis garis rata, termasuk SMA, EMA, SMMA, WMA dan VWMA.

  3. Meninggalkan ujian:

    • Penglihatan berbalik: Ia terbentuk apabila harga berinovasi rendah tetapi RSI tidak berinovasi rendah.
    • Penurunan: Ia berlaku apabila harga berinovasi tinggi tetapi RSI tidak berinovasi tinggi
  4. Syarat penyertaan:

    • Permulaan berbilang kepala: muncul peninjau yang tersesat dan RSI di bawah 40 .
    • Kemasukan kosong: terdapat penurunan dan RSI lebih tinggi daripada 60.
  5. Pengurusan urus niaga:

    • Hentikan Kerosakan: Tetapkan sebagai nombor tetap (default 11 points) [2].
    • Hentikan: ditetapkan sebagai nilai tetap (default 33 poin) [2].
  6. Untuk dilihat:

    • Menggambar garis RSI dan garis rata RSI.
    • RSI 30, 50, 70 menunjukkan garis horizontal.
    • Pilihan untuk memaparkan pita Brin.
    • Tanda pada carta adalah berlainan daripada kedudukan.

Kelebihan Strategik

  1. Analisis komprehensif pelbagai indikator: menggabungkan RSI, purata bergerak dan Brinks, untuk memberikan pandangan pasaran yang menyeluruh.

  2. Tetapan parameter yang fleksibel: membolehkan pengguna menyesuaikan parameter seperti panjang RSI, jenis garis purata dan sebagainya mengikut keadaan pasaran yang berbeza.

  3. Identifikasi ketidakselarasan: Menangkap peluang untuk berbalik dengan mengenal pasti ketidakselarasan antara RSI dan harga.

  4. Pengurusan risiko: Pembangunan dalaman untuk menghentikan dan menghentikan kerosakan untuk mengawal risiko.

  5. Kesan visual: menunjukkan isyarat perdagangan dan penyimpangan secara intuitif pada carta.

  6. Kebolehsuaian: boleh digunakan untuk pelbagai jenis transaksi dan jangka masa.

  7. Perdagangan automatik: Ia mudah diintegrasikan ke dalam sistem perdagangan automatik.

Risiko Strategik

  1. Risiko isyarat palsu: Dalam pasaran setapak, mungkin terdapat banyak isyarat palsu yang menyimpang.

  2. Ketinggalan: RSI dan garis purata adalah penunjuk ketinggalan, yang boleh menyebabkan sedikit kelewatan masa masuk.

  3. Terlalu banyak dagangan: Dalam pasaran yang bergolak, terlalu banyak isyarat dagangan mungkin berlaku.

  4. Sensitiviti parameter: Prestasi strategi sangat bergantung pada tetapan parameter, dan mungkin memerlukan pengoptimuman yang berbeza untuk pasaran yang berbeza.

  5. Performance dalam pasaran trend: Dalam pasaran trend yang kuat, pelarian dari strategi mungkin sering berdagang ke arah yang berlawanan.

  6. Risiko Hentian Tetap: Menggunakan nilai tetap sebagai hentian mungkin tidak sesuai untuk semua keadaan pasaran.

Arah pengoptimuman strategi

  1. Memperkenalkan penapis trend: Tambahkan purata bergerak jangka panjang atau petunjuk ADX untuk mengelakkan dagangan berlawanan semasa trend yang kuat.

  2. Hentian dinamik: menggunakan ATR atau peratusan kadar turun naik untuk menetapkan hentian dinamik untuk menyesuaikan diri dengan turun naik pasaran yang berbeza.

  3. Analisis pelbagai bingkai masa: menggabungkan isyarat dari bingkai masa yang lebih tinggi untuk mengesahkan arah perdagangan.

  4. Menambah analisis kuantiti urus niaga: mempertimbangkan indikator kuantiti urus niaga untuk meningkatkan kebolehpercayaan isyarat.

  5. Optimumkan masa kemasukan: pertimbangkan untuk menggunakan corak tingkah laku harga atau bentuk grafik untuk kemasukan tepat.

  6. Pengoptimuman pembelajaran mesin: menggunakan algoritma pembelajaran mesin untuk mengoptimumkan pemilihan parameter dan penjanaan isyarat.

  7. Tambah syarat penyaringan: Tambah petunjuk teknikal tambahan atau faktor asas untuk menyaring isyarat dagangan.

ringkaskan

Strategi perdagangan kuantitatif yang lebih tinggi berdasarkan RSI deviasi dan pelbagai kombinasi garis rata memberikan pedagang dengan kerangka analisis yang kuat dan fleksibel. Dengan menggabungkan RSI deviasi, pelbagai jenis garis rata dan Brinks, strategi ini dapat menangkap potensi perubahan pasaran dan memberikan isyarat pengesahan trend.

Kelebihan utama strategi ini adalah keserasian dan fleksibiliti yang dapat menyesuaikan diri dengan keadaan pasaran yang berbeza. Walau bagaimanapun, pengguna perlu berhati-hati terhadap risiko yang berpotensi seperti isyarat palsu dan kemungkinan perdagangan berlebihan. Dengan pengoptimuman berterusan dan pengenalan alat analisis tambahan, strategi ini berpotensi menjadi sistem perdagangan yang boleh dipercayai.

Kuncinya adalah untuk menyesuaikan parameter mengikut jenis perdagangan dan keadaan pasaran tertentu, dan untuk mengesahkan isyarat dalam kombinasi dengan kaedah analisis lain. Di samping itu, pengurusan risiko yang ketat dan pengoptimuman strategi yang berterusan adalah faktor penting untuk memastikan kejayaan jangka panjang.

Kod sumber strategi
/*backtest
start: 2024-05-28 00:00:00
end: 2024-06-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Advanced Gold Scalping Strategy with RSI Divergence", overlay=false)

// Input parameters
rsiLengthInput = input.int(60, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(ohlc4, "Source", group="RSI Settings")
maTypeInput = input.string("SMMA (RMA)", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(3, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")
showDivergence = input(true, title="Show Divergence", group="RSI Settings")
stopLoss = input.float(11, title="Stop Loss (pips)", group="Trade Settings")
takeProfit = input.float(33, title="Take Profit (pips)", group="Trade Settings")

// RSI and MA calculation
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

// Divergence detection
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5

plFound = na(ta.pivotlow(rsi, lookbackLeft, lookbackRight)) ? false : true
phFound = na(ta.pivothigh(rsi, lookbackLeft, lookbackRight)) ? false : true

_inRange(cond) =>
    bars = ta.barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

// Bullish divergence
rsiHL = rsi[lookbackRight] > ta.valuewhen(plFound, rsi[lookbackRight], 1) and _inRange(plFound[1])
priceLL = low[lookbackRight] < ta.valuewhen(plFound, low[lookbackRight], 1)
bullishDivergence = priceLL and rsiHL and plFound

// Bearish divergence
rsiLH = rsi[lookbackRight] < ta.valuewhen(phFound, rsi[lookbackRight], 1) and _inRange(phFound[1])
priceHH = high[lookbackRight] > ta.valuewhen(phFound, high[lookbackRight], 1)
bearishDivergence = priceHH and rsiLH and phFound

// Entry conditions
longCondition = bullishDivergence and rsi < 40
shortCondition = bearishDivergence and rsi > 60

// Convert pips to price for Gold (assuming 1 pip = 0.1 for XAUUSD)
stopLossPrice = stopLoss * 0.1
takeProfitPrice = takeProfit * 0.1

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", "Long", stop=strategy.position_avg_price - stopLossPrice, limit=strategy.position_avg_price + takeProfitPrice)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", "Short", stop=strategy.position_avg_price + stopLossPrice, limit=strategy.position_avg_price - takeProfitPrice)

// Plotting
plot(rsi, "RSI", color=#7E57C2)
// plot(rsiMA, "RSI-based MA", color=color.yellow)
hline(60, "RSI Upper Band", color=#787B86)
// hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
hline(40, "RSI Lower Band", color=#787B86)
fill(hline(60), hline(40), color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")

// Divergence visualization
plotshape(showDivergence and bullishDivergence ? rsi[lookbackRight] : na, offset=-lookbackRight, title="Bullish Divergence", text="Bull", style=shape.labelup, location=location.absolute, color=color.green, textcolor=color.white)
plotshape(showDivergence and bearishDivergence ? rsi[lookbackRight] : na, offset=-lookbackRight, title="Bearish Divergence", text="Bear", style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white)