Estratégia de negociação a curto prazo baseada no índice estocástico

Autora:ChaoZhang, Data: 2024-01-18 16:14:34
Tags:

img

Resumo

Esta estratégia projeta uma estratégia de negociação de curto prazo baseada no indicador do índice estocástico (SMI), principalmente para negociação de curto prazo de ações e moedas digitais.

Princípio da estratégia

A estratégia utiliza principalmente o indicador do índice estocástico para julgar as zonas de sobrecompra e sobrevenda do mercado.

SMI = (MA(Close - LL) /(HH - LL)) * 100

Quando LL é o preço mais baixo em N dias, HH é o preço mais alto em N dias. O conceito de design deste indicador é que quando o preço de fechamento está próximo do preço mais alto em N dias, o mercado está em estado de sobrecompra; quando o preço de fechamento está perto do preço mais baixo em N dias, o mercado está em estado de sobrevenda.

Nesta estratégia, o parâmetro SMA N leva 5 e 3, indicando que o Índice Estocástico de 5 dias e 3 dias são usados. Normalmente, usar apenas um parâmetro pode gerar facilmente sinais errados. Portanto, esta estratégia adota confirmação dupla de SMA dupla, o que pode filtrar algum ruído.

Além disso, o indicador EMA é sobreposto na estratégia e os parâmetros são definidos para serem coerentes com o indicador SMI, a fim de confirmar ainda mais os sinais do indicador SMI e evitar erros de julgamento.

Vantagens da estratégia

  1. Análise das áreas de sobrecompra e sobrevenda com base no indicador do índice estocástico para captar oportunidades de reversão
  2. A dupla configuração do parâmetro SMA pode efetivamente filtrar sinais errados
  3. Combinação com o indicador EMA para confirmação, a fim de evitar equívocos

Riscos da Estratégia

  1. O indicador SMI é propenso a gerar sinais errados. Mesmo com indicadores duplos SMA e EMA, os riscos não podem ser completamente evitados.
  2. Em um mercado em tendência, esta estratégia pode gerar demasiadas operações reversas, afetando assim o lucro global.

Prevenção de riscos:

  1. Usar o stop loss para controlar a perda única
  2. Utilize esta estratégia apenas em mercados de negociação lateral ou de intervalo para evitar a sua utilização em mercados de tendência

Orientações de otimização

  1. Ensaiar indicadores SMI sob diferentes parâmetros para encontrar a combinação ideal de parâmetros
  2. Tente combinar com outros indicadores de confirmação, tais como Bandas de Bollinger, KDJ, etc., para melhorar a precisão do sinal
  3. Otimizar estratégias de stop loss e definir stop loss variáveis com base na volatilidade do mercado
  4. Combinar com indicadores de avaliação da tendência para evitar a utilização durante os mercados de tendência

Resumo

Em geral, esta é uma estratégia adequada para negociação de curto prazo. Combina as características de sobrecompra e sobrevenda do indicador do índice estocástico com confirmação de média móvel e filtragem para identificar algumas oportunidades de negociação de curto prazo. No entanto, esta estratégia é propensa a gerar sinais errados em mercados de tendência, por isso é necessário prestar atenção especial ao usá-la. É melhor usá-la com indicadores de tendência de julgamento para evitar tais situações. Em geral, esta estratégia pode capturar algumas oportunidades de negociação de curto prazo durante mercados de gama, mas é necessário prestar atenção ao controle de risco e às saídas de stop-loss durante o uso.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="SMIndex Strategy", shorttitle="SMIndex Strategy", overlay=false, pyramiding=0, initial_capital=1000, currency=currency.USD)
//
sm1 = input(5, 'sm1')
sm2 = input(3, 'sm2')
//
Lower = lowest (low, sm1)
Hight = highest (high, sm1)
Downsideup = Hight - Lower
Upsidedown = close - (Hight+Lower)/2
//
ema1 = ema(ema(Upsidedown,sm2),sm2)
ema2 = ema(ema(Downsideup,sm2),sm2)
smi = ema2 != 0 ? (ema1/(ema2/2)*100) : 0
//
obLevel1 = input(55, "Over Bought Level 1")
obLevel2 = input(35, "Over Bought Level 2")
osLevel1 = input(-55, "Over Sold Level 1")
osLevel2 = input(-35, "Over Sold Level 2")
//
// h1=plot(obLevel1, color=red, title='Sell 1s 55 do', style=dashed, linewidth=2)
// h2=plot(obLevel2, color=maroon, title='Sell 2s 35 do', style=circles, linewidth=2)
// h3=plot(osLevel1, color=red, title='Buy 1s -55 up', style=dashed, linewidth=2)
// h4=plot(osLevel2, color=maroon, title='Buy 2s -35 up', style=circles, linewidth=2)
plot(smi, color=gray, style=line, linewidth=0, transp=5)
plot(ema1, color=orange, style=line, linewidth=0, transp=5)
plot(0, color=gray, style=circles, linewidth=1, title='Base Line')
//
// fill(h1, h2, color=red, transp=55)
// fill(h3, h4, color=green, transp=55)
//Strategy Long Short Entry
longEntry = (smi) < -75 or (smi) < -65 or (smi) < -55 or (smi) < -45 
shortEntry = (smi) > 75 or (smi) > 65 or (smi) > 55 or (smi) > 45 

longCondition = longEntry
if(longCondition)
    strategy.entry("long", strategy.long)
    
shortCondition = shortEntry
if(shortCondition)
    strategy.entry("short", strategy.short)


Mais.