Esta estratégia visa explorar reversões ou continuações de tendências potenciais usando Meias Móveis Exponenciais (EMA) e um trailing stop baseado no método Chande Dynamic Convergence Divergence (CDC) Average True Range.
Esta estratégia usa EMAs duplas de 60 períodos e 90 períodos para determinar a direção da tendência. Um crossover em que a EMA de período mais curto se move acima da EMA de período mais longo dá um sinal de alta. Ao mesmo tempo, um crossover de linha MACD acima de sua linha de sinal pode confirmar a visão de alta. A entrada requer que o preço esteja acima do nível de parada de rastreamento do CDC calculado anteriormente.
As regras de saída são: feche a posição quando o preço atingir o nível de take profit baseado no ATR ou cair abaixo do nível de stop loss do CDC.
Esta estratégia combina EMAs duplas para julgar a direção da tendência principal e MACD para confirmar o tempo de entrada, evitando falhas. Tanto o trailing stop quanto os níveis de lucro são calculados com base na volatilidade do mercado para uma gestão eficaz do risco.
Além disso, os parâmetros de entrada desta estratégia são personalizáveis. Os usuários podem ajustar os períodos EMA, período ATR e multiplicador CDC de acordo com seu próprio estilo de negociação.
O maior risco desta estratégia é o julgamento incorreto da tendência. Quando o mercado está se consolidando, as EMAs podem facilmente dar sinais errados. Neste momento, o papel de confirmação do MACD é especialmente importante. Além disso, é necessário aumentar adequadamente o multiplicador de stop loss do CDC para lidar com grandes lacunas de preço causadas por eventos repentinos.
Esta estratégia faz bom uso das vantagens dos indicadores de tendência e volatilidade para identificar oportunidades potenciais em títulos. Através da otimização de parâmetros e melhorias de mecanismos, esta estratégia tem o potencial de melhorar ainda mais a estabilidade e a lucratividade.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved EMA & CDC Trailing Stop Strategy", overlay=true) // Define the inputs ema60Period = input(60, title="EMA 60 Period") ema90Period = input(90, title="EMA 90 Period") atrPeriod = input(24, title="CDC ATR Period") multiplier = input(4.0, title="CDC Multiplier") profitTargetMultiplier = input(2.0, title="Profit Target Multiplier (ATR)") // Calculate EMAs ema60 = ta.ema(close, ema60Period) ema90 = ta.ema(close, ema90Period) // Calculate ATR atr = ta.atr(atrPeriod) // MACD calculation [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Define the trailing stop and profit target longStop = close - multiplier * atr shortStop = close + multiplier * atr longProfitTarget = close + profitTargetMultiplier * atr shortProfitTarget = close - profitTargetMultiplier * atr // Entry conditions longCondition = close > ema60 and ema60 > ema90 and macdLine > signalLine and close > longStop shortCondition = close < ema60 and ema60 < ema90 and macdLine < signalLine and close < shortStop // Exit conditions based on profit target longProfitCondition = close >= longProfitTarget shortProfitCondition = close <= shortProfitTarget // Plot the EMAs, Stops, and MACD for visualization plot(ema60, color=color.blue, title="60 EMA") plot(ema90, color=color.red, title="90 EMA") plot(longStop, color=color.green, title="Long Stop", style=plot.style_linebr) plot(shortStop, color=color.red, title="Short Stop", style=plot.style_linebr) hline(0, "Zero Line", color=color.gray) plot(macdLine - signalLine, color=color.blue, title="MACD Histogram") // Strategy execution using conditional blocks if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) // Exit based on profit target and trailing stop if longProfitCondition or close < longStop strategy.close("Long") if shortProfitCondition or close > shortStop strategy.close("Short")