Esta estratégia combina métodos de análise de tendência e momento, utilizando indicadores de média móvel simples (SMA) e média móvel de convergência divergência (MACD) para identificar oportunidades de negociação em potencial. A estratégia usa o indicador Trendilo (um indicador de tendência baseado em SMA) para determinar a tendência geral do mercado, enquanto emprega cruzamento de linha zero MACD para capturar mudanças de momento de curto prazo. Além disso, a estratégia incorpora a média de True Range (ATR) para definir dinamicamente os níveis de stop-loss e take-profit, adaptando-se às mudanças na volatilidade do mercado.
A lógica central da estratégia baseia-se nos seguintes elementos-chave:
Especificamente, um sinal longo é acionado quando a linha MACD cruza acima de zero e o preço de fechamento está acima da linha Trendilo. Por outro lado, um sinal curto é acionado quando a linha MACD cruza abaixo de zero e o preço de fechamento está abaixo da linha Trendilo.
Esta estratégia combina habilmente o seguimento de tendências e a análise de momento, fornecendo aos traders uma estrutura de análise de mercado relativamente abrangente através da sinergia do Trendilo e do MACD. A abordagem dinâmica de gerenciamento de risco aumenta a adaptabilidade da estratégia, permitindo que ela mantenha a estabilidade em diferentes ambientes de mercado. No entanto, os traders ainda devem ser cautelosos ao usar esta estratégia, especialmente em termos de otimização de parâmetros e controle de risco. Através de monitoramento e otimização contínuos, esta estratégia tem o potencial de se tornar uma ferramenta de negociação confiável, particularmente adequada para investidores que buscam capturar oportunidades em mercados de tendências.
/*backtest start: 2019-12-23 08:00:00 end: 2024-09-24 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true) // --- Inputs --- atrPeriod = input.int(14, title="ATR Period") stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier") takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier") // --- Trendilo --- trendiloPeriod = input.int(50, title="Trendilo Period") trendilo = ta.sma(close, trendiloPeriod) // --- MACD --- [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) macdZeroCrossUp = ta.crossover(macdLine, 0) macdZeroCrossDown = ta.crossunder(macdLine, 0) // --- ATR for Stop Loss and Take Profit --- atr = ta.atr(atrPeriod) stopLoss = atr * stopLossMultiplier takeProfit = atr * takeProfitMultiplier // --- Trading Logic --- longCondition = macdZeroCrossUp and close > trendilo shortCondition = macdZeroCrossDown and close < trendilo // --- Execute Long Trades --- if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss) // --- Execute Short Trades --- if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss) // --- Plot Signals --- plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // --- Plot Trendilo --- plot(trendilo, color=color.blue, linewidth=2)