Estratégia de Backtesting do Oscilador de Previsão de Ponto de Pivô


Data de criação: 2023-12-20 13:44:26 última modificação: 2023-12-20 13:44:26
cópia: 0 Cliques: 669
1
focar em
1621
Seguidores

Estratégia de Backtesting do Oscilador de Previsão de Ponto de Pivô

Visão geral

A estratégia é baseada no Pivot Point Forecast Oscillator, desenvolvido por Tushar Chande. O indicador calcula a diferença percentual entre o preço de fechamento e o preço de previsão de uma regressão linear n periódica. Quando o preço de previsão é superior ao preço de fechamento, o indicador se rompe; quando o preço de previsão é inferior ao preço de fechamento, o indicador se rompe.

Princípio da estratégia

A estratégia usa o indicador de previsão de oscilação do eixo central para avaliar a hiperactividade do mercado. Concretamente, é calculado o percentual de diferença entre o preço previsto de regresso linear de n ciclos e o preço de fechamento real. A lógica de negociação completa é a seguinte:

  1. Calcule n ciclos de regressão linear de previsão de preço xLG
  2. Calcular a diferença percentual entre o preço de encerramento e o preço de previsão xCFO
  3. Julgar a diferença percentual xCFO em relação a 0, e a saída de sinal de possig
    1. xCFO > 0 e permite fazer mais, possig = 1
    2. xCFO < 0 e permitido um vazio, possig = -1
    3. Caso contrário, possig = 0
  4. De acordo com o sinal de possig, faça mais ou menos

A estratégia é simples e direta, gerando um sinal de negociação ao comparar o preço real com o preço previsto para determinar se o mercado está sobrevalorizado ou subvalorizado.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A lógica é clara e a implementação é fácil de entender.
  2. Os parâmetros são menores, facilitando o ajuste.
  3. Ciclo de seleção flexível para diferentes mercados.
  4. Pode-se alternar facilmente entre as direcções.
  5. Indicadores de visualização para criar sinais claros de negociação.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. As previsões de regressão linear são efetivas em alguns momentos, mas não são efetivas permanentemente.
  2. A escolha errada de parâmetros pode levar a transações excessivamente frequentes.
  3. O evento pode causar um sinal de erro no indicador.

Resposta:

  1. Em combinação com outros indicadores, para garantir a eficácia da previsão de regressão linear.
  2. Optimizar os parâmetros e reduzir a frequência de transações.
  3. Aumentar as estratégias de stop loss e controlar as perdas individuais.

Direção de otimização

A estratégia pode ser melhorada em:

  1. A combinação de indicadores como as médias móveis enriquece os sinais de negociação.
  2. A estratégia de parar perdas para evitar grandes perdas.
  3. Optimizar parâmetros para obter a melhor combinação de parâmetros.
  4. Adição de estratégias de bloqueio automático.
  5. Considerando as taxas de transação, estabeleça um limite razoável de stop-loss.

Resumir

A estratégia de negociação quantitativa que utiliza a regressão linear para prever os preços. A lógica é simples, a configuração de parâmetros é flexível e pode gerar um sinal de negociação claro. A estratégia ainda tem espaço para melhorias na otimização da estratégia de stop loss, seleção de parâmetros e combinação com outros sinais de indicadores.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/03/2018
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Chande Forecast Oscillator Backtest", shorttitle="CFO")
Length = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
hline(0, color=black, linestyle=line)
xLG = linreg(close, Length, Offset)
xCFO = ((close -xLG) * 100) / close
pos = iff(xCFO > 0, 1,
       iff(xCFO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xCFO, color=red, title="CFO")