
La estrategia es un sistema de comercio cuantitativo basado en el indicador RSI y la línea media EMA, que se realiza mediante la combinación de una señal de sobrecompra y sobreventa de un índice relativamente débil (RSI) con una confirmación de tendencia de una línea media móvil (EMA). La estrategia incluye un módulo de gestión de riesgos para controlar el riesgo mediante la configuración de stop-loss y stop-take-profit. De acuerdo con los datos de retrospectiva, alrededor del 70% de las variedades de comercio alcanzaron ganancias en pruebas de varios tipos de comercio en un período de 15 minutos.
La lógica central de la estrategia se basa en los siguientes elementos clave:
Se trata de una estrategia de trading cuantitativa de estructura completa y lógica clara, que permite una generación de señales de trading más confiable mediante el uso de una combinación de RSI y EMA. El mecanismo de gestión de riesgos y la flexibilidad de los parámetros de la estrategia la hacen muy práctica. Aunque existen algunos riesgos potenciales, la estabilidad y la rentabilidad de la estrategia se pueden mejorar aún más mediante la dirección de optimización sugerida.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI BUY/SELL + EMA + SLTP by rcpislr", overlay=true)
// Kullanıcı Parametreleri
rsi_period = input(14, title="RSI Periyodu")
rsi_overbought = input(70, title="RSI Aşırı Alım Seviyesi")
rsi_oversold = input(30, title="RSI Aşırı Satım Seviyesi")
ema_period = input(400, title="EMA Periyodu")
use_ema = input(true, title="EMA Şartını Kullan")
sl_pct = input(1, title="Stop-Loss (%)") / 100
tp_pct = input(1, title="Take-Profit (%)") / 100
// Belirtilen Zaman Diliminde RSI ve EMA Hesaplamaları
rsi = ta.rsi(close, rsi_period)
ema = ta.ema(close, ema_period)
// Long ve Short Sinyalleri
long_signal = rsi[2] > rsi_overbought and rsi < rsi_overbought and (close > ema or not use_ema)
short_signal = rsi[2] < rsi_oversold and rsi > rsi_oversold and (close < ema or not use_ema)
// Alım/Satım İşlemleri
if long_signal
strategy.entry("Long", strategy.long)
if short_signal
strategy.entry("Short", strategy.short)
// Stop-Loss ve Take-Profit Uygulaması
if strategy.position_size > 0
long_stop_loss = close * (1 - sl_pct)
long_take_profit = close * (1 + tp_pct)
strategy.exit("Long Exit", from_entry="Long", stop=long_stop_loss, limit=long_take_profit)
if strategy.position_size < 0
short_stop_loss = close * (1 + sl_pct)
short_take_profit = close * (1 - tp_pct)
strategy.exit("Short Exit", from_entry="Short", stop=short_stop_loss, limit=short_take_profit)
// Sinyalleri Grafikte Göster
plotshape(series=long_signal, title="Long Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_signal, title="Short Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plot(ema, title="EMA 400", color=color.orange)