
A estratégia é um sistema de negociação quantitativa baseado no indicador RSI e na linha média EMA, para negociação através da combinação de um sinal de sobrecompra e sobrevenda de um índice relativamente fraco (RSI) com a confirmação de tendência da linha média móvel (EMA). A estratégia inclui um módulo de gerenciamento de risco para controlar o risco através da configuração de Stop-Loss (Stop-Loss) e Stop-Take-Profit (Take-Profit). De acordo com dados de retrospectiva, cerca de 70% das variedades de negociação foram lucrativas em testes de várias variedades de negociação em períodos de 15 minutos.
A lógica central da estratégia é baseada nos seguintes elementos-chave:
Trata-se de uma estratégia de negociação quantitativa, com estrutura completa e lógica clara, que permite a geração de sinais de negociação mais confiáveis através da combinação de RSI e EMA. O mecanismo de gerenciamento de risco e a flexibilidade dos parâmetros da estratégia tornam-na de boa prática. Embora existam alguns riscos potenciais, a direção de otimização sugerida pode melhorar ainda mais a estabilidade e a rentabilidade da estratégia.
/*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)