Sistem perdagangan adaptif pintar berdasarkan momentum RSI dan henti untung dan henti rugi berbilang peringkat

RSI
Tarikh penciptaan: 2024-11-12 16:12:36 Akhirnya diubah suai: 2024-11-12 16:12:36
Salin: 0 Bilangan klik: 378
1
fokus pada
1617
Pengikut

Sistem perdagangan adaptif pintar berdasarkan momentum RSI dan henti untung dan henti rugi berbilang peringkat

Gambaran keseluruhan

Strategi ini adalah sistem dagangan yang beradaptasi berdasarkan indeks yang agak kuat ((RSI) untuk menangkap perubahan dinamik pasaran dengan memantau kawasan overbought dan oversold dalam RSI. Sistem ini mengintegrasikan mekanisme pengurusan kedudukan pintar, termasuk kawalan stop loss bertingkat dan fungsi pelepasan kedudukan automatik, yang bertujuan untuk mencapai nisbah keuntungan risiko yang kukuh.

Prinsip Strategi

Pusat strategi ini adalah berdasarkan isyarat overbought dan oversold dari RSI, yang menggabungkan pelbagai keadaan perdagangan:

  1. Isyarat masuk: menghasilkan isyarat banyak apabila RSI menembusi kedudukan 30; menghasilkan isyarat kosong apabila RSI menembusi kedudukan 70
  2. Pengurusan Risiko:
    • Tetapkan kedudukan stop loss tetap (< 100 mata kerugian) dan sasaran keuntungan (< 150 mata keuntungan)
    • Menjejaki kedudukan dalam masa nyata untuk memastikan pemegang kedudukan satu arah
    • Penutupan automatik setiap hari pada pukul 15:25 untuk mengelakkan risiko malam
  3. Pelaksanaan urus niaga: Sistem melaksanakan arahan urus niaga secara automatik melalui fungsi strategi.entry dan strategi.close

Kelebihan Strategik

  1. Kejelasan isyarat: isyarat silang berdasarkan RSI jelas, mudah difahami dan dilaksanakan
  2. Pengendalian angin yang sempurna: mekanisme kawalan risiko berlapis yang bersepadu
  3. Tingkat automasi yang tinggi: Automasi keseluruhan proses dari penjanaan isyarat hingga pelaksanaan transaksi
  4. Kesan visual yang baik: menunjukkan isyarat beli dan jual dan garis RSI yang jelas pada carta
  5. Kebolehsuaian: parameter boleh disesuaikan dengan ciri-ciri pasaran yang berbeza

Risiko Strategik

  1. RSI signal lags boleh menyebabkan input time lags
  2. Titik stop loss yang tetap mungkin tidak sesuai untuk semua keadaan pasaran
  3. Kepercayaan kepada satu-satunya penunjuk mungkin terlepas isyarat pasaran penting yang lain
  4. Perdagangan yang kerap boleh menyebabkan kos transaksi yang lebih tinggi Cadangan:
  • Pengesahan isyarat yang digabungkan dengan petunjuk teknikal lain
  • Dinamika penyesuaian tahap stop loss
  • Peningkatan had frekuensi transaksi

Arah pengoptimuman strategi

  1. Pengoptimuman Indeks:
    • Meningkatkan penunjuk trend seperti purata bergerak
    • Tambah isyarat pengesahan penunjuk pengaliran
  2. Pengendalian angin:
    • Mempunyai Stop Loss Dinamik
    • Masukkan kawalan penarikan maksimum
  3. Pengoptimuman pelaksanaan:
    • Meningkatkan pengurusan stok
    • Pengurusan masa perdagangan yang optimum
  4. Optimasi parameter:
    • Membangunkan sistem parameter adaptasi
    • Mencapai nilai terendah RSI dinamik

ringkaskan

Strategi ini menangkap perubahan dinamika pasaran melalui indikator RSI, dengan sistem pengurusan risiko yang sempurna, untuk mencapai sistem perdagangan automatik sepenuhnya. Walaupun terdapat beberapa batasan, prestasi perdagangan yang lebih stabil dijangka dicapai dengan penambahbaikan arah pengoptimuman yang disyorkan. Kelebihan utama strategi ini adalah integriti dan tahap automasi sistem yang sesuai untuk pembangunan dan pengoptimuman lanjut sebagai kerangka asas.

Kod sumber strategi
/*backtest
start: 2024-11-04 00:00:00
end: 2024-11-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Harmony Signal Flow By Arun", overlay=true)

// RSI settings
rsiLength = 14
rsiSource = close
rsiValue = ta.rsi(rsiSource, rsiLength)

// Define RSI levels
buyLevel = 30
sellLevel = 70

// Buy signal: RSI crosses above 30
buyCondition = ta.crossover(rsiValue, buyLevel)

// Sell signal: RSI crosses below 70
sellCondition = ta.crossunder(rsiValue, sellLevel)

// Ensure only one order at a time
if (strategy.position_size == 0) // No open positions
    if (buyCondition)
        strategy.entry("Buy", strategy.long)
    else if (sellCondition)
        strategy.entry("Sell", strategy.short)

// Stop-loss and target conditions
var float stopLossBuy = na
var float targetBuy = na
var float stopLossSell = na
var float targetSell = na

if (strategy.position_size > 0) // If there's an open buy position
    stopLossBuy := strategy.position_avg_price - 100 // Set stop-loss for buy
    targetBuy := strategy.position_avg_price + 150 // Set target for buy

    if (close <= stopLossBuy)
        strategy.close("Buy", comment="Stoploss Hit")
    else if (close >= targetBuy)
        strategy.close("Buy", comment="Target Hit")

if (strategy.position_size < 0) // If there's an open sell position
    stopLossSell := strategy.position_avg_price + 100 // Set stop-loss for sell
    targetSell := strategy.position_avg_price - 150 // Set target for sell

    if (close >= stopLossSell)
        strategy.close("Sell", comment="Stoploss Hit")
    else if (close <= targetSell)
        strategy.close("Sell", comment="Target Hit")

// Close all positions by 3:25 PM
if (hour(timenow) == 15 and minute(timenow) == 25)
    strategy.close_all(comment="Close all positions at 3:25 PM")

// Plot buy/sell signals on the chart
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot RSI and levels
hline(buyLevel, "Buy Level", color=color.green)
hline(sellLevel, "Sell Level", color=color.red)
plot(rsiValue, "RSI", color=color.blue)