
Esta estratégia chama-seEstratégia de negociação de reversão de área de preço adaptávelA estratégia utiliza o indicador Adaptive Price Zone (APZ) para identificar a região de preços e produzir um sinal de negociação quando a região é ultrapassada. O indicador APZ baseia-se no cálculo de médias móveis binárias e flutuações e segue a fronteira da região de preços. Quando o preço ultrapassa a fronteira da região, indica que o preço pode ser reversível, criando uma oportunidade de negociação.
Esta estratégia é aplicada principalmente em situações de choque, especialmente em situações de liquidação. Pode ser usada como parte de um sistema de negociação automática ou de negociação em linha curta diária e aplica-se a todos os ativos negociáveis. Em geral, a estratégia usa o julgamento auxiliar fornecido pelo indicador APZ para negociar inversamente perto da fronteira da zona de preço.
Esta estratégia usa o indicador APZ para determinar as regiões de preços, e os métodos de cálculo específicos são os seguintes:
A trajectória ascendente e descendente assim obtida constitui uma região de preço adaptado. Quando o preço quebra essa região, um sinal de negociação é gerado. As regras para julgar um sinal de ruptura são as seguintes:
Além disso, a estratégia também oferece um reverse trade switch parâmetro. Depois de abrir um reverse trade, fazer mais sinais de shorting é contrário à regra acima.
Em suma, a estratégia usa o indicador APZ para determinar a região de preços adaptada, gerando um sinal de negociação de reversão quando o preço ultrapassa a fronteira da região, pertencendo a uma estratégia típica de rastreamento de reversão de tendência.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos, que se concentram nos seguintes aspectos:
A resposta é a seguinte:
A estratégia pode ser melhorada nos seguintes aspectos:
Esta estratégia, em geral, é uma estratégia de reversão de linha curta, que captura a região de preço através do indicador APZ e realiza a reversão de negociação perto da fronteira da zona. A vantagem da estratégia é a alta frequência de negociação, que pode capturar mais oportunidades de linha curta e pode se adaptar para ajustar a região de preço.
/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 15/01/2020
//
// The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors
// identify possible market turning points, which can be especially useful in a sideways-moving
// market. It was created by technical analyst Lee Leibfarth in the article “Identify the
// Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue
// of the journal Technical Analysis of Stocks and Commodities.
// This indicator attempts to signal significant price movements by using a set of bands based on
// short-term, double-smoothed exponential moving averages that lag only slightly behind price changes.
// It can help short-term investors and day traders profit in volatile markets by signaling price
// reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be
// implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Adaptive Price Zone Backtest", shorttitle="APZ", overlay = true)
nPeriods = input(20, minval=1)
nBandPct = input(2, minval=0)
reverse = input(false, title="Trade reverse")
xHL = high - low
nP = ceil(sqrt(nPeriods))
xVal1 = ema(ema(close,nP), nP)
xVal2 = ema(ema(xHL,nP), nP)
UpBand = nBandPct * xVal2 + xVal1
DnBand = xVal1 - nBandPct * xVal2
pos = 0
pos := iff(low < DnBand , 1,
iff(high > UpBand, -1, pos[1]))
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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )