A estratégia de negociação baseada em múltiplos indicadores é uma estratégia quantitativa de negociação que combina a média móvel MACD, estocástica e SMA. Esta estratégia visa identificar a direção da tendência no mercado e entrar no mercado em tempo hábil quando uma nova tendência começa.
Esta estratégia usa três indicadores técnicos, MACD, Estocástico e SMA, para julgar a força e direção da tendência do mercado. Quando a linha MACD cruza acima da linha de sinal, a linha %K do Estocástico cruza acima de %D e está acima do nível de sobrecompra, e a SMA rápida cruza acima da SMA lenta, um sinal de compra é acionado. Quando as situações opostas acontecem, um sinal de venda é identificado.
Ao combinar múltiplos indicadores, os sinais falsos podem ser filtrados e o início e o fim reais de uma tendência podem ser reconhecidos.
A maior vantagem desta estratégia é a combinação de múltiplos indicadores, que podem efetivamente filtrar o ruído do mercado e bloquear o início e o fim reais das tendências.
Além disso, esta estratégia é flexível no ajuste dos parâmetros e pode ser ajustada para diferentes produtos e ciclos, tornando-a altamente adaptável.
O principal risco desta estratégia é que a combinação de múltiplos indicadores aumenta a frequência de negociação e traz o risco de excesso de negociação.
Para reduzir os riscos, a frequência de negociação deve ser adequadamente controlada, os ciclos mais longos selecionados e os parâmetros otimizados.
A estratégia pode ser otimizada nos seguintes aspectos:
A estratégia de negociação baseada em múltiplos indicadores melhora a precisão do sinal através da validação composta de indicadores e pode identificar efetivamente o início e o fim das tendências.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Rule Number 1 Signals", overlay=true) //Calculate MACD crossing or not fastLength = input(8) slowlength = input(17) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) macdDelta = MACD - aMACD //Calculate Stochastic Crossing stochasticLength = input(14, minval=1) stochasticOverBought = input(80) stochasticOverSold = input(20) emaSignal = input(10) smoothK = 5 smoothD = 5 k = sma(stoch(close, high, low, stochasticLength), smoothK) d = sma(k, smoothD) //Crossovers and Over /Under macdCrossOver = crossover(macdDelta, 0) macdCrossUnder = crossunder(macdDelta, 0) macdOver = macdDelta > 0 macdUnder = macdDelta < 0 stochasticCrossOver = crossover(k, d) stochasticCrossUnder = crossunder(k, d) stochasticOver = k > d stochasticUnder = k < d ema = ema(close, emaSignal) smaCrossOver = crossover(close, ema) smaCrossUnder = crossunder(close, ema) smaOver = close > ema smaUnder = close < ema if ((macdCrossOver and stochasticOver and smaOver) or (macdOver and stochasticCrossOver and smaOver) or (macdOver and stochasticOver and smaCrossOver)) strategy.entry("Rule 1 Buy", strategy.long, comment="Rule 1 Buy") if ((macdCrossUnder and stochasticUnder and smaUnder) or (macdUnder and stochasticCrossUnder and smaUnder) or (macdUnder and stochasticUnder and smaCrossUnder)) strategy.entry("Rule 1 Sell", strategy.short, comment="Rule 1 Sell") //Plot the Oversold Study bgcol = k < stochasticOverSold ? green : k > stochasticOverBought ? red : na bgcolor(bgcol)