Esta estratégia é um sistema de negociação quantitativo baseado no cruzamento de médias móveis exponenciais (EMA) de 5 períodos e 15 períodos. O objetivo é alcançar retornos estáveis, protegendo o capital através de níveis razoáveis de stop-loss e take-profit. A estratégia usa sinais de cruzamento de médias móveis clássicas para identificar mudanças na tendência do mercado e os combina com mecanismos de gerenciamento de risco para controlar a relação risco-recompensa de cada negociação.
O núcleo da estratégia é monitorar o cruzamento entre a média móvel rápida (EMA de 5 períodos) e a média móvel lenta (EMA de 15 períodos). Um sinal longo é gerado quando a EMA de 5 períodos cruza acima da EMA de 15 períodos, enquanto um sinal curto é gerado quando a EMA de 5 períodos cruza abaixo da EMA de 15 períodos. Para cada sinal de negociação, o sistema define automaticamente um nível de stop-loss de 1,5% e um nível de take-profit de 3%, garantindo uma relação risco-recompensa favorável.
Esta é uma estratégia de negociação quantitativa bem estruturada com lógica clara. Captura pontos de reversão de tendência através de cruzamento de médias móveis e implementa controle de risco com níveis fixos de stop-loss e take-profit. A estratégia é simples de usar, adequada para iniciantes e fornece uma boa base para otimização adicional. Os comerciantes são aconselhados a realizar um backtesting completo antes da implementação ao vivo e otimizar parâmetros de acordo com características específicas do mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true) // Define EMAs ema5 = ta.ema(close, 5) ema15 = ta.ema(close, 15) // Plot EMAs on the chart plot(ema5, title="5 EMA", color=color.blue) plot(ema15, title="15 EMA", color=color.red) // Crossover conditions longCondition = ta.crossover(ema5, ema15) shortCondition = ta.crossunder(ema5, ema15) // Stop-loss and take-profit percentage stopLossPercent = 1.5 // Stop-loss at 1.5% takeProfitPercent = 3.0 // Take-profit at 3% // Calculate stop-loss and take-profit levels for long and short positions longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // Enter long position with stop-loss and take-profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit) // Enter short position with stop-loss and take-profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit) // Plot stop-loss and take-profit levels plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr) plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)