Estratégia de Anomalia do Indicador Estocástico de Suavização Exponencial


Data de criação: 2024-01-18 15:53:41 última modificação: 2024-01-18 15:53:41
cópia: 0 Cliques: 646
1
focar em
1617
Seguidores

Estratégia de Anomalia do Indicador Estocástico de Suavização Exponencial

Visão geral

A estratégia de deslocamento de indicadores aleatórios de deslizamento de indicadores aleatórios baseia-se em indicadores aleatórios tradicionais, com a adição de um parâmetro de peso de índice que pode ajustar a sensibilidade dos indicadores aleatórios, gerando assim um sinal de negociação. Quando o indicador se reverte da zona de sobre-compra, faça mais, quando se reverte da zona de sobre-venda, faça zero.

Princípio da estratégia

O núcleo da estratégia de deslocamento de indicadores aleatórios de deslizamento é o parâmetro de peso exponencial ex. A fórmula de cálculo para indicadores aleatórios tradicionais é:

s=100 * (close - 最低价) / (最高价 - 最低价) 

Depois de adicionar os parâmetros do índice, a fórmula de cálculo é:

exp= ex<10? (ex)/(10-ex) : 99  

s=100 * (close - 最低价) / (最高价 - 最低价)

ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50  
     :-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50

Ajustar o valor de exp pode alterar a influência de s sobre s, aumentando o valor de exp torna o indicador menos sensível e diminuindo o valor de exp torna o indicador mais sensível.

Quando ks reverte da zona de sobrecompra gera um sinal de compra; quando ks reverte da zona de sobrevenda gera um sinal de venda.

Vantagens estratégicas

A estratégia exponencial de smoothed randomization tem as seguintes vantagens em comparação com a estratégia tradicional de randomization:

  1. Ao ajustar o peso do índice, é possível ajustar livremente a sensibilidade do indicador aleatório, controlando assim a frequência de negociação.
  2. Aumentando o peso do índice, pode-se filtrar parte do ruído e produzir um sinal de negociação mais estável.
  3. A combinação de diferentes indicadores de períodos de tempo permite a confirmação de múltiplos quadros de tempo, aumentando a confiabilidade do sinal.

Risco estratégico

A estratégia de desvio de indicador aleatório de deslizamento de indicador também apresenta os seguintes riscos:

  1. Quando o índice é muito pesado, ele filtra mais sinais e perde algumas oportunidades de negociação.
  2. Os indicadores são suscetíveis a perturbações e erros de cruzamento, sendo necessário ajustar para garantir a confiabilidade do sinal de cruzamento.
  3. A definição do melhor intervalo de parâmetros para cada mercado pode afetar o desempenho da estratégia.

Direção de otimização da estratégia

A estratégia de deslocamento de indicadores aleatórios pode ser otimizada em vários aspectos:

  1. Em combinação com outros indicadores de filtragem de sinais, como MACD, Moving Average, etc., pode reduzir os sinais errados.
  2. Aumentar os mecanismos de suspensão de perdas para controlar os riscos de forma eficaz.
  3. Otimizar os parâmetros de peso do índice para encontrar a melhor combinação de parâmetros. Diferentes mercados podem definir parâmetros diferentes.
  4. O aumento da complexidade, por exemplo, em combinação com indicadores sazonais, indicadores de estrutura de mercado, etc., pode aumentar ainda mais a estabilidade da estratégia.

Resumir

A estratégia de variação de indicadores aleatórios de deslizamento de índice produz um sinal de negociação mais confiável, ajustando a sensibilidade dos indicadores aleatórios. A estratégia pode ser efetivamente seguida em tendências de linha longa, ou pode ser otimizada para estratégias de linha curta.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro

//@version=5
strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len=input.int(14, "length") 
ex=input.int(2, title="exp", minval=1, maxval=10)
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len))
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 :
 -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
plot(ks, color= color.white)
bot=input.int(20)
top=input.int(80)
longCondition = ta.crossover(ks, bot) and bar_index>0
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ks, top) and bar_index>0
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
//    strategy.close("My Long Entry Id")
alertcondition(longCondition, title = "buy")
alertcondition(shortCondition, title = "sell")
h1=hline(top)
h2=hline(bot)
h3=hline(100)
h4=hline(0)
fill(h1,h3, color= color.rgb(255,0,0,200-top*2))
fill(h2,h4, color= color.rgb(0,255,0,bot*2))