Estratégia do oscilador estocástico


Data de criação: 2023-11-06 09:30:27 última modificação: 2023-11-06 09:30:27
cópia: 1 Cliques: 576
1
focar em
1621
Seguidores

Estratégia do oscilador estocástico

Visão geral

A estratégia de choque aleatório utiliza um conjunto de indicadores técnicos, tais como o cruzamento de linhas de mediana, MACD e Hull Moving Average, para formar um sistema de decisão de negociação mais científico e sistemático. A estratégia se dedica a capturar pontos de mudança de tendência em situações de choque, a fim de descobrir e aproveitar as oportunidades potenciais da situação.

Princípio da estratégia

Em primeiro lugar, a estratégia usa um indicador simultâneo de linha de giro e linha de referência. Em que a linha de giro é calculada como a média dos preços mais altos e mais baixos em 9 períodos, e a linha de referência é calculada como a média dos preços mais altos e mais baixos em 24 períodos. Quando o preço passa de baixo para cima, é um sinal de compra; quando passa de cima para baixo, é um sinal de venda.

Em segundo lugar, o MACD, como um importante indicador de acompanhamento de tendências, também é adotado pela estratégia. O MACD é calculado por meio da diferença entre a curta-metragem e a longa-metragem, e depois calcula a linha de sinal. Quando o MACD atravessa a linha de sinal de baixo para cima, é um sinal de compra; quando atravessa a linha de sinal de cima para baixo, é um sinal de venda.

Além disso, a média móvel de Hull foi introduzida na estratégia para reduzir o atraso das médias móveis e aumentar a sensibilidade do sinal de reversão de preço. O método de cálculo é: multiplicar por 2 o WMA de meio ciclo, subtrair o WMA de ciclo completo e calcular o WMA de ciclo aberto.

Finalmente, a estratégia combina os resultados de vários indicadores acima, formando um sistema de decisão de negociação mais confiável. Quando um conjunto de indicadores, como MACD e Hull MA, emitem sinais de sincronia, as operações de compra e venda reais ocorrem.

Vantagens estratégicas

  • A combinação de vários indicadores, com a utilização de três indicadores, MACD e Hull MA, formam uma força de decisão mais forte.

  • Reduz os falsos sinais, permite a verificação entre os diferentes indicadores, reduz a probabilidade de erro de um único indicador.

  • Aumentar a eficiência operacional, apenas quando vários indicadores coincidem, evitando transações frequentes.

  • Parâmetros ajustáveis, os parâmetros do indicador podem ser ajustados de acordo com o mercado, aumentando a adaptabilidade da estratégia.

  • Para reduzir o atraso, a Hull MA aprimorou o cálculo das médias móveis para capturar mudanças de preços mais cedo.

Risco estratégico

  • O risco de confusão aérea é maior e pode gerar sinais errados.

  • A configuração incorreta dos parâmetros do indicador também pode afetar o desempenho da estratégia.

  • A tendência é de que os indicadores de inflação sejam mais rápidos do que os indicadores de inflação, e que os indicadores de inflação sejam mais rápidos.

  • O Hull MA é um indicador mais recente e a sua eficácia a longo prazo está a ser testada.

  • A frequência de negociação pode ser baixa, o que impede que todas as oportunidades sejam aproveitadas em tempo hábil.

Direção de otimização

  • Pode-se testar a adição de outros indicadores, como Bollinger Bands, para otimizar ainda mais o sistema de tomada de decisão.

  • Pode-se ajustar os parâmetros indicadores para encontrar a combinação de parâmetros ótima.

  • Pode-se introduzir um mecanismo de parada dinâmica para controlar a perda individual.

  • A análise de tendências pode ser combinada com indicadores de tendências para evitar a perda de oportunidades de tendências.

  • Optimizar a gestão de posições e ajustar a frequência de negociação e posições em diferentes mercados.

Resumir

A estratégia de choque aleatório usa uma combinação de indicadores e métodos de análise técnica para encontrar oportunidades de negociação em situações de choque. Ela possui vantagens de combinação de indicadores, redução de falsos sinais e melhoria da eficiência operacional.

Código-fonte da estratégia
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Ichimoku Kinko Hyo + HULL-MA_X + MacD", shorttitle="@m", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

keh=input(title="Double HullMA",defval=12, minval=1)

n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
LS=close, offset = -displacement

MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(24)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
p1=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
p2=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)

closelong = n1<n2 and close<n2 and (MACD<aMACD or TenkanSen<KijunSen or close<KijunSen)
if (closelong)
    strategy.close("Long")

closeshort = n1>n2 and close>n2 and (MACD>aMACD or TenkanSen>KijunSen or close>KijunSen)
if (closeshort)
    strategy.close("Short")

longCondition = n1>n2 and close>n2 and MACD>aMACD and (TenkanSen>KijunSen or close>KijunSen) 
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = n1<n2 and close<n2 and MACD<aMACD and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)