Esta estratégia é uma abordagem quantitativa de negociação baseada no cruzamento entre o Detrended Price Oscillator (DPO) e sua média móvel exponencial de 4 períodos (EMA). O conceito central é capturar mudanças de tendência do mercado comparando a relação entre o DPO e sua EMA de 4 períodos para gerar sinais de compra e venda. A estratégia é particularmente eficaz em prazos de 4 horas e acima, especialmente quando se usam velas Heikin Ashi.
A lógica básica inclui as seguintes etapas-chave: 1. Calcular a média móvel simples (SMA) de 24 períodos como linha de base 2. Mudar a SMA para a frente por períodos (largura/2+1) para obter o valor SMA deslocado Subtrair a SMA deslocada do preço de fechamento para obter o valor do DPO 4. Calcular a EMA de 4 períodos do DPO 5. Gerar sinal de compra quando o DPO cruzar acima de sua EMA de 4 períodos 6. Gerar sinal de venda quando o DPO cruzar abaixo de sua EMA de 4 períodos
A Estratégia de Crossover de Tendência DPO-EMA é uma estratégia quantitativa de negociação estruturalmente simples, mas eficaz. Combinando o oscilador desviado com médias móveis, a estratégia capta efetivamente as mudanças de tendência do mercado. Embora existam riscos inerentes, a estratégia mantém valor prático por meio de otimização adequada e medidas de gerenciamento de risco. Para os traders de médio a longo prazo, essa estratégia representa uma abordagem de negociação viável que vale a pena considerar.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DPO 4,24 Strategy", shorttitle="DPO Strategy", overlay=true) // Define a fixed lookback period and EMA length length = 24 ema_length = 4 // Calculate the Simple Moving Average (SMA) of the closing prices sma = ta.sma(close, length) // Calculate the shifted SMA value shifted_sma = sma[length / 2 + 1] // Calculate the Detrended Price Oscillator (DPO) dpo = close - shifted_sma // Calculate the 4-period Exponential Moving Average (EMA) of the DPO dpo_ema = ta.ema(dpo, ema_length) // Generate buy and sell signals based on crossovers buy_signal = ta.crossover(dpo, dpo_ema) sell_signal = ta.crossunder(dpo, dpo_ema) // Overlay buy and sell signals on the candlestick chart plotshape(series=buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.close("Buy")