VWAP EMA RSI Trend Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-13 14:37:47
Tag:

Strategi ini menggabungkan VWAP, EMA dan RSI untuk bias tren dan mengikuti tren menggunakan pendekatan trailing stop.

Logika Strategi:

  1. Perhitungan VWAP sebagai patokan nilai wajar.

  2. Menghitung EMA 15 periode sebagai indikator tren jangka menengah.

  3. Gunakan RSI untuk mengidentifikasi tingkat overbought, RSI di atas ambang sinyal bullishness.

  4. Masuk long ketika close melebihi VWAP dan EMA, dan RSI overbought.

  5. Tetapkan garis stop loss di belakang persentase tertentu di bawah titik masuk.

  6. Ambil keuntungan tetap pada tingkat titik yang ditetapkan untuk mengunci keuntungan.

Keuntungan:

  1. VWAP, EMA dan RSI meningkatkan akurasi entri dari berbagai aspek.

  2. Trailing stop bergerak secara dinamis untuk melindungi keuntungan.

  3. Mengambil keuntungan tetap memberikan kepastian dalam keluar.

Risiko:

  1. RSI dan EMA rentan terhadap sinyal palsu selama rentang.

  2. Kalibrasi stop loss membutuhkan kewaspadaan, terlalu luas atau terlalu sempit.

  3. Tidak ada batas pada ukuran kerugian perdagangan tunggal.

Singkatnya, strategi ini menggabungkan beberapa indikator dan menggunakan trailing stop untuk mengikuti tren.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VWAP+15EMA with RSI", overlay=true)

// Inputs
ema_length = input.int(15, title="EMA Length")
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(45, title="RSI Overbought Level")
stop_loss_pct = input.float(0.5, title="Stop Loss %")
take_profit_pct = input.float(3.5, title="Take Profit %")
trailing_stop_pct = input.float(1, title="Trailing Stop %")

// Calculate Indicators
vwap = ta.vwap(hlc3)
ema = ta.ema(close, ema_length)
rsi = ta.rsi(close, rsi_length)

// Entry Condition
long_entry = close > vwap and close > ema and rsi > rsi_overbought

// Exit Conditions
stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100)
trailing_stop = strategy.position_avg_price * (1 - trailing_stop_pct / 100)

// Submit Orders
if long_entry and strategy.position_size == 0
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0
    strategy.exit("Stop Loss /Profit", "Long", profit = take_profit, stop=stop_loss, trail_offset = trailing_stop)


// Plot Indicators
plot(vwap, title="VWAP", color=color.blue)
plot(ema, title="EMA", color=color.orange)
plot(rsi, title="RSI", color=color.purple)
hline(rsi_overbought, title="RSI Overbought", color=color.red)


Lebih banyak