Strategi Berasaskan Trend Berasaskan RSI

Penulis:ChaoZhang, Tarikh: 2024-02-02 11:23:29
Tag:

img

Ringkasan

Strategi ini direka berdasarkan penunjuk Stoch RSI untuk mengikuti trend. Ia menggabungkan kelebihan RSI dan penunjuk Stoch dengan menghasilkan isyarat perdagangan melalui persilangan Stoch RSI dan menggunakan mekanisme penjejakan trend untuk menyesuaikan stop loss secara dinamik dan mengambil garis keuntungan untuk pengurusan wang yang optimum.

Logika Strategi

Strategi ini mengira garis Stoch K dan D dari RSI. Ia menghasilkan isyarat beli apabila garis K dari Stoch RSI memecahkan di atas 20 dari paras terendah. Stop loss berdasarkan paras terendah beberapa garis K sebelumnya kemudian ditetapkan, dan garis stop loss terus disesuaikan ke atas secara dinamik bersama dengan harga yang meningkat. Pada masa yang sama, garis mengambil keuntungan ditetapkan berdasarkan harga tertinggi, dan kedudukan akan ditutup apabila harga mencapai garis mengambil keuntungan.

Analisis Kelebihan

Strategi ini menggabungkan penunjuk Stoch RSI untuk menentukan trend pasaran dan persilangan untuk menghasilkan isyarat, mengelakkan batasan menggunakan penunjuk RSI sahaja. Sementara itu, mekanisme penjejakan trend membolehkan garis stop loss disesuaikan ke atas secara berterusan mengikut pergerakan harga, mengelakkan risiko keluar stop loss yang lebih awal dan membolehkan tangkapan keuntungan yang berterusan semasa pergerakan trend. Di samping itu, penunjuk RSI itu sendiri mempunyai kadar kemenangan yang agak baik.

Analisis Risiko

Strategi ini bergantung terutamanya pada penunjuk Stoch RSI untuk penjanaan isyarat trend dan silang. Isyarat yang salah dari penunjuk itu sendiri menimbulkan beberapa risiko. Selain itu, di pasaran yang terikat julat, garis stop loss dan mengambil keuntungan yang sering dipicu boleh mempengaruhi keuntungan strategi. Risiko dapat dikurangkan melalui pengoptimuman parameter.

Arahan pengoptimuman

  • Mengoptimumkan parameter Stoch RSI, menyesuaikan kelajuan pelembap garis K dan D untuk mengurangkan kebarangkalian isyarat yang salah
  • Mengoptimumkan tetapan stop loss dan mengambil keuntungan untuk meningkatkan ketahanan parameter
  • Tambah keadaan penapisan untuk mengelakkan whipsaws di pasaran pelbagai
  • Menggabungkan mekanisme saiz kedudukan berdasarkan keadaan pasaran

Kesimpulan

Strategi ini mengintegrasikan kelebihan penunjuk Stoch RSI dan menggunakan mekanisme penjejakan trend untuk mengenal pasti pergerakan trend dengan berkesan dan menyesuaikan berhenti dan sasaran secara dinamik untuk meningkatkan kebarangkalian menangkap keuntungan. Peningkatan lebih lanjut dalam kestabilan dan keupayaan penjejakan dapat dicapai melalui pengoptimuman parameter. Secara keseluruhan, strategi ini membolehkan keuntungan sambil mengawal risiko dan bernilai ujian langsung.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("sdf",calc_on_every_tick=true,precision=8,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)
marsi=sma(rsi(close,14),14)
//condicion de compra: k>80
buycondition=crossover(k,20) and security(syminfo.ticker,"240",rsi(close,14)>marsi)
bgcolor( security(syminfo.ticker,"240",rsi(close,14)>marsi) ? yellow : na , transp=0)

if year>2014
    strategy.entry("l",strategy.long,qty=1,when=buycondition)
    velasiguente=barssince(buycondition)+1  //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    strategy.close("l",when=velasiguente>2)       //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    //paradaMasBajo=lowest(low,stop_dentro_de_los_ultimos_lows)//stop_dentro_de_los_ultimos_lows, NO PROBADA 
    //strategy.exit("l",loss=paradaMasBajo,profit=profit)
plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih lanjut