Strategi Tren Buaya RSI


Tanggal Pembuatan: 2024-01-29 14:40:07 Akhirnya memodifikasi: 2024-01-29 14:40:07
menyalin: 0 Jumlah klik: 770
1
fokus pada
1617
Pengikut

Strategi Tren Buaya RSI

Ringkasan

Strategi tren ikan RSI adalah kombinasi indikator ikan yang didasarkan pada indikator RSI untuk menentukan masuk dan keluar dari tren. Ini menggunakan tiga rata-rata - garis uptrend, garis gigi, dan garis lip ikan, dengan konstruksi RSI dengan periode yang berbeda.

Prinsip Strategi

Strategi tren ikan RSI menggunakan indikator RSI untuk membangun tiga rata-rata bergerak dari indikator ikan RSI. Pengaturan spesifiknya adalah sebagai berikut:

  • Garis atas: Garis RSI 5 siklus
  • Garis gigi: Garis RSI 13 periode
  • Garis lip: Garis RSI 34 siklus

Logika penilaian sinyal masuk adalah:

Sinyal multihead: Lakukan lebih banyak ketika Anda memakai lip line di atas garis gigi dan juga ketika garis gigi berada di atas garis gigi.

Sinyal kepala kosong: Keluar dari mulut saat gigi di bawah garis gigi, sementara gigi di atas berada di bawah garis gigi.

Strategi ini menetapkan kondisi stop loss dan stop loss:

  • Stop loss ditetapkan menjadi 10% dari harga masuk
  • Stop loss diatur menjadi 90% dari harga masuk

Analisis Keunggulan

Strategi RSI untuk menangkap tren memiliki keuntungan sebagai berikut:

  1. Menggunakan indikator garis penangkapan ikan untuk menilai tren, dapat secara efektif menyaring kebisingan pasar dan mengunci tren utama
  2. Kombinasi RSI multi-siklus, menghindari false breakout, meningkatkan keandalan sinyal
  3. Menetapkan kondisi stop loss yang masuk akal untuk membantu operasi strategi yang stabil
  4. Strategi yang jelas dan mudah dimengerti, parameter yang mudah diatur, dan mudah dioperasikan pada hard disk
  5. Dapat melakukan lebih dari satu pekerjaan pada saat yang sama, dapat mengikuti dua arah tren, dan memiliki fleksibilitas yang kuat

Analisis risiko

RSI juga memiliki risiko untuk strategi penarikan tren:

  1. Interaksi antara garis gigi dan garis bibir dapat menyebabkan kerusakan yang tidak perlu. Parameter siklus dapat disesuaikan untuk mengurangi kemungkinan kerusakan.

  2. Pengaturan Stop Loss mungkin terlalu radikal, dan kemungkinan besar tidak ada Stop Loss. Anda dapat dengan tepat melonggarkan jangkauan Stop Loss, atau menambahkan kondisi lain sebagai prasyarat untuk mengaktifkan Stop Loss.

  3. Jika terjadi hal-hal yang parah, kerusakan atau tidak dapat memberikan efek yang seharusnya dari jaminan. Maka diperlukan intervensi manual untuk menghentikan kerusakan tepat waktu.

  4. Dengan seringnya pertukaran multi-ruang, tekanan biaya transaksi lebih besar. Anda dapat dengan tepat melonggarkan persyaratan akses, mengurangi pengulangan yang tidak perlu.

Arah optimasi

Strategi RSI untuk memancing tren dapat dioptimalkan dari beberapa aspek:

  1. Mengoptimalkan pengaturan parameter garis penangkapan ikan, menyesuaikan parameter siklus, dan menemukan kombinasi parameter yang optimal

  2. Optimalkan logik kondisi masuk, seperti sinyal penyaringan seperti indikator volume transaksi baru

  3. Optimalkan strategi stop loss agar lebih sesuai dengan kondisi dan tingkat jaminan

  4. Meningkatkan mekanisme penanganan insiden dan mencegah terungkapnya perilaku yang tidak normal

  5. Meningkatkan algoritma penarikan, mengontrol proporsi investasi tunggal, menghindari risiko

Meringkaskan

Strategi trend fishing RSI secara keseluruhan adalah strategi pelacakan tren yang handal dan mudah dioperasikan. Ini menggunakan indikator penangkap ikan untuk menentukan arah tren, bekerja dengan indikator RSI untuk menetapkan titik reference, dapat mengunci tren secara efektif dan menetapkan titik keluar yang masuk akal.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=3
// RSI Alligator
// Forked from Author: Reza Akhavan
// Updated by Khalid Salomão

strategy("RSI Alligator Strategy", overlay=false, pyramiding=0, default_qty_type=strategy.cash, default_qty_value=25000, initial_capital=25000, commission_type=strategy.commission.percent, commission_value=0.15, slippage=3)

// === TA LOGIC ===
overBought = input(70, minval=0, maxval=100, title="Over bought")
overSold = input(30, minval=0, maxval=100, title="Over sold")
jawPeriods = input(5, minval=1, title="Jaw Periods")
jawOffset = input(0, minval=0, title="Jaw Offset")
teethPeriods = input(13, minval=1, title="Teeth Periods")
teethOffset = input(0, minval=0, title="Teeth Offset")
lipsPeriods = input(34, minval=1, title="Lips Periods")
lipsOffset = input(0, minval=0, title="Lips Offset")

jaws = rsi(close, jawPeriods)
teeth = rsi(close, teethPeriods)
lips = rsi(close, lipsPeriods)
plot(jaws, color=green, offset=jawOffset, title="Jaw")
plot(teeth, color=red, offset=teethOffset, title="Teeth")
plot(lips, color=blue, offset=lipsOffset, title="Lips")

//
// === Signal logic ===
// 
LONG_SIGNAL_BOOLEAN  = crossover(teeth, lips) and jaws > teeth
SHORT_SIGNAL_BOOLEAN = crossunder(teeth, lips) and jaws < teeth

// === INPUT BACKTEST DATE RANGE ===
strategyType = input(defval="Long Only", options=["Long & Short", "Long Only", "Short Only"])

FromMonth = input(defval = 7, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => true

// === STRATEGY BUY / SELL ENTRIES ===

// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy()  => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN

if buy()
    if (strategyType == "Short Only")
        strategy.close("Short")
    else
        strategy.entry("Long", strategy.long, comment="Long")

if sell()
    if (strategyType == "Long Only")
        strategy.close("Long")
    else
        strategy.entry("Short", strategy.short, comment="Short")
        

// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(90, title='Take Profit %', type=float)/100

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)

strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)