Strategi dagangan berdasarkan pulangan min RSI


Tarikh penciptaan: 2023-09-20 15:38:45 Akhirnya diubah suai: 2023-09-20 15:38:45
Salin: 1 Bilangan klik: 629
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan pelbagai input harga untuk mengira nilai rata-rata RSI untuk menentukan sama ada harga berada dalam keadaan overbought atau oversold, dan merupakan strategi jenis perdagangan terbalik.

Prinsip Strategi

  1. Nilai RSI dikira berdasarkan harga penutupan, harga pembukaan, dan harga tertinggi.

  2. Mengambil purata aritmetik untuk pelbagai nilai RSI, untuk mendapatkan nilai purata RSI.

  3. RSI rata-rata lebih tinggi daripada 0.5 menandakan tanda beli, dan lebih rendah daripada 0.5 menandakan tanda jual.

  4. RSI menghasilkan isyarat perdagangan berbalik apabila nilai rata-rata kembali ke garis tengah 0.5.

  5. Tetapkan RSI Mean Exit Threshold, seperti Melewati 0.65 Daerah Tanah Datar untuk melakukan lebih banyak, Melewati 0.35 Daerah Tanah Datar untuk melakukan lebih sedikit.

  6. Logik urus niaga mudah, jelas dan mudah dilaksanakan.

Analisis kelebihan

  1. Menggunakan pelbagai maklumat harga untuk mengira nilai purata RSI, meningkatkan kestabilan.

  2. RSI Mean Return to the Midline menghasilkan isyarat perdagangan yang mempunyai ciri trend dan pembalikan.

  3. Intuisi RSI rata-rata keluk, membentuk isyarat perdagangan visual yang jelas.

  4. Parameter lalai mudah digunakan dan sesuai untuk peniaga reverse.

  5. Kod ringkas, mudah difahami, dan sesuai untuk pemula.

Analisis risiko

  1. Indeks RSI mudah membentuk isyarat pembalikan palsu yang menyebabkan kerugian.

  2. Parameter RSI dan had garis tengah yang tidak betul boleh mempengaruhi prestasi strategi.

  3. Risiko sistemik yang lebih tinggi berdasarkan satu RSI sahaja.

  4. Tidak dapat dipastikan kemampuannya untuk membalikkan harga

  5. Ia boleh menyebabkan kerugian dalam keadaan trend.

Arah pengoptimuman

  1. Ujian untuk mengoptimumkan parameter kitaran RSI dan meningkatkan kepekaan penunjuk.

  2. Menilai kesan input harga yang berbeza terhadap nilai purata RSI.

  3. Tambah penapis trend untuk mengelakkan perdagangan berlawanan arah.

  4. Gabungan dengan faktor lain untuk mengesahkan isyarat pembalikan.

  5. Menubuhkan mekanisme hentian kerugian dinamik untuk mengawal risiko.

  6. Mengoptimumkan strategi entry, stop loss, dan stop loss untuk meningkatkan keberkesanan strategi.

ringkaskan

Strategi ini menggunakan perdagangan berbalik rata-rata RSI, mudah dan sesuai untuk pemula. Tetapi terdapat risiko kesalahan isyarat dan trend. Dengan peningkatan dalam pengoptimuman pelbagai faktor dan pengurusan risiko, strategi ini dapat dibuat lebih stabil dan cekap, menjadi sistem perdagangan berbalik yang boleh dipercayai.

Kod sumber strategi
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=5
strategy("RSI Average Swing Bot")

long_only=input.bool(true, title="Allow Long entries", group="Entries Type")
short_only=input.bool(true, title="Allow Short entries", group="Entries Type")
rsiohlc4= ta.rsi(ohlc4,50)/100
rsiclose= ta.rsi(close,50)/100
rsiopen= ta.rsi(open,50)/100
rsihigh= ta.rsi(high,50)/100
rsihlc3= ta.rsi(hlc3,50)/100
rsihl2= ta.rsi(hl2,50)/100

hline(0.3, color=color.white, linestyle=hline.style_dashed, linewidth=2)
hline(0.5, color=color.white, linestyle=hline.style_dotted, linewidth=2)
hline(0.7, color=color.white, linestyle=hline.style_dashed, linewidth=2)
rsi_avg = (rsiohlc4+rsiclose+rsiopen+rsihigh+rsihl2+rsihlc3)/6

culoare = rsi_avg > 0.50? color.green : rsi_avg<0.50 ? color.red : color.yellow
plot(rsi_avg,color=culoare )


long = rsi_avg > 0.5 and rsi_avg[1]< 0.5
longexit = rsi_avg >= input.float(0.65, step=0.05)
short = rsi_avg < 0.5 and rsi_avg[1] >0.5
shortexit=rsi_avg<=input.float(0.35, step=0.05)

if(long_only)
    strategy.entry("long",strategy.long,when=long)
    strategy.close("long",when=longexit or short)

if(short_only)
    strategy.entry("short",strategy.short,when=short)
    strategy.close("short",when=shortexit or long)