A estratégia é um sistema de negociação de linhas curtas que combina a média móvel (EMA) e o indicador relativamente forte (RSI). Identifica oportunidades de negociação potenciais observando os sinais de cruzamento da linha de média múltipla e a confirmação do dinamismo do indicador RSI. A estratégia é projetada com um objetivo de stop loss e ganho adaptado, adequado para negociação em períodos de 15 minutos.
A estratégia usa três médias móveis indexadas de três diferentes períodos (9, 21, 50) e um indicador RSI de 14 períodos. No caso de sinais múltiplos, um sinal múltiplo é acionado quando a EMA de 9 períodos atravessa a EMA de 21 períodos e o preço está acima da EMA de 50 períodos e o RSI está na faixa de 40-70. No caso do sinal em branco, um sinal de fechamento é acionado quando a EMA de 9 períodos atravessa a EMA de 21 períodos e o preço está abaixo da EMA de 50 períodos e o RSI está na faixa de 30-60 períodos.
A estratégia constrói um sistema de negociação relativamente completo através da combinação de múltiplos indicadores técnicos. Ela contém não apenas sinais claros de entrada e saída, mas também um mecanismo de controle de risco projetado. A vantagem central da estratégia é aumentar a confiabilidade das negociações por meio de confirmação múltipla, mas ao mesmo tempo requer que o comerciante acompanhe de perto as mudanças no ambiente do mercado e ajuste os parâmetros de configuração quando apropriado.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("RSI + EMA Scalping Strategy", overlay=true)
// Input for EMAs
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)
// RSI Input
rsi = ta.rsi(close, 14)
// User-defined input for Stop Loss & Target percentages
stop_loss_percent = input.float(0.5, "Stop Loss (%)", step=0.1)
target_percent = input.float(1.0, "Target (%)", step=0.1)
// Long condition
longCondition = ta.crossover(ema9, ema21) and close > ema50 and rsi > 40 and rsi < 70
if (longCondition)
strategy.entry("Buy", strategy.long)
stopLossPrice = close * (1 - stop_loss_percent / 100)
takeProfitPrice = close * (1 + target_percent / 100)
strategy.exit("Exit Buy", "Buy", stop=stopLossPrice, limit=takeProfitPrice)
// Short condition
shortCondition = ta.crossunder(ema9, ema21) and close < ema50 and rsi < 60 and rsi > 30
if (shortCondition)
strategy.entry("Sell", strategy.short)
stopLossPrice = close * (1 + stop_loss_percent / 100)
takeProfitPrice = close * (1 - target_percent / 100)
strategy.exit("Exit Sell", "Sell", stop=stopLossPrice, limit=takeProfitPrice)
// Plot EMAs
plot(ema9, color=color.orange, linewidth=1, title="EMA 9")
plot(ema21, color=color.blue, linewidth=1, title="EMA 21")
plot(ema50, color=color.purple, linewidth=2, title="EMA 50")