
Este artigo apresenta uma estratégia de negociação que combina os dois indicadores técnicos MACD e Supertrend. A estratégia usa os sinais de cruzamento do indicador MACD e a direção da tendência do indicador Supertrend para determinar o momento de entrada e saída, com o objetivo de obter lucro em condições de tendência.
A estratégia usa o MACD e o Supertrend para gerar sinais de negociação. O MACD é obtido pela média móvel rápida (default 12 dias) menos a média móvel lenta (default 26 dias), e calcula a média móvel de 9 dias do MACD como linha de sinal. Quando o MACD atravessa a linha de sinal, uma forca de ouro é formada, é um sinal de multiplicação; Quando o MACD atravessa a linha de sinal, uma forca de ouro é formada, é um sinal de vazio. O indicador de Supertrend, combinado com o indicador de taxa de flutuação ATR, mostra uma tendência ascendente quando o preço está acima da linha de Supertrend e a linha de Supertrend é verde, e uma tendência descendente quando o preço está abaixo da linha de Supertrend e a linha de Supertrend é vermelha.
Este artigo apresenta uma estratégia de negociação baseada nos indicadores MACD e Supertrend, que utiliza a tendência do MACD e a direção da Supertrend para negociar em uma situação de tendência, enquanto usa o sinal de linha de cruzamento e o tempo de equilíbrio para controlar a retirada. A vantagem da estratégia é a simplicidade da lógica, a forte capacidade de captação de tendências, mas há também o risco de adaptabilidade de parâmetros, atraso de sinal e frequência de negociação.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="MACD + Supertrend Strategy", overlay=true)
// MACD Calculation
fastLength = 12
slowLength = 26
signalSmoothing = 9
macdSrc = close
// MACD Line
fastMA = ta.ema(macdSrc, fastLength)
slowMA = ta.ema(macdSrc, slowLength)
macdLine = fastMA - slowMA
// MACD Signal Line
signalMA = ta.ema(macdLine, signalSmoothing)
// MACD Histogram
histogram = macdLine - signalMA
// Supertrend Calculation
supertrendATRLength = 10
supertrendFactor = 3.0
[supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength)
// Entry and Exit Conditions
longCondition = (macdLine > signalMA) and (supertrend < close)
shortCondition = (signalMA > macdLine) and (supertrend > close)
// Long Entry
if longCondition
strategy.entry("Long", strategy.long)
// Long Exit (Sell)
if signalMA > macdLine
strategy.close("Long")
// Short Entry
if shortCondition
strategy.entry("Short", strategy.short)
// Short Exit (Cover)
if macdLine > signalMA
strategy.close("Short")
// Close Long Position if short condition is met
if shortCondition
strategy.close("Long")
// Close Short Position if long condition is met
if longCondition
strategy.close("Short")
// Plotting
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// Alerts
alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price')
alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line')
alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price')
alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')