RSI Alligator Trend Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-29 14:40:07
Tag:

img

Ringkasan

Strategi Trend Alligator RSI adalah berdasarkan gabungan penunjuk RSI dan penunjuk Alligator untuk menentukan kemasukan dan keluar trend. Ia menggunakan tiga garis purata bergerak - garisan rahang alligator, garisan gigi dan garisan bibir, yang dibina oleh RSI dari tempoh yang berbeza. Ia menjadi panjang apabila garisan gigi melintasi di atas garisan bibir dan garisan rahang RSI lebih tinggi daripada garisan gigi; ia menjadi pendek apabila garisan gigi melintasi di bawah garisan bibir dan garisan rahang RSI lebih rendah daripada garisan gigi. Strategi ini juga menetapkan syarat berhenti kerugian dan mengambil keuntungan.

Logika Strategi

Strategi Trend Alligator RSI membina tiga garis penunjuk Alligator menggunakan penunjuk RSI. Tetapan khusus adalah:

  • Garis rahang: Garis RSI 5 tempoh
  • Garis gigi: Garis RSI 13 tempoh
  • Garis bibir: Garis RSI 34 tempoh

Logik isyarat masuk adalah:

Isyarat panjang: apabila garis gigi melintasi di atas garis bibir dan garis rahang lebih tinggi daripada garis gigi, pergi panjang.

Isyarat pendek: apabila garis gigi melintasi di bawah garis bibir dan garis rahang lebih rendah daripada garis gigi, pergi pendek.

Strategi ini juga menetapkan syarat stop loss dan mengambil keuntungan:

  • Stop loss ditetapkan pada 10% di bawah harga kemasukan
  • Ambil keuntungan ditetapkan pada 90% di atas harga kemasukan

Analisis Kekuatan

Strategi RSI Alligator Trend mempunyai kekuatan berikut:

  1. Menggunakan garis Alligator untuk menentukan trend boleh dengan berkesan menapis bunyi pasaran dan mengunci trend utama
  2. Menggabungkan RSI berbilang tempoh mengelakkan pecah palsu dan meningkatkan kebolehpercayaan isyarat
  3. Menetapkan syarat stop loss dan mengambil keuntungan yang munasabah membantu menstabilkan operasi strategi
  4. Idea strategi adalah jelas dan mudah difahami, tetapan parameter adalah mudah, dan mudah dilaksanakan untuk perdagangan langsung
  5. Ia boleh pergi lama dan pendek, mengambil kira kedua-dua arah trend dan mempunyai fleksibiliti yang kuat

Analisis Risiko

Strategi RSI Alligator Trend juga mempunyai risiko berikut:

  1. Terdapat kemungkinan pecah palsu di persimpangan antara garis gigi dan garis bibir, yang membawa kepada kehilangan yang tidak perlu. Parameter kitaran boleh diselaraskan untuk mengurangkan kebarangkalian pecah palsu.

  2. Tetapan stop loss mungkin terlalu agresif, dengan kebarangkalian tinggi kehilangan stop yang tidak perlu. Julat stop loss boleh santai dengan sewajarnya, atau keadaan lain boleh ditambah sebagai prasyarat untuk mengaktifkan stop loss.

  3. Jika pasaran bergerak dengan ganas, stop loss mungkin gagal memainkan peranan yang betul untuk melindungi margin. Dalam kes ini, campur tangan manual diperlukan untuk menghentikan kerugian tepat pada masanya.

  4. Apabila kedudukan panjang dan pendek bertukar dengan kerap, tekanan kos dagangan lebih besar.

Arahan pengoptimuman

RSI Alligator Trend strategi boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan tetapan parameter baris Alligator untuk mencari kombinasi parameter terbaik

  2. Mengoptimumkan logik syarat kemasukan, seperti menambah penunjuk seperti jumlah dagangan untuk menapis isyarat

  3. Mengoptimumkan strategi mengambil keuntungan dan menghentikan kerugian untuk menjadikannya lebih mudah disesuaikan dengan keadaan pasaran dan tahap margin

  4. Tambah mekanisme untuk menangani peristiwa melampau dan mengelakkan pendedahan kepada keadaan pasaran yang tidak normal

  5. Tambah algoritma kedudukan terbuka untuk mengawal bahagian modal yang dilaburkan dalam perdagangan tunggal untuk mengurangkan risiko

Kesimpulan

Secara umum, strategi Trend Alligator RSI adalah strategi trend yang boleh dipercayai dan mudah digunakan. Ia menggunakan penunjuk Alligator untuk menentukan arah trend, digabungkan dengan penunjuk RSI untuk menetapkan ambang rujukan, yang dapat mengunci trend dengan berkesan dan menetapkan titik keluar yang munasabah. Pada masa yang sama, strategi itu sendiri juga mempunyai fleksibiliti dan keluasan yang kuat, menjadikannya bernilai untuk perdagangan langsung dan pengoptimuman lanjut.


/*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)

Lebih lanjut