
Strategi ini adalah strategi perdagangan trend-following dan trend-breaking berdasarkan RSI dan EMA. Strategi ini dinamakan RSI-EMA Trend-Breaking Strategy. Ia menggabungkan trend-following dan indikator goyah yang bertujuan untuk menangkap arah trend garis tengah dan panjang dan memasuki titik trend.
Strategi menggunakan 5 hari EMA, 20 hari EMA dan 50 hari EMA untuk membina kerangka trend kosong. Apabila 5 hari EMA melintasi 20 hari EMA, dan kedua-dua EMA berada di atas 50 hari EMA, tentukan terobosan tren kosong yang baru-baru ini berlaku, lakukan lebih banyak; apabila 5 hari EMA melintasi 20 hari EMA, dan kedua-dua EMA berada di bawah 50 hari EMA, tentukan terobosan tren kosong yang baru-baru ini berlaku, lakukan kosong.
Pada masa yang sama, strategi ini juga digabungkan dengan penunjuk RSI untuk menentukan sama ada kawasan yang berlebihan atau oversold. RSI dapat mengenal pasti keadaan oversold yang berlebihan, untuk mengelakkan isyarat yang salah ketika tren teratas atau disusun. Apabila penunjuk RSI muncul dari kawasan yang terlalu banyak membeli ke kawasan netral, banyak single stop; Apabila penunjuk RSI muncul dari kawasan yang terlalu banyak menjual ke kawasan yang netral, single stop kosong.
Strategi ini digabungkan dengan EMA dan RSI untuk menangkap trend garis tengah dan mengelakkan risiko di hujung trend. Ia mempunyai ciri-ciri risiko dan keuntungan yang sangat baik. Kelebihan utamanya adalah:
Strategi ini juga mempunyai beberapa risiko, seperti:
Untuk mengurangkan risiko ini, kita boleh menetapkan hentian perdagangan, menyesuaikan parameter RSI, atau mengesahkan dalam kombinasi dengan petunjuk lain.
Strategi ini masih boleh dioptimumkan lagi:
Strategi RSI-EMA untuk mematahkan trend secara menyeluruh mempertimbangkan trend dan masa masuk untuk mendapatkan keuntungan trend berdasarkan risiko yang terkawal, adalah strategi garis tengah yang sangat praktikal. Kita boleh meningkatkan lagi kestabilan strategi dan kadar keuntungan dengan cara seperti pengoptimuman parameter dan penambahan petunjuk lain.
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BrendanW98
//@version=4
strategy("My Strategy", overlay=true)
ema5 = ema(close, 9)
ema20 = ema(close, 21)
ema50 = ema(close, 55)
//RSI Signals
// Get user input
rsiSource = close
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiMid = 50
// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)
//See if RSI crosses 50
doBuy = crossover(rsiValue, rsiOversold) and rsiValue < 50
doSell = crossunder(rsiValue, rsiOverbought) and rsiValue > 50
emacrossover = crossover(ema5, ema20) and ema5 > ema50 and ema20 > ema50 and close > ema50
emacrossunder = crossunder(ema5, ema20) and ema5 < ema50 and ema20 < ema50 and close < ema50
//Entry and Exit
longCondition = emacrossover
closelongCondition = doSell
strategy.entry("Long", strategy.long, 1, when=longCondition)
strategy.close("Long", when=closelongCondition)
shortCondition = emacrossunder
closeshortCondition = doBuy
strategy.entry("Short", strategy.short, 1, when=shortCondition)
strategy.close("Short", when=closeshortCondition)