RSI Alligator Trend Strategi

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

img

Gambaran umum

Strategi RSI Alligator Trend didasarkan pada kombinasi indikator RSI dan indikator Alligator untuk menentukan masuk dan keluarnya tren. Strategi ini menggunakan tiga garis rata-rata bergerak - garis rahang buaya, garis gigi dan garis bibir, yang dibangun oleh RSI dari periode yang berbeda. Strategi ini panjang ketika garis gigi melintasi di atas garis bibir dan garis rahang RSI lebih tinggi dari garis gigi; pendek ketika garis gigi melintasi di bawah garis bibir dan garis rahang RSI lebih rendah dari garis gigi. Strategi ini juga menetapkan kondisi stop loss dan take profit.

Logika Strategi

Strategi Tren Alligator RSI membangun tiga garis indikator Alligator menggunakan indikator RSI. Pengaturan spesifik adalah:

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

Logika sinyal masuk adalah:

Sinyal panjang: ketika garis gigi melintasi di atas garis bibir dan garis rahang lebih tinggi dari garis gigi, pergi panjang.

Sinyal pendek: ketika garis gigi melintasi di bawah garis bibir dan garis rahang lebih rendah dari garis gigi, pergi pendek.

Strategi ini juga menetapkan kondisi stop loss dan take profit:

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

Analisis Kekuatan

Strategi RSI Alligator Trend memiliki kekuatan berikut:

  1. Menggunakan garis Alligator untuk menentukan tren dapat secara efektif menyaring kebisingan pasar dan mengunci tren utama
  2. Menggabungkan RSI multi-periode menghindari pecah palsu dan meningkatkan keandalan sinyal
  3. Menetapkan kondisi stop loss dan take profit yang wajar membantu menstabilkan operasi strategi
  4. Ide strategi jelas dan mudah dipahami, pengaturan parameter sederhana, dan mudah diterapkan untuk perdagangan langsung
  5. Hal ini dapat pergi baik panjang dan pendek, dengan mempertimbangkan kedua arah tren dan memiliki fleksibilitas yang kuat

Analisis Risiko

Strategi RSI Alligator Trend juga memiliki risiko berikut:

  1. Ada kemungkinan pecah palsu di persimpangan antara garis gigi dan garis bibir, menyebabkan kerugian yang tidak perlu.

  2. Pengaturan stop loss mungkin terlalu agresif, dengan probabilitas tinggi stop loss yang tidak perlu.

  3. Jika pasar bergerak dengan keras, stop loss mungkin gagal memainkan peran yang tepat untuk melindungi margin.

  4. Ketika posisi panjang dan pendek sering bergantian, tekanan biaya perdagangan lebih besar.

Arahan Optimasi

Strategi RSI Alligator Trend dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan pengaturan parameter garis Alligator untuk menemukan kombinasi parameter terbaik

  2. Mengoptimalkan logika kondisi masuk, seperti menambahkan indikator seperti volume perdagangan untuk menyaring sinyal

  3. Mengoptimalkan strategi mengambil keuntungan dan menghentikan kerugian untuk membuat mereka lebih beradaptasi dengan kondisi pasar dan tingkat margin

  4. Menambahkan mekanisme untuk menangani peristiwa ekstrem dan menghindari paparan kondisi pasar yang tidak normal

  5. Tambahkan algoritma posisi terbuka untuk mengontrol proporsi modal yang diinvestasikan dalam satu perdagangan untuk mengurangi risiko

Kesimpulan

Secara umum, strategi RSI Alligator Trend adalah strategi yang dapat diandalkan dan mudah digunakan untuk mengikuti tren. Ini menggunakan indikator Alligator untuk menentukan arah tren, dikombinasikan dengan indikator RSI untuk menetapkan ambang acuan, yang dapat secara efektif mengunci tren dan menetapkan titik keluar yang wajar. Pada saat yang sama, strategi itu sendiri juga memiliki fleksibilitas dan ekstensibilitas yang kuat, menjadikannya bermanfaat untuk perdagangan langsung dan optimasi lebih 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 banyak