RSI Target dan Stop Loss Tracking Strategy

Penulis:ChaoZhang, Tarikh: 2024-01-17 11:52:23
Tag:

img

Ringkasan

Strategi ini menggunakan penunjuk RSI untuk menjana isyarat beli dan jual, digabungkan dengan memantau mekanisme berhenti keuntungan dan berhenti kerugian untuk mencapai tujuan keuntungan tetap dan kawalan risiko. Strategi ini sesuai untuk perdagangan jangka sederhana dan pendek, dengan ciri-ciri fleksibel dan praktikal.

Prinsip Strategi

  1. Gunakan penunjuk RSI untuk menilai keadaan overbought dan oversold di pasaran. Isyarat beli dihasilkan apabila RSI melintasi di atas 60, dan isyarat jual dihasilkan apabila melintasi di bawah 40.

  2. Jarak keuntungan adalah harga kemasukan ditambah bilangan mata yang ditetapkan oleh pengguna, dan jarak kerugian adalah harga kemasukan dikurangkan bilangan mata yang ditetapkan oleh pengguna.

  3. Apabila harga mencapai jarak keuntungan atau kerugian, perdagangan berhenti keuntungan atau kerugian secara automatik.

Analisis Kelebihan

  1. Penunjuk RSI berfungsi dengan baik dalam menilai trend pasaran, digabungkan dengan mengesan stop loss dan mengambil keuntungan, ia dapat mengawal risiko dengan berkesan.

  2. Jarak keuntungan dan kerugian ditetapkan dalam bilangan mata mutlak. Tidak kira harga kemasukan tinggi atau rendah, ruang keuntungan dan ruang kerugian tetap, dan nisbah ganjaran risiko boleh dikawal.

  3. Tetapan parameter strategi adalah mudah. Pengguna hanya perlu menetapkan bilangan titik untuk berhenti keuntungan dan berhenti kerugian berdasarkan pilihan risiko mereka sendiri, tanpa pengoptimuman yang rumit.

Analisis Risiko

  1. Indikator RSI boleh menghasilkan isyarat palsu, yang mengakibatkan kerugian yang tidak perlu. Isyarat palsu boleh dikurangkan dengan menyesuaikan parameter RSI atau menambah isyarat lain untuk penapis.

  2. Jarak stop keuntungan dan kerugian tetap boleh menyebabkan ruang keuntungan yang tidak mencukupi atau kerugian yang berlebihan. Pengguna perlu menetapkan jarak stop keuntungan dan kerugian dengan munasabah mengikut turun naik pasaran.

  3. Pengesanan stop loss mungkin terputus dalam keadaan pasaran yang melampau, tidak dapat mengehadkan kerugian maksimum.

Arah pengoptimuman

  1. Mengoptimumkan parameter RSI untuk mencari kombinasi parameter terbaik.

  2. Tambah MA dan penunjuk lain untuk menapis isyarat RSI dan mengurangkan perdagangan yang tidak perlu.

  3. Tetapkan stop profit and loss ratio dan bukannya bilangan titik mutlak, yang boleh menyesuaikan jarak secara automatik berdasarkan harga.

  4. Tambah berhenti sementara untuk mengelakkan risiko dalam keadaan pasaran yang melampau.

Ringkasan

Strategi ini menggunakan penunjuk RSI untuk menentukan masa membeli dan menjual, dan menggunakan penjejakan keuntungan berhenti dan kerugian untuk mengawal risiko dan pulangan. Strategi ini mudah dan praktikal. Parameter boleh diselaraskan berdasarkan pilihan risiko pasaran dan peribadi.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 45m
basePeriod: 5m
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/
// © ChaitanyaSainkar

//@version=5
strategy("RSI TARGET & STOPLOSS",overlay = true)

// USER INPUTS

RSI_L = input.int(defval = 14, title = "RSI Length")

LONGSTOP = input.int(defval = 50, title = "STOPLOSS LONG")
LONGTARGET = input.int(defval = 100, title = "TARGET LONG")

SHORTSTOP = input.int(defval = 50, title = "STOPLOSS SHORT")
SHORTTARGET = input.int(defval = 100, title = "TARGET SHORT")

// POINTBASED TARGET & STOPLOSS

RSI = ta.rsi(close,RSI_L)

longstop = strategy.position_avg_price - LONGSTOP
longtarget = strategy.position_avg_price + LONGTARGET

shortstop = strategy.position_avg_price + SHORTSTOP
shorttarget = strategy.position_avg_price - SHORTTARGET

// LONG & SHORT SIGNALS

buy = ta.crossover(RSI,60)
short = ta.crossunder(RSI,40)

// STRATEGY FUNCTIONS

if buy 
    strategy.entry("long", direction = strategy.long,comment = "LONG")

if strategy.position_size > 0
    strategy.exit("long", from_entry = "long", limit = longtarget, stop = longstop, comment_loss = "LOSS", comment_profit = "PROFIT")
if short
    strategy.entry("short", direction = strategy.short,comment = "SHORT")

if strategy.position_size < 0
    strategy.exit("short", from_entry = "short", limit = longtarget, stop = shortstop, comment_loss = "LOSS", comment_profit = "PROFIT")

// PLOTTING TARGET & STOPLOSS

plot(strategy.position_size > 0 ? longtarget : na, style = plot.style_linebr, color = color.green)
plot(strategy.position_size > 0 ? longstop : na, style = plot.style_linebr, color = color.red)

plot(strategy.position_size < 0 ? shorttarget : na, style = plot.style_linebr, color = color.green)
plot(strategy.position_size < 0 ? shortstop : na, style = plot.style_linebr, color = color.red)

Lebih lanjut