Strategi Aliran Buaya RSI


Tarikh penciptaan: 2024-01-29 14:40:07 Akhirnya diubah suai: 2024-01-29 14:40:07
Salin: 0 Bilangan klik: 491
1
fokus pada
1237
Pengikut

Strategi Aliran Buaya RSI

Gambaran keseluruhan

Strategi trend ikan RSI adalah kombinasi indikator ikan yang berdasarkan pada indikator RSI untuk menentukan masuk dan keluar trend. Ia menggunakan tiga rata-rata - garis ketinggian ikan, garis gigi dan garis bibir, dengan pembinaan RSI yang berkala.

Prinsip Strategi

Strategi trend ikan RSI menggunakan indikator RSI untuk membina tiga purata bergerak untuk indikator ikan RSI. Ia ditetapkan sebagai berikut:

  • Baris atas: Baris RSI 5 kitaran
  • Garis gigi: Garis RSI 13 kitaran
  • Garis bibir: Garis RSI 34 kitaran

Logik penghakiman isyarat masuk ialah:

Isyarat berbilang kepala: apabila lip line diletakkan di atas garis gigi, lakukan lebih banyak apabila garis gigi berada di atas garis gigi.

Isyarat kepala kosong: Bila garis gigi di bawah garis bibir dan pada masa yang sama garis gigi di bawah garis gigi, buatlah kosong.

Strategi ini menetapkan syarat-syarat untuk menghentikan dan menghentikan kerugian:

  • Stop loss ditetapkan kepada 10% daripada harga masuk
  • Hentikan set pada 90% daripada harga masuk

Analisis kelebihan

Strategi trend RSI mempunyai kelebihan berikut:

  1. Menggunakan penunjuk garis ikan untuk menilai trend, dapat menyaring bunyi pasaran dengan berkesan dan mengunci trend utama
  2. Gabungan dengan RSI berkala, mengelakkan pecah palsu dan meningkatkan kebolehpercayaan isyarat
  3. Menetapkan syarat-syarat hentian kerugian yang munasabah untuk membantu strategi berjalan dengan stabil
  4. Idea strategi jelas dan mudah difahami, parameter yang mudah, mudah untuk operasi cakera keras
  5. Mampu melakukan lebih banyak kerosakan pada masa yang sama, mengimbangi kedua-dua arah trend, fleksibel

Analisis risiko

RSI juga mempunyai risiko yang berkaitan dengan strategi trend fishing:

  1. Persaingan garis gigi dengan garis bibir boleh menyebabkan pecah palsu, menyebabkan kerugian yang tidak perlu. Parameter kitaran boleh disesuaikan dengan betul untuk mengurangkan kemungkinan pecah palsu.

  2. Tetapan hentikan kerugian mungkin terlalu radikal, kemungkinan besar tidak perlu berhenti. Anda boleh meluaskan julat hentikan kerugian dengan sewajarnya, atau menambah syarat lain sebagai prasyarat untuk mengaktifkan hentikan kerugian.

  3. Jika keadaan teruk, kemusnahan atau tidak dapat memberi kesan yang sepatutnya, campur tangan manusia diperlukan untuk menghentikan kemusnahan tepat pada masanya.

  4. Apabila bertukar-tukar antara banyak ruang, tekanan kos urus niaga lebih besar. Syarat kemasukan boleh dilonggarkan dengan sewajarnya, mengurangkan pengulangan yang tidak perlu.

Arah pengoptimuman

Strategi trend RSI boleh dioptimumkan dengan cara berikut:

  1. Mengoptimumkan tetapan parameter garisan ikan paus, menyesuaikan parameter kitaran, dan mencari kombinasi parameter terbaik

  2. Logik syarat yang dioptimumkan untuk masuk, seperti penapis isyarat seperti penunjuk jumlah dagangan baru

  3. Mengoptimumkan strategi hentian dan hentian yang lebih selaras dengan keadaan dan tahap jaminan

  4. Meningkatkan mekanisme untuk menangani kejadian yang tidak dijangka dan mengelakkan pendedahan yang tidak normal

  5. Menambah algoritma pembukaan kedudukan, mengawal peratusan dana yang dimasukkan, mengelakkan risiko

ringkaskan

Strategi trend ikan RSI secara keseluruhannya adalah strategi pemantauan trend yang boleh dipercayai dan mudah dikendalikan. Ia menggunakan petunjuk ikan untuk menentukan arah trend, dengan penunjuk RSI untuk menetapkan ambang rujukan, dapat mengunci trend dengan berkesan dan menetapkan titik keluar yang munasabah.

Kod 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)