Esta estratégia é um sistema de negociação quantitativo baseado no indicador RSI e na linha EMA, combinando sinais de sobrecompra / sobrevenda do índice de força relativa (RSI) com confirmação de tendência da média móvel exponencial (EMA).
A lógica central da estratégia baseia-se nos seguintes elementos-chave:
Esta é uma estratégia de negociação quantitativa bem estruturada com lógica clara, alcançando geração de sinal de negociação confiável através da combinação de RSI e EMA. O mecanismo de gerenciamento de risco da estratégia e a flexibilidade dos parâmetros tornam-na altamente prática. Embora existam alguns riscos potenciais, as direções de otimização sugeridas podem melhorar ainda mais a estabilidade e a lucratividade da estratégia. É adequado como uma estrutura de base para sistemas de negociação quantitativa de médio a longo prazo, e melhores resultados de negociação podem ser alcançados através de otimização e ajuste contínuos.
/*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)