A estratégia de negociação composta de múltiplos indicadores integra quatro principais indicadores: divergência de convergência média móvel (MACD), índice de força relativa (RSI), índice de canal de commodities (CCI) e índice de força relativa estocástica (StochRSI).
Esta estratégia baseia-se essencialmente em quatro indicadores:
MACD: Calcula a diferença entre as médias móveis rápidas e lentas para julgar o ímpeto e as tendências dos preços.
RSI: Calcula a magnitude das mudanças de preço ao longo de um período de tempo. Um RSI acima de 70 indica condições de sobrecompra e abaixo de 30 sobrevenda. Esta estratégia usa 70 e 30 como limiares.
CCI: mede a dinâmica dos preços através do cálculo do desvio percentual do preço em relação à sua média móvel.
StochRSI: combina Stochastics e RSI. Uma cruz de ouro entre as linhas StochRSI %K e %D sinaliza uma compra, enquanto uma cruz de morte sinaliza uma venda.
Só quando os quatro indicadores preencherem os critérios simultaneamente será gerado um sinal de compra ou venda real.
As principais vantagens desta estratégia de múltiplos indicadores são:
Filtra sinais falsos exigindo o acordo de todos os indicadores, evitando perseguir os tops ou o pânico vendendo fundos.
Captura as tendências primárias em diferentes dimensões, combinando diferentes perspectivas de indicadores.
Grande espaço de otimização de parâmetros para ajustar cada indicador para um desempenho geral ótimo.
As ponderações podem ser ajustadas com base em mercados de alta ou baixa para se concentrar em estratégias de tendência ou média de reversão.
Os principais riscos são:
Os indicadores podem gerar falsos sinais simultâneos, desencadeando negociações incorretas.
Os preços podem mover-se violentamente o suficiente para sinais falsos simultâneos em todos os indicadores.
Sinais de compra atrasados à medida que os indicadores se alinham.
Difícil de otimizar muitos parâmetros, possivelmente sobreajustado.
As mitigações incluem ajuste de parâmetros, perdas de parada e controle de dimensionamento de posição.
Oportunidades de melhoria:
Teste combinações com mais indicadores como KD, Bollinger Bands para encontrar o portfólio ideal.
Otimizar parâmetros para o melhor desempenho geral, talvez através de aprendizagem de máquina.
Personalizar parâmetros para diferentes unidades populacionais e setores.
Adicione mecanismos de stop loss no código da estratégia, como vender quando o preço ultrapassa o suporte.
Selecionar ações com um desempenho forte dentro dos setores para melhorar os retornos da carteira.
Esta estratégia integra sinais em quatro principais indicadores
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD RSI CCI StochRSI Strategy", shorttitle="MRCSS", overlay=true) // MACD göstergesi fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") [macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength) // RSI göstergesi rsiLength = input(14, title="RSI Length") rsiLevel = input(70, title="RSI Overbought Level") rsiValue = rsi(close, rsiLength) // CCI göstergesi cciLength = input(8, title="CCI Length") cciLevel = input(100, title="CCI Overbought Level") cciValue = cci(close, cciLength) // Stochastic Oscillator göstergesi stochLength = input(14, title="Stoch Length") stochK = input(3, title="Stoch K") stochD = input(3, title="Stoch D") stochValue = stoch(close, high, low, stochLength) stochDValue = sma(stochValue, stochD) // Alış ve Satış Sinyalleri buySignal = crossover(macdLine, signalLine) and rsiValue < rsiLevel and cciValue < cciLevel and stochValue > stochDValue sellSignal = crossunder(macdLine, signalLine) and rsiValue > (100 - rsiLevel) and cciValue > (100 - cciLevel) and stochValue < stochDValue // Ticaret stratejisi uygula strategy.entry("Buy", strategy.long, when = buySignal) strategy.close("Buy", when = sellSignal) strategy.entry("Sell", strategy.short, when = sellSignal) strategy.close("Sell", when = buySignal) // Göstergeleri çiz hline(rsiLevel, "RSI Overbought", color=color.red) hline(100 - rsiLevel, "RSI Oversold", color=color.green) hline(cciLevel, "CCI Overbought", color=color.red) hline(100 - cciLevel, "CCI Oversold", color=color.green) // Grafik üzerinde sinyal okları çiz plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)