Estratégia de backtesting do oscilador de previsão de ponto pivô

Autora:ChaoZhang, Data: 2023-12-20 13:44:26
Tags:

img

Resumo

Esta estratégia testa o Pivot Point Forecast Oscillator desenvolvido por Tushar Chande. O oscilador calcula a diferença percentual entre o preço de fechamento e o preço previsto de regressão linear de n períodos. Ele cruza acima de 0 quando o preço de previsão é maior que o preço de fechamento e cruza abaixo de 0 quando menor. Isso pode ser usado para identificar pontos de virada no mercado.

Estratégia lógica

A estratégia utiliza o Pivot Point Forecast Oscillator para determinar a direção do mercado. Especificamente, ele calcula a diferença percentual entre o preço previsto de regressão linear de n períodos e o preço de fechamento real. Quando a diferença percentual cruza acima de 0, ele vai longo. Quando a diferença percentual cruza abaixo de 0, ele vai curto. A lógica de negociação completa é a seguinte:

  1. Calcular o preço de previsão de regressão linear de n períodos xLG
  2. Calcular a diferença percentual entre o preço de fechamento e o preço previsto xCFO
  3. Determinar a relação entre xCFO e 0 para sinal de saída possig
    1. xCFO > 0 e long é permitido, possig = 1
    2. xCFO < 0 e curto são permitidos, possig = -1
    3. Caso contrário, possig = 0
  4. Vai longo ou curto baseado no sinal de possig

A estratégia é simples e direta, comparando o preço real com o preço previsto para determinar se o mercado está superestimado ou subestimado, gerando assim sinais de negociação.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. Lógica clara, fácil de entender e implementar.
  2. Poucos parâmetros, fácil de ajustar.
  3. Flexível na escolha dos prazos, adaptável aos diferentes mercados.
  4. É conveniente alternar entre longo e curto.
  5. O indicador visual forma sinais comerciais claros.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. A previsão de regressão linear tem uma pontualidade, pode não sustentar a eficácia.
  2. A escolha incorreta dos parâmetros pode causar excesso de negociação.
  3. Os eventos do cisne negro podem causar sinais incorretos.

Contramedidas:

  1. Combinar com outros indicadores para assegurar a validade da previsão de regressão linear.
  2. Otimizar os parâmetros para reduzir a frequência de negociação.
  3. Adicionar stop loss para controlar a perda de uma única transação.

Orientações de otimização

A estratégia pode ser melhorada nos seguintes aspectos:

  1. Combinar com MA e outros indicadores para enriquecer os sinais de negociação.
  2. Adicione stop loss para evitar perdas enormes.
  3. Otimize os parâmetros para encontrar a melhor combinação.
  4. Adicione lucro automático.
  5. Considere os custos de negociação, defina stop loss e take profit razoáveis.

Conclusão

O Pivot Point Forecast Oscillator é uma estratégia de negociação quântica que utiliza preços de previsão de regressão linear. A estratégia tem lógica simples e parâmetros flexíveis, gerando sinais de negociação claros. Há espaço para melhorias adicionais na otimização de stop loss, seleção de parâmetros, combinação de outros sinais de indicador, etc., para alcançar um melhor desempenho comercial.


/*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")

Mais.