Estratégia de negociação quantitativa - Abertura de acompanhamento da tendência quantitativa

Autora:ChaoZhang, Data: 2024-01-12 14:46:04
Tags:

img

Resumo

Esta estratégia realiza a operação de abertura automática de descoberta de tendências quantitativas através do rastreamento de tendências de movimento de preços e combinado com mudanças no volume de negociação.

Princípio da estratégia

A lógica básica da estratégia de negociação quantitativa de rastreamento de tendência de abertura de quantidade é baseada no rastreamento da relação de correspondência entre as tendências de movimento de preços e as mudanças no volume de negociação. Especificamente, a estratégia usa a diferença entre o preço de fechamento e o preço de abertura como a mudança de preço e, em seguida, a multiplica pelo volume de negociação do dia para obter a curva conjunta de preço e volume. Esta curva conjunta pode refletir a tendência de mudança de preço e o volume de negociação acompanha a relação ao mesmo tempo. Em seguida, calcule a média móvel desta curva conjunta como o benchmark de tendência quantitativa. Quando a curva conjunta penetra sua média móvel, um sinal de compra é gerado. Quando cai abaixo de sua média móvel, um sinal de venda é gerado, realizando assim a operação de abertura de rastreamento quantitativo das mudanças na tendência de preço.

Análise das vantagens

Esta estratégia combina tendências de movimento de preços e mudanças no volume de negociação para filtrar efetivamente algumas tendências falsas insensíveis aos preços e reduzir os riscos de abertura e melhorar a precisão de abertura. Em comparação com indicadores técnicos de preço puros, o efeito do rastreamento quantitativo é melhor. Esta estratégia também usa o sistema de média móvel para definir linhas de referência dinâmicas, que podem se adaptar automaticamente às mudanças nas condições do mercado e têm alta flexibilidade.

Análise de riscos

Esta estratégia se baseia principalmente na relação preço-volume para determinar a razoabilidade da tendência quantitativa. Se a relação entre preço e volume se tornar incompatível, isso levará a um aumento nos riscos de julgamento errado. Além disso, a definição inadequada de parâmetros médios móveis também afetará a eficácia da estratégia.

Direcção de otimização

Considere juntar mais filtros para otimizar estratégias, como usar indicadores de volatilidade para determinar a qualidade da tendência, introduzir indicadores de sentimento para determinar a psicologia do mercado, etc. Também é possível testar a mudança na eficácia da estratégia sob diferentes sistemas de média móvel para encontrar o portfólio de parâmetros ideal.

Resumo

Esta estratégia quantitativa de negociação realiza a abertura automática com base no rastreamento e julgamento da relação entre a tendência de preço e o volume de negociação, quantificando as tendências de preço correspondentes com o entusiasmo comercial, pode efetivamente filtrar sinais inválidos e melhorar a taxa de sucesso de abertura.


/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © avsr90

//@version=5
strategy(title="Lp-Op vol",shorttitle="LPV", max_bars_back = 5000,overlay=false,format=format.volume )

//Resolutions

Resn=input.timeframe(defval="",title="resolution")
Resn1=input.timeframe(defval="D",title="resolution")

//Intraday Open and Last Price and Last price- Open Price calculations.

Last_Price=math.round_to_mintick(close)
Open_Price = request.security(syminfo.tickerid ,Resn1,close[1],barmerge.gaps_off, barmerge.lookahead_on) 
Op_Cl=math.round_to_mintick(Last_Price-Open_Price)


//length from Intra Day Open Price 
 
Nifnum= ta.change(Open_Price)
Length_Intraday=int(math.max(1, nz(ta.barssince(Nifnum)) + 1))

//Input for Length for Volume 

Length_Vol=input(defval=20, title="L for Vol")

// Last Price- Open price Volume, Average Intraday Last price-Open Price Volume 
//and  Volume Bars  calculations.

Op_Cl_Vol=(Op_Cl*volume)
Avg_Vol_Opcl=ta.sma(Op_Cl_Vol,Length_Intraday)
Vol_Bars=ta.sma(volume,Length_Vol)

//Plots 
plot(Op_Cl_Vol,color=Op_Cl_Vol>0 ? color.green:color.red,title="OPCLV")
plot(Avg_Vol_Opcl, title="Avg Vol", color=color.fuchsia)
plot(Vol_Bars, title="Vol Bars", color=color.yellow)

//Strategy parameters 

startst=timestamp(2015,10,1)

strategy.entry("lo",strategy.long,when= ta.crossover(Op_Cl_Vol,Avg_Vol_Opcl) and ta.crossover(volume,Vol_Bars))
strategy.entry("sh",strategy.short,when=ta.crossunder(Op_Cl_Vol,Avg_Vol_Opcl)and ta.crossunder(volume,Vol_Bars )) 



Mais.