Estratégia de otimização da taxa de mudança

Autora:ChaoZhang, Data: 2024-02-20 13:54:49
Tags:

img

Resumo

Esta estratégia otimiza a estratégia original de taxa de mudança (ROC).

  1. Introduzir o valor histórico máximo do ROC para comparação dinâmica com o ROC atual para obter o valor relativo do momento.
  2. Suavizar o valor relativo do momento para gerar sinais.
  3. Adicionar limiares de sinal de compra e venda.

Através dessas medidas de otimização, muitos sinais inválidos podem ser filtrados para tornar a estratégia mais estável e confiável.

Princípio da estratégia

O indicador central desta estratégia é a taxa de mudança (ROC). O ROC mede a taxa de mudança nos preços das ações durante um determinado período. Esta estratégia primeiro calcula o valor do ROC durante um período de 9. Em seguida, registra o valor máximo deste indicador ROC nos últimos 200 períodos e calcula o ROC atual como uma porcentagem do ROC histórico máximo para obter a força relativa do impulso. Por exemplo, se o ROC mais alto nos últimos 200 dias atingir 100, então a força relativa é de 80% quando o ROC de hoje é 80.

A força relativa é suavizada por uma SMA de 10 períodos para filtrar flutuações de curto prazo e obter uma curva suave. Quando a curva suave aumenta continuamente por 3 dias e o valor está abaixo de -80%, considera-se que o declínio do preço da ação começa a desacelerar e o sinal inferior aparece, então vá longo; quando a curva suave cai continuamente por 3 dias e o valor está acima de 80%, considera-se que o aumento do preço da ação começa a desacelerar e o sinal superior aparece, então a posição próxima.

Análise das vantagens

Em comparação com a estratégia original da ROC, esta estratégia apresenta as seguintes vantagens principais:

  1. A introdução de uma comparação dos valores históricos máximos de ROC permite medir eficazmente o nível relativo dos indicadores de momento e filtrar sinais inválidos com valores absolutos insuficientemente elevados.
  2. O processamento suavizado filtra o ruído e torna os sinais mais estáveis e confiáveis.
  3. A fixação de limiares de compra e venda reduz as transacções inválidas.

Em geral, esta estratégia processa efetivamente o indicador ROC para torná-lo mais adequado para negociação ao vivo.

Análise de riscos

Os principais riscos desta estratégia são:

  1. O indicador ROC não pode determinar as tendências do mercado e há alguns enganos.
  2. Os limiares de compra e venda não são perfeitos. Definir os limiares muito altos ou muito baixos afetará o desempenho da estratégia.
  3. A configuração inadequada dos parâmetros SMA também afetará os resultados da estratégia.

Para reduzir os riscos acima referidos, considerar a combinação de indicadores de tendência para determinar as principais tendências; ajustar parâmetros limiares e testar parâmetros ideais; otimizar os parâmetros do ciclo SMA.

Orientações de otimização

A estratégia pode ser otimizada das seguintes formas:

  1. Combinar indicadores de tendência para determinar a direção geral do mercado e evitar falhas durante a conversão touro-urso.
  2. Teste os parâmetros de comprimento do ROC e os parâmetros de limiar de compra e venda para encontrar combinações ideais de parâmetros.
  3. Otimizar parâmetros de suavização SMA para encontrar os melhores parâmetros.
  4. Aumentar o mecanismo de stop loss.

Resumo

Esta é uma estratégia de otimização baseada no desenvolvimento secundário do indicador ROC. Ela introduz meios como comparação de valor máximo histórico, suavização de SMA e limiares de compra e venda para filtrar sinais inválidos e tornar a estratégia mais estável. A principal vantagem é a alta qualidade do sinal, que é adequada para negociação ao vivo. Melhorias de acompanhamento podem ser feitas a partir da combinação de tendências, otimização de parâmetros e assim por diante para melhorar ainda mais o desempenho da estratégia.


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

//@version=5
strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2)
//length = input.int(9, minval=1)
//source = input(close, "Source")
//roc = 100 * (source - source[length])/source[length]
//plot(roc, color=#2962FF, title="ROC")
//hline(0, color=#787B86, title="Zero Line")

length = input.int(9, minval=1, title="Length")
maxHistory = input(200, title="Max Historical Period for ROC")
lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC")
lenghtBUY = input.int(-80, title="Buy Threshold")
lenghtSELL = input.int(80, title="Buy Threshold")

source = close
roc = 100 * (source - source[length]) / source[length]

// Calculate the maximum ROC value in the historical period
maxRoc = ta.highest(roc, maxHistory)

// Calculate current ROC as a percentage of the maximum historical ROC
rocPercentage = (roc / maxRoc) * 100


rocPercentageS = ta.sma(rocPercentage, lenghtSmooth)
if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY
    strategy.entry("Buy", strategy.long)

if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL
    strategy.close("Buy")


plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC")
plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC")
hline(0, color=color.new(color.gray, 0), title="Zero Line")


Mais.