Strategi ini menggabungkan VWAP, EMA dan RSI untuk kecenderungan bias dan mengikuti trend menggunakan pendekatan trailing stop.
Logik Strategi:
Mengira VWAP sebagai penanda aras nilai wajar.
Mengira EMA 15 tempoh sebagai penunjuk trend jangka pertengahan.
Gunakan RSI untuk mengenal pasti tahap overbought, RSI di atas ambang isyarat kenaikan.
Masuk panjang apabila menutup melebihi VWAP dan EMA, dan RSI overbought.
Tetapkan barisan stop loss di bawah titik masuk.
Ambil keuntungan tetap pada tahap titik tetap untuk mengunci keuntungan.
Kelebihan:
VWAP, EMA dan RSI meningkatkan ketepatan kemasukan dari pelbagai aspek.
Penghentian penghantaran bergerak secara dinamik untuk melindungi keuntungan.
Keuntungan tetap memberikan kepastian dalam keluar.
Risiko:
RSI dan EMA cenderung kepada isyarat palsu semasa julat.
Kalibrasi stop loss memerlukan kewaspadaan, terlalu luas atau terlalu sempit bermasalah.
Tiada had pada saiz kerugian perdagangan tunggal.
Ringkasnya, strategi ini menggabungkan beberapa penunjuk dan menggunakan hentian untuk mengikuti trend. Ia berfungsi dengan baik dalam trend berterusan tetapi memerlukan pengoptimuman dan kawalan risiko.
/*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)