Esta estratégia utiliza o indicador MACD para criar sinais de negociação de posições longas quando o MACD está abaixo de um determinado nível para aproveitar oportunidades de reversão média.
Um sinal longo é gerado quando a linha MACD está abaixo da linha SIGNAL e o valor absoluto da MACD está abaixo de -0.00025. Depois de tomar uma posição longa, se a linha MACD cruzar acima da linha SIGNAL novamente, a posição será fechada.
De acordo com a teoria das médias móveis, há uma probabilidade de reversão média no curto prazo, e um sinal longo é estabelecido com base nessa probabilidade.
Este risco pode ser reduzido através da otimização de parâmetros.
Esta estratégia utiliza a probabilidade de reversões médias dos níveis de sobrevenda identificados pelo indicador MACD para gerar sinais longos e lucros através de longos períodos de retenção.
//@version=3 strategy(title="MACD - EURUSD", shorttitle="MACD EURUSD") // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval =9) sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 ) plot(macd, title="MACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) longCond = crossover(macd, signal) and macd < -0.00025 exitLong = crossover(macd, hist) strategy.entry("long", strategy.long, when=longCond==true) strategy.close("long", when=exitLong==true)