Esta estratégia é um sistema de negociação baseado em múltiplas médias móveis e indicador RSI. Ele combina EMA20, EMA50 e SMA200 para determinar as tendências do mercado, usa o indicador RSI para filtrar sinais de negociação e executa negociações quando o preço quebra máximos anteriores.
A lógica central baseia-se nas seguintes condições-chave: 1. Determinação da tendência: a EMA20 deve estar acima da EMA50 e a SMA200 abaixo de ambas as EMAs, confirmando uma tendência de alta. 2. Posição de preço: O preço de fechamento atual deve estar dentro da faixa de 1% da EMA20 ou da EMA50, garantindo níveis de suporte chave. Filtro RSI: o valor do RSI deve estar acima do limiar definido (padrão 40), filtrando para mercados fortes. 4. Trigger de entrada: a posição longa é acionada quando o preço quebra a alta anterior da vela. Gestão de riscos: estabelece níveis de take-profit de 25% e stop-loss de 10% para o controle de riscos.
Esta estratégia é um sistema de tendência bem estruturado e logicamente sólido. Através da combinação de múltiplos indicadores técnicos, captura efetivamente as tendências do mercado, mantendo uma gestão de risco abrangente. A estratégia tem espaço significativo para otimização e pode alcançar maior estabilidade e lucratividade através de melhoria contínua. Para os traders de médio a longo prazo, isso representa uma estrutura estratégica que vale a pena.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA/SMA Strategy", overlay=false) // Input parameters ema20Length = input(20, title="20 EMA Length") ema50Length = input(50, title="50 EMA Length") sma200Length = input(200, title="200 SMA Length") rsiLength = input(14, title="RSI Length") rsiThreshold = input(40, title="RSI Threshold") // Calculate indicators ema20 = ta.ema(close, ema20Length) ema50 = ta.ema(close, ema50Length) sma200 = ta.sma(close, sma200Length) rsiValue = ta.rsi(close, rsiLength) // Conditions emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50 priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99) rsiCondition = rsiValue > rsiThreshold // Entry condition: Price crosses previous candle high entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1]) // Strategy entry if entryCondition strategy.entry("Long", strategy.long) // Take profit and stop loss settings takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25% stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10% // Exit conditions if strategy.position_size > 0 strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel) strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel) // Plotting indicators for visualization plot(ema20, color=color.blue, title="20 EMA") plot(ema50, color=color.red, title="50 EMA") plot(sma200, color=color.green, title="200 SMA") hline(rsiThreshold, "RSI Threshold", color=color.orange)