Este artigo apresenta uma estratégia para rastrear as tendências de ações com base no indicador do Índice de Momento Estocástico (SMI). A estratégia é chamada de
O indicador SMI é usado para identificar zonas de sobrecompra e sobrevenda. Os valores na área vermelha indicam que o estoque está sobrevendido, enquanto a área verde significa condições de sobrecompra. Os sinais de negociação são gerados a partir do cruzamento entre o SMI e sua linha EMA.
Especificamente, um sinal longo é acionado quando o SMI cruza acima de sua EMA e o SMI está abaixo do nível de sobrevenda de -40. Um sinal curto é acionado quando o SMI cruza abaixo de sua EMA e o SMI está acima do nível de sobrecompra de 40.
Ao fazê-lo, a estratégia pode capturar a reversão de preços e implementar comprar baixo vender alto.
A maior vantagem reside na sua capacidade de seguir as tendências. Como utiliza o SMI para determinar os pontos de entrada e saída, os sinais se alinham perfeitamente com as inversões de preços.
Além disso, o próprio SMI tem a característica de suavizar os preços. Em comparação com médias móveis simples, ele responde mais constantemente às mudanças de preço. Os sinais de negociação são mais confiáveis sem serem facilmente afetados pelo ruído do mercado.
Em resumo, a estratégia aproveita com sucesso a força do SMI para rastrear efetivamente as tendências de ações.
A estratégia baseia-se fortemente no indicador SMI e enfrenta, por conseguinte, alguns riscos associados.
Em primeiro lugar, o SMI é sensível ao ajuste de parâmetros. Parâmetros incorretos podem prejudicar significativamente a qualidade do sinal.
Além disso, nenhum indicador é imune a sinais falsos, incluindo o SMI. Whipsaws podem acontecer durante alta volatilidade que causa perdas desnecessárias.
Por último, não atenuam o risco sistémico de mercado. Se o mercado inteiro entrar em estado de baixa, são inevitáveis perdas graves.
A estratégia pode ser melhorada a partir dos seguintes aspectos:
Incorporar outros indicadores para formar um sistema de sindicatos. Isso ajuda a aumentar a confiabilidade e rentabilidade do sinal. Fatores fundamentais e medidas de volatilidade podem ser adicionados.
Utilize o aprendizado de máquina para otimizar automaticamente os parâmetros do SMI com base em grandes dados históricos.
Adicionar mecanismos de stop loss. Stop loss razoável reduz enormemente a perda de uma única negociação e evita riscos.
Combinar as regras quantitativas de selecção dos stocks para melhorar a qualidade global do conjunto de stocks.
Neste artigo, apresentamos a estratégia Momentum Surfer, que rastreia tendências com o indicador SMI. Sua maior força reside em capturar reversões e seguir as tendências sem problemas. Alguns riscos como sensibilidade de parâmetros e qualidade do sinal estão presentes. Sugerimos algumas maneiras de aprimorá-lo.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Stochastics Momentum Index Strategy", shorttitle="Stoch_MTM_Doan", overlay=true) // Input parameters a = input.int(10, "Percent K Length") b = input.int(3, "Percent D Length") ob = input.int(40, "Overbought") os = input.int(-40, "Oversold") // Range Calculation ll = ta.lowest(low, a) hh = ta.highest(high, a) diff = hh - ll rdiff = close - (hh+ll)/2 avgrel = ta.ema(ta.ema(rdiff,b),b) avgdiff = ta.ema(ta.ema(diff,b),b) // SMI calculations SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0 SMIsignal = ta.ema(SMI,b) emasignal = ta.ema(SMI, 10) // Color Definition for Stochastic Line col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white plot(SMIsignal, title="Stochastic", color=color.white) plot(emasignal, title="EMA", color=color.yellow) level_40 = ob level_40smi = SMIsignal > level_40 ? SMIsignal : level_40 level_m40 = os level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40 plot(level_40, "Level ob", color=color.red) plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line) plot(level_m40, "Level os", color=color.green) plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line) //fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold") //fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought") // Strategy Tester longCondition = ta.crossover(SMIsignal, emasignal) and (SMI < os) if (longCondition) strategy.entry("Buy", strategy.long) shortCondition = ta.crossunder(SMIsignal, emasignal) and (SMI > ob) if (shortCondition) strategy.entry("Sell", strategy.short)