Esta é uma estratégia de negociação quantitativa baseada no indicador EMA, que toma decisões de negociação calculadora dos sinais de cruzamento de médias móveis exponenciais de curto prazo (9 períodos) e longo prazo (21 períodos). A estratégia inclui condições de stop-loss e take-profit definidas em 2% e 4% respectivamente para controlar o risco e bloquear os lucros.
A estratégia emprega duas médias móveis exponenciais (EMA) com períodos diferentes: 9-período e 21-período. Um sinal de compra é gerado quando a EMA de curto prazo cruza acima da EMA de longo prazo, enquanto um sinal de venda é acionado quando a EMA de curto prazo cruza abaixo da EMA de longo prazo. A estratégia incorpora mecanismos de gerenciamento de risco através de níveis de stop-loss de 2% e take-profit de 4% para proteger o capital e garantir ganhos.
Esta estratégia é uma abordagem clássica de seguimento de tendências que capta as mudanças de tendência do mercado através de cruzamento de médias móveis. Embora seja relativamente simples em design, inclui lógica de negociação completa e mecanismos de controle de risco. A estabilidade e rentabilidade da estratégia podem ser melhoradas através de medidas de otimização, como ajuste dinâmico de parâmetros e avaliação da condição do mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ancour //@version=5 strategy("Moving Average Crossover", overlay=true) // Define the length for short-term and long-term EMAs shortEmaLength = 9 longEmaLength = 21 // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs on the chart plot(shortEma, title="Short-term EMA", color=color.green, linewidth=2) plot(longEma, title="Long-term EMA", color=color.red, linewidth=2) // Strategy conditions for crossovers longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Enter long when short EMA crosses above long EMA if (longCondition) strategy.entry("Buy", strategy.long) // Exit long or enter short when short EMA crosses below long EMA if (shortCondition) strategy.entry("Sell", strategy.short) // Optional: Add stop-loss and take-profit levels for risk management stopLossPercent = 2 takeProfitPercent = 4 strategy.exit("Sell TP/SL", "Buy", stop=low * (1 - stopLossPercent/100), limit=high * (1 + takeProfitPercent/100))