Tren Berbasis Stoch RSI Mengikuti Strategi

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

img

Gambaran umum

Strategi ini dirancang berdasarkan indikator Stoch RSI untuk mengikuti tren. Ini menggabungkan keuntungan dari indikator RSI dan Stoch dengan menghasilkan sinyal perdagangan melalui crossover Stoch RSI dan mengadopsi mekanisme pelacakan tren untuk secara dinamis menyesuaikan stop loss dan mengambil garis keuntungan untuk manajemen uang yang dioptimalkan.

Logika Strategi

Strategi ini menghitung garis Stoch K dan D dari RSI. Ini menghasilkan sinyal beli ketika garis K dari Stoch RSI melanggar di atas 20 dari titik terendah. Stop loss berdasarkan titik terendah dari beberapa garis K sebelumnya kemudian ditetapkan, dan garis stop loss tetap disesuaikan ke atas secara dinamis bersama dengan kenaikan harga. Pada saat yang sama, garis take profit ditetapkan berdasarkan harga tertinggi, dan posisi akan ditutup ketika harga mencapai garis take profit.

Analisis Keuntungan

Strategi ini menggabungkan indikator Stoch RSI untuk menentukan tren pasar dan crossover untuk menghasilkan sinyal, menghindari keterbatasan menggunakan indikator RSI saja. Sementara itu, mekanisme pelacakan tren memungkinkan garis stop loss untuk disesuaikan ke atas terus-menerus sesuai dengan pergerakan harga, menghindari risiko keluar stop loss prematur dan memungkinkan penangkapan keuntungan berkelanjutan selama pergerakan tren. Selain itu, indikator RSI itu sendiri memiliki tingkat kemenangan yang relatif baik.

Analisis Risiko

Strategi ini terutama bergantung pada indikator Stoch RSI untuk generasi sinyal tren dan crossover. Sinyal yang salah dari indikator itu sendiri menimbulkan beberapa risiko. Selain itu, di pasar yang terikat kisaran, garis stop loss dan take profit yang sering dipicu dapat mempengaruhi profitabilitas strategi. Risiko dapat dikurangi melalui optimasi parameter.

Arahan Optimasi

  • Optimalkan parameter Stoch RSI, sesuaikan kecepatan kelancaran garis K dan D untuk menurunkan probabilitas sinyal yang salah
  • Mengoptimalkan pengaturan stop loss dan mengambil keuntungan untuk meningkatkan ketahanan parameter
  • Tambahkan kondisi penyaringan untuk menghindari whipsaws di pasar yang berbeda
  • Menggabungkan mekanisme ukuran posisi berdasarkan kondisi pasar

Kesimpulan

Strategi ini mengintegrasikan keuntungan dari indikator Stoch RSI dan mengadopsi mekanisme pelacakan tren untuk secara efektif mengidentifikasi pergerakan tren dan secara dinamis menyesuaikan berhenti dan target untuk meningkatkan probabilitas menangkap keuntungan. Peningkatan lebih lanjut dalam stabilitas dan kemampuan pelacakan dapat dicapai melalui optimasi parameter. Secara keseluruhan, strategi ini memungkinkan keuntungan sambil mengendalikan risiko dan layak diuji 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 banyak