Estratégia de backtesting do indicador Qstick de eixo zero cruzado bidirecional


Data de criação: 2024-01-24 14:14:07 última modificação: 2024-01-24 14:14:07
cópia: 0 Cliques: 760
1
focar em
1617
Seguidores

Estratégia de backtesting do indicador Qstick de eixo zero cruzado bidirecional

Visão geral

A estratégia de retroalimentação de indicadores Qstick de eixo zero bidirecional é uma estratégia de geração de sinais de tendência e de negociação baseada no indicador de tecnologia Qstick desenvolvido por Tushar Chande. A estratégia julga a pressão de compra e venda do mercado, calculando a diferença entre o preço de abertura e o preço de fechamento da ação, e gera um sinal de negociação quando o indicador de diferença cruza o eixo zero.

Princípio da estratégia

O indicador central da estratégia Qstick é o Qstick. O indicador Qstick é obtido por meio do cálculo da média móvel do diferencial entre o preço de fechamento e o preço de abertura em um determinado período. Quando o Qstick é maior que 0, o preço de fechamento no período é superior ao preço de abertura, e a força dos múltiplos cabeças é superior. Quando o Qstick é menor que 0, o preço de abertura no período é superior ao preço de fechamento, e a força dos vazios é superior.

O sinal de negociação da estratégia vem quando o indicador Qstick atravessa o eixo zero. Quando o indicador Qstick atravessa o eixo zero a partir da direção de baixo, o que gera um sinal de compra, o que significa que a pressão de compra começa a ser maior do que a pressão de venda, e pode ser estabelecida uma posição multi-head. Por outro lado, quando o indicador Qstick atravessa o eixo zero a partir da direção de cima, o que gera um sinal de venda, o que significa que a pressão de venda começa a aumentar, e é necessário liquidar a posição.

A estratégia permite a opção de inverter a negociação. Isto é, quando deveria ter produzido um sinal de compra, a operação de venda é efetivamente tomada; quando deveria ter produzido um sinal de venda, a operação de compra é efetivamente tomada. Isso pode ser usado para inverter o seguimento da ideologia do mercado para os investidores mainstream.

Análise de vantagens

A estratégia Qstick de eixo zero bidirecional tem as seguintes vantagens:

  1. Usando indicadores simples e intuitivos para avaliar a pressão de compra e venda no mercado, os sinais são gerados com clareza
  2. A utilização de um indicador de média móvel para eliminar o ruído do mercado
  3. Pode traçar linhas de sinalização para evitar sinais errados
  4. Suporte a transações reversíveis, que podem ser usadas para rastrear investidores tradicionais
  5. Parâmetros personalizáveis para diferentes ações e cenários de mercado

Análise de Riscos

A estratégia de Qstick de eixo zero bidirecional também tem alguns riscos:

  1. O indicador Qstick atrasou a identificação dos pontos de inflexão da tendência, podendo ter perdido os melhores pontos de entrada
  2. Sinais frequentes, custos de transação mais altos
  3. A inversão é um risco e deve ser usada com cuidado.

O risco pode ser reduzido através das seguintes medidas:

  1. Otimizar os parâmetros do ciclo Qstick para reduzir o atraso do indicador
  2. Aumentar o parâmetro de ciclo da linha de sinal, reduzindo o sinal de erro
  3. Controlo de posições e negociação de reversão somente em fases específicas

Direção de otimização

A estratégia Qstick de eixo zero bidirecional pode ser otimizada em vários aspectos:

  1. Combinado com outros indicadores de filtragem de sinais, como indicadores de volume de transação, indicadores de taxa de flutuação, etc., para evitar a produção de sinais errados em ambientes não-trend
  2. Aumentar a estratégia de parar perdas, parar perdas quando as perdas atingem uma certa proporção
  3. Mais pesquisas para determinar a melhor combinação de parâmetros de Qstick e ciclo de linha de sinal
  4. Determinação automática de parâmetros ótimos por meio de métodos de aprendizado de máquina
  5. Teste a eficácia da estratégia em um setor específico ou em uma ação

Resumir

A estratégia de Qstick, que usa um indicador simples para avaliar a mudança de pressão de compra e venda, gera um sinal de negociação quando o indicador de Qstick cruza o eixo zero e capta a tendência de preços. A estratégia é intuitiva, fácil de entender e adequada para o uso de iniciantes, mas também pode ser otimizada por vários meios para atender às necessidades dos comerciantes avançados.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2018
// A technical indicator developed by Tushar Chande to numerically identify 
// trends in candlestick charting. It is calculated by taking an 'n' period 
// moving average of the difference between the open and closing prices. A 
// Qstick value greater than zero means that the majority of the last 'n' days 
// have been up, indicating that buying pressure has been increasing. 
//
// Transaction signals come from when the Qstick indicator crosses through the 
// zero line. Crossing above zero is used as the entry signal because it is indicating 
// that buying pressure is increasing, while sell signals come from the indicator 
// crossing down through zero. In addition, an 'n' period moving average of the Qstick 
// values can be drawn to act as a signal line. Transaction signals are then generated 
// when the Qstick value crosses through the trigger line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Qstick Indicator Backtest")
Length = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xR = close - open
xQstick = sma(xR, Length)
clr = iff(xQstick >= 0, green, red)
pos = iff(xQstick > 0, 1,
       iff(xQstick < 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 ) 
p1 = plot(0, color=black, title="0")
p2 = plot(xQstick, color=blue, title="Qstick")
fill(p1, p2, color=clr)