Estratégia de ensaio posterior do indicador Qstick de cruzamento bidirecional do eixo zero

Autora:ChaoZhang, Data: 2024-01-24 14:14:07
Tags:

img

Resumo

A estratégia bidirecional de backtest do indicador Qstick é uma estratégia de rastreamento de tendências e geração de sinais baseada no indicador técnico Qstick desenvolvido por Tushar Chande.

Princípio da estratégia

O indicador Qstick é obtido pelo cálculo da média móvel da diferença entre o preço de fechamento e o preço de abertura durante um determinado período. Quando o Qstick é maior que 0, significa que o preço de fechamento foi geralmente maior que o preço de abertura durante esse período, e o poder de alta prevaleceu; quando o Qstick é menor que 0, significa que o preço de abertura foi geralmente maior que o preço de fechamento durante esse período, e o poder de baixa prevaleceu.

Os sinais de negociação desta estratégia vêm quando o indicador Qstick cruza o eixo zero. Um sinal de compra é gerado quando o Qstick cruza acima de zero a partir de baixo, indicando que a pressão de compra começa a exceder a pressão de venda e uma posição longa pode ser estabelecida; inversamente, um sinal de venda é gerado quando o Qstick cruza abaixo de zero a partir de cima, indicando que a pressão de venda começa a aumentar e as posições existentes devem ser fechadas. Além disso, uma média móvel dos valores do Qstick pode ser traçada como uma linha de sinal, e sinais de negociação também podem ser gerados quando o indicador Qstick cruza essa linha de sinal.

Esta estratégia permite a negociação de reversão, ou seja, quando um sinal de compra é originalmente suposto ser gerado, uma operação de venda real é tomada; quando um sinal de venda é originalmente suposto ser gerado, uma operação de compra real é tomada.

Análise das vantagens

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

  1. Usar indicadores simples e intuitivos para determinar a pressão de compra e venda do mercado, com geração de sinal clara
  2. Adotar um indicador de diferença média móvel que possa filtrar eficazmente o ruído do mercado
  3. As linhas de sinalização podem ser desenhadas para evitar sinais errados
  4. Apoiar a negociação de reversão, que pode ser utilizada para rastrear os investidores tradicionais
  5. Parâmetros personalizáveis adequados a diferentes stocks e ambientes de mercado

Análise de riscos

A estratégia Qstick de cruzamento bidirecional do eixo zero também apresenta alguns riscos:

  1. Indicador Qstick tem um atraso no reconhecimento de pontos de virada, possivelmente perdendo o melhor ponto de entrada
  2. Os sinais frequentes levam a custos de transacção relativamente elevados
  3. O reversal trading apresenta riscos mais elevados e deve ser utilizado com cautela

Os seguintes métodos podem ser utilizados para reduzir os riscos:

  1. Otimizar os parâmetros do ciclo Qstick para reduzir o atraso do indicador
  2. Aumentar os parâmetros do ciclo da linha de sinal para reduzir sinais errados
  3. Adotar apenas negociação de reversão durante fases específicas e controlar o dimensionamento das posições

Orientações de otimização

A estratégia Qstick de cruzamento bidirecional do eixo zero pode ser otimizada nos seguintes aspectos:

  1. Incorporar outros indicadores para filtrar sinais, tais como indicadores de volume, indicadores de volatilidade, etc., para evitar a geração de sinais errados em ambientes não tendência
  2. Adicionar estratégias de stop loss para impedir perdas quando as perdas atingirem uma certa percentagem
  3. Investigação adicional para determinar a combinação ideal dos parâmetros do ciclo do Qstick e da linha de sinal
  4. Usar métodos de aprendizagem de máquina para determinar automaticamente parâmetros ideais
  5. Teste a eficácia desta estratégia em indústrias específicas ou unidades populacionais individuais

Conclusão

A estratégia bi-direcional de cruzamento do eixo zero Qstick utiliza indicadores simples para determinar mudanças na pressão de compra e venda, e gera sinais de negociação quando o indicador Qstick cruza o eixo zero, o que pode capturar efetivamente as tendências de preços. Esta estratégia é intuitiva e fácil de entender, adequada para iniciantes, e também pode ser otimizada de muitas maneiras para atender às necessidades de traders avançados. No entanto, esta estratégia também tem certas falhas e precisa ser usada com cautela. Em geral, esta é uma estratégia muito prática de rastreamento de tendências e geração de sinais.


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

Mais.