Strategi ini menggunakan tiga indikator VWAP, EMA, dan RSI untuk membuat penilaian trend dan operasi pengesanan trend. Dan menggunakan cara berhenti bergerak untuk mengunci keuntungan dan mengelakkan kenaikan harga.
Prinsip-prinsip strategi:
Hitung VWAP sebagai penunjuk harga adil pada hari tersebut.
Hitung EMA 15 kitaran sebagai penunjuk trend garis pendek tengah.
Hitung RSI untuk menentukan sama ada RSI berada di kawasan overbought atau tidak.
Apabila harga penutupan lebih tinggi daripada VWAP dan EMA, dan RSI telah membeli lebih banyak, masuk lebih banyak.
Tetapkan garis hentian bergerak di bawah titik kemasukan untuk menjejaki peratusan tertentu.
Tetapkan titik berhenti tetap untuk memastikan keuntungan.
Kelebihan strategi ini:
VWAP mencerminkan nilai adil, EMA menilai trend, RSI menunjukkan kawasan overbought, meningkatkan ketepatan kemasukan.
Stop loss yang bergerak, boleh menyesuaikan kedudukan stop loss mengikut harga semasa, melindungi keuntungan.
Penangguhan tetap dapat mengunci keuntungan dan mengurangkan pengawasan.
Risiko strategi ini:
Indeks RSI dan EMA mudah menghasilkan isyarat salah dalam keadaan goyah.
Penghentian kehilangan bergerak memerlukan penyesuaian yang munasabah untuk kekerapan pengesanan, terlalu besar atau terlalu kecil.
Tiada had untuk kerugian tunggal, dan terdapat risiko besar.
Ringkasnya, strategi ini menyatukan kelebihan pelbagai petunjuk dan mengesannya dengan cara berhenti bergerak. Ia boleh mencapai kesan yang lebih baik dalam trend besar, tetapi perlu mengoptimumkan parameter dan mengawal risiko dengan ketat.
/*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)