A estratégia de breakout é uma estratégia de negociação baseada em duas médias móveis exponenciais (EMA) com períodos diferentes. Ela gera sinais de compra quando uma cruz de ouro entre as duas EMAs emerge e sinais de venda quando uma cruz de morte acontece, a fim de capturar mudanças de tendência nos preços.
A estratégia de ruptura dupla da EMA é baseada principalmente na seguinte lógica:
Usar uma EMA de curto prazo (linha de 26 dias) para capturar tendências de curto prazo e uma EMA de longo prazo (linha de 200 dias) para determinar a direção da tendência de longo prazo.
Quando a EMA de período mais curto cruza acima da EMA de período mais longo, é chamada de
Quando a EMA do período mais curto cruza abaixo da EMA do período mais longo, é chamada de
Quando os sinais cruzados ocorrem, o preço também precisa atravessar as EMAs para filtrar sinais falsos e garantir sinais comerciais confiáveis.
Aplicar técnicas de stop loss e take profit para controlar riscos comerciais e bloquear lucros.
A estratégia de ruptura dupla da EMA em ouro tem as seguintes vantagens:
O uso de EMAs duplas para determinar as tendências de preços e sinais cruzados pode rastrear efetivamente os movimentos do mercado.
A combinação de sinais de filtro de ruptura de preços evita ser enganado por falsos sinais cruzados.
Adotar uma lógica comercial simples e clara, fácil de compreender e implementar.
Aplicável a diferentes produtos e prazos, flexível e versátil.
Os parâmetros EMA configuráveis e as condições de stop loss/take profit tornam-no altamente adaptável.
A estratégia de ruptura dupla da EMA em ouro cruzado apresenta também os seguintes riscos:
Os crossovers frequentes podem ocorrer quando os preços oscilam, gerando sinais de negociação excessivos.
Os EMA duplos apresentam, por vezes, um atraso no desempenho e não podem responder às alterações de preços a tempo.
Pontos de stop loss que são muito pequenos podem ser facilmente desencadeados por ligeiras flutuações de preços, enquanto pontos de take profit que são muito grandes podem perder alguns lucros.
Os principais julgamentos de tendência devem ser feitos antes dos sinais de negociação para evitar a negociação contra a tendência.
A estratégia de ruptura dupla do EMA pode ser otimizada nos seguintes aspectos:
Aplicar algoritmos de aprendizagem automática para otimizar dinamicamente os parâmetros da EMA, de modo a que possam adaptar-se melhor às flutuações de preços.
Adicionar outros sinais de confirmação como volume, Bandas de Bollinger etc. para melhorar a qualidade do sinal.
Incorporar previsões de aprendizagem profunda de caminhos de preços para colocar stop loss e aproximar o lucro de níveis ideais.
Otimizar estratégias especificamente para dados de alta frequência para aumentar a precisão do sinal.
Adicionar mecanismos de ajuste adaptativos para a parada de perdas para evitar paradas excessivas.
Em resumo, a estratégia de ruptura de cruz de ouro dupla da EMA utiliza sinais de cruzamento da EMA para determinar tendências de preços e pontos de virada, e incorpora filtros de ruptura de preços para evitar falsos sinais. É uma tendência confiável, estável e fácil de implementar após a estratégia de negociação.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true) // === INPUTS === src = input(close) ema1Length = input(26, title='EMA-1') ema2Length = input(200, title='EMA-2') EMASig = input(true, title="Show EMA ?") takeProfitPercent = input(2.0, title="Take Profit (%)") / 100 stopLossPercent = input(1, title="Stop Loss (%)") / 100 pema1 = ta.ema(src, ema1Length) pema2 = ta.ema(src, ema2Length) // Plotting EMAs plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2) plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2) // EMA Crossover Buy Signal EMACrossoverLong = ta.crossover(pema1, pema2) // EMA Crossunder Short Signal EMACrossoverShort = ta.crossunder(pema1, pema2) // Crossover above EMA-200 Long Signal CrossoverAboveEMA200 = ta.crossover(close, pema2) // Trading logic for Long if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200) strategy.entry("Buy", strategy.long, qty=1) // Take Profit logic for Long longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent) if (strategy.position_size > 0 and longCondition) strategy.close("Buy") // Stop Loss logic for Long stopLossConditionLong = ta.crossunder(pema1, pema2) if (strategy.position_size > 0 and stopLossConditionLong) strategy.close("Buy") // Trading logic for Short if (EMACrossoverShort and close < pema1 and close < pema2) strategy.entry("Sell", strategy.short, qty=1) // Take Profit logic for Short shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent) if (strategy.position_size < 0 and shortCondition) strategy.close("Sell") // Stop Loss logic for Short stopLossConditionShort = ta.crossover(pema1, pema2) if (strategy.position_size < 0 and stopLossConditionShort) strategy.close("Sell") // Visual Signals plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small) plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)