Strategi dagangan penunjuk RSI dinamik


Tarikh penciptaan: 2024-02-04 17:36:41 Akhirnya diubah suai: 2024-02-04 17:36:41
Salin: 0 Bilangan klik: 745
1
fokus pada
1617
Pengikut

Strategi dagangan penunjuk RSI dinamik

Gambaran keseluruhan

Strategi ini membina strategi perdagangan dengan mengira indikator RSI dan menetapkan overbought oversold, menggabungkan stop loss dinamik dan keuntungan sasaran untuk keluar. Apabila penembusan kawasan oversold di indikator RSI, buat kosong, apabila penembusan kawasan oversold, buat lebih banyak, sambil menetapkan trek stop loss dan keuntungan sasaran untuk keluar dari kedudukan.

Prinsip Strategi

Strategi ini menggunakan RSI 14 hari untuk menilai bentuk teknikal pasaran. RSI mencerminkan peratusan pergerakan naik turun dalam jangka masa yang digunakan untuk menentukan apakah pasaran adalah overbought atau oversold. Panjang RSI dalam strategi ini adalah 14.

Selain itu, strategi ini juga menggunakan mekanisme hentian pengesanan yang dinamik. Apabila memegang kedudukan berbilang, hentian pengesanan adalah 97 peratus daripada harga penutupan; Apabila memegang kedudukan kosong, hentian pengesanan adalah 103 peratus daripada harga penutupan.

Akhirnya, strategi ini juga menggunakan mekanisme keuntungan sasaran. Apabila keuntungan memegang kedudukan mencapai 20%, ia akan keluar dari kedudukan. Ini dapat mengunci sebahagian keuntungan dan mengelakkan pembalikan keuntungan.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Menggunakan RSI untuk menilai keadaan overbought dan oversold, anda dapat menangkap titik perubahan pasaran tepat pada masanya
  2. Menggunakan Tracking Stop Loss yang Dinamis untuk Mengendalikan Risiko
  3. Tetapkan tahap keuntungan sasaran, boleh mengunci sebahagian keuntungan
  4. Pemikiran strategi jelas dan mudah difahami, parameter yang lebih sedikit, mudah untuk operasi cakera keras
  5. Parameter yang mudah dioptimumkan seperti panjang RSI, tahap overbought dan oversold, dan margin stop loss

Analisis risiko

Terdapat beberapa risiko yang perlu diperhatikan dalam strategi ini:

  1. Kemungkinan RSI memberi isyarat palsu yang boleh menyebabkan kerugian yang tidak perlu
  2. Kemungkinan penembusan penghentian kerosakan akan meningkatkan kerugian
  3. Target keuntungan yang terlalu rendah tidak dapat mengekalkan keuntungan yang mencukupi

Untuk risiko di atas, ia boleh diselesaikan dengan mengoptimumkan parameter RSI, menyesuaikan stop loss, dan melonggarkan keperluan keuntungan sasaran.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Mengoptimumkan parameter RSI, menyesuaikan kriteria penilaian overbought dan oversold, mengurangkan kemungkinan isyarat palsu
  2. Menambah penapis untuk indikator lain untuk mengelakkan RSI sekali gus menyebabkan isyarat salah
  3. Dinamika pengoptimuman tahap keuntungan sasaran, membolehkan strategi menyesuaikan diri dengan keadaan pasaran
  4. Mengelakkan penembusan palsu dengan jumlah yang rendah, digabungkan dengan petunjuk jumlah transaksi
  5. Menambah algoritma pembelajaran mesin, parameter pengoptimuman automatik

ringkaskan

Strategi ini mempunyai pemikiran keseluruhan yang jelas, menggunakan indikator RSI untuk menilai overbought dan oversold, dengan stop loss dinamik dan target keuntungan untuk keluar. Kelebihannya adalah mudah difahami, risiko terkawal, dan dapat diperluas. Langkah seterusnya dapat dioptimumkan dari arah meningkatkan kualiti isyarat, parameter penyesuaian dinamik, dan sebagainya, untuk menjadikan strategi lebih cerdas.

Kod sumber strategi
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Modified RSI-Based Trading Strategy", overlay=true)

// RSI settings
rsiLength = input(14, title="RSI Length")
overboughtLevel = 70
oversoldLevel = 30

// User-defined parameters
trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)")
profitTargetPercentage = input(20, title="Profit Target Percentage (%)")

rsiValue = ta.rsi(close, rsiLength)

var float trailingStopLevel = na
var float profitTargetLevel = na

// Entry criteria
enterLong = ta.crossover(rsiValue, oversoldLevel)
enterShort = ta.crossunder(rsiValue, overboughtLevel)

// Exit criteria
exitLong = ta.crossover(rsiValue, overboughtLevel)
exitShort = ta.crossunder(rsiValue, oversoldLevel)

// Trailing stop calculation
if (strategy.position_size > 0)
    trailingStopLevel := close * (1 - trailingStopPercentage / 100)

if (strategy.position_size < 0)
    trailingStopLevel := close * (1 + trailingStopPercentage / 100)

// Execute the strategy
if (enterLong)
    strategy.entry("Buy", strategy.long)

if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100)
    strategy.close("Buy")

if (enterShort)
    strategy.entry("Sell", strategy.short)

if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100)
    strategy.close("Sell")

// Plot RSI and overbought/oversold levels
plot(rsiValue, title="RSI", color=color.blue)
hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)