Esta estratégia é um sistema de negociação de dupla confirmação de tendência que combina o indicador MACD com o indicador Supertrend. A estratégia determina os pontos de entrada comparando os cruzamentos da linha MACD com a linha de sinal, considerando a direção da Supertrend, incorporando níveis fixos de stop-loss e take-profit para gerenciamento de riscos.
A lógica central da estratégia baseia-se nos seguintes elementos-chave: 1. Indicador de Supertrend: usa ATR de 20 períodos e fator de 2 para calcular linhas de tendência para determinar a direção atual da tendência do mercado. 2. Indicador MACD: Emprega configurações clássicas do parâmetro 12/26/9, gerando sinais de negociação através de cruzamentos rápidos e lentos de linha. Condições de entrada: As ordens de compra são acionadas apenas quando a linha rápida do MACD cruza acima da linha lenta (sinal de compra) e a direção da Supertrend é ascendente (direção==1). 4. Gestão de riscos: define níveis de stop-loss de 0,5% e take-profit de 99,99% para cada negociação para proteger o capital e garantir lucros.
A estratégia constrói uma tendência relativamente confiável seguindo o sistema de negociação, combinando vantagens dos indicadores MACD e Supertrend. A taxa de precisão de 46% e o retorno de 46% demonstram potencial lucrativo. Através de otimizações sugeridas, particularmente filtragem de stop-loss dinâmico e ambiente de mercado, a estabilidade e adaptabilidade da estratégia podem ser ainda melhoradas. Adequado para negociação intradiária e de futuros, os usuários devem notar a compatibilidade do ambiente de mercado e ajustar os parâmetros de acordo com as condições reais.
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('MANTHAN BHRAMASTRA', overlay=true) // Supertrend function f_supertrend(_period, _multiplier) => atr = ta.sma(ta.tr, _period) upTrend = hl2 - _multiplier * atr downTrend = hl2 + _multiplier * atr var float _supertrend = na var int _trendDirection = na _supertrend := na(_supertrend[1]) ? hl2 : close[1] > _supertrend[1] ? math.max(upTrend, _supertrend[1]) : math.min(downTrend, _supertrend[1]) _trendDirection := close > _supertrend ? 1 : -1 [_supertrend, _trendDirection] // Supertrend Settings factor = input(2, title='Supertrend Factor') atrLength = input(20, title='Supertrend ATR Length') // Calculate Supertrend [supertrendValue, direction] = f_supertrend(atrLength, factor) // MACD Settings fastLength = input(12, title='MACD Fast Length') slowLength = input(26, title='MACD Slow Length') signalSmoothing = input(9, title='MACD Signal Smoothing') // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // Generate Buy signals buySignal = ta.crossover(macdLine, signalLine) and direction == 1 // Plot Buy signals // Calculate stop loss and take profit levels (0.25% of the current price) longStopLoss = close * 0.9950 longTakeProfit = close * 1.9999 // Execute Buy orders with Target and Stop Loss if buySignal strategy.entry('Buy', strategy.long) strategy.exit('Sell', 'Buy', stop=longStopLoss, limit=longTakeProfit)