
Esta estrategia se llamaEstrategia de trading de reversión de área de precios adaptableLa estrategia utiliza el indicador de la zona de precios adaptativa (ZPA) para identificar la zona de precios y generar una señal de negociación cuando se rompe la zona. El indicador de la ZPA se basa en el cálculo de las medias móviles binarias y la volatilidad.
Esta estrategia se aplica principalmente a situaciones de volatilidad, en particular a situaciones de liquidación. Se puede usar como parte de un sistema de comercio automático o de un sistema de comercio automático, y se aplica a todos los activos negociables. En general, la estrategia utiliza el juicio auxiliar que ofrece el indicador APZ para invertir el comercio cerca de los límites de la zona de precios.
Esta estrategia utiliza el indicador APZ para determinar las zonas de precios y se calcula de la siguiente manera:
La trayectoria ascendente y descendente que se obtiene de este modo constituye una zona de precio adaptado. Cuando el precio se rompe en esta zona, se produce una señal de negociación. Las reglas para juzgar la señal de ruptura son las siguientes:
Además, esta estrategia también ofrece el parámetro de cambio de cambio de reversa. Después de abrir una operación de reversa, hacer más señales de descubierto es contrario a la regla anterior.
En resumen, esta estrategia utiliza el indicador APZ para determinar la zona de precios adaptada, generando una señal de cambio de comercio cuando el precio rompe la frontera de la zona, y es una estrategia típica de seguimiento de reversión de tendencia.
Las principales ventajas de esta estrategia son:
La estrategia también presenta algunos riesgos, que se centran en los siguientes aspectos:
Las recomendaciones son las siguientes:
Esta estrategia puede ser optimizada en los siguientes aspectos:
En general, esta estrategia es una estrategia de reversión de línea corta, que captura la zona de precios a través del indicador APZ y realiza operaciones de reversión cerca de la frontera de la zona. La estrategia tiene la ventaja de una alta frecuencia de operaciones, puede capturar más oportunidades de línea corta y puede adaptarse a la adaptación de la zona de precios.
/*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 )