
Esta estratégia baseia-se no indicador Stochastic Index (SMI) para criar uma estratégia de negociação de curto prazo, principalmente para negociação de curto prazo em ações e moedas digitais. A estratégia combina os sinais de compra e venda exagerados do indicador Stochastic Index e a confirmação da média móvel, que pode capturar a reversão intermédia em mercados de tendência e fornecer melhores pontos de entrada.
A estratégia utiliza principalmente o índice estocástico para determinar as áreas de sobrecompra e sobrevenda do mercado. A fórmula para o índice estocástico é:
SMI = (MA(Close - LL)/(HH - LL)) * 100
Dentre eles, LL é o preço mais baixo em N dias e HH é o preço mais alto em N dias. O conceito de design do indicador é que o mercado está em supercompra quando o preço de fechamento se aproxima do preço mais alto em N dias; quando o preço de fechamento se aproxima do preço mais baixo em N dias, o mercado está em supervenda.
Nesta estratégia, os parâmetros do indicador SMA N são 5 e 3, que representam o índice estocástico de 5 e 3 dias. Geralmente, se apenas um parâmetro for usado, é fácil gerar um sinal de erro, então esta estratégia usa a dupla confirmação do SMA duplo para filtrar algum ruído.
Além disso, a estratégia sobrepõe o EMA de média móvel, com parâmetros definidos para coincidir com o SMI, para confirmar ainda mais os sinais do SMI e evitar erros de avaliação.
Evitar riscos:
Esta estratégia é, em geral, uma estratégia adequada para a negociação de curto prazo. Combina a característica de supercompra e supervenda do indicador Stochastic Index, com filtragem e confirmação de sinais com a média móvel, para identificar algumas oportunidades de negociação de curto prazo.
/*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)