
La estrategia de comercio de oscilación de doble línea media se utiliza para obtener ganancias en situaciones de oscilación mediante la combinación del uso de una media móvil del índice 2⁄20 y un indicador de oscilación de la banda de precios de adaptación. La estrategia se aplica principalmente a los mercados con características visiblemente oscilantes, como los índices de acciones, divisas, mercancías y monedas digitales.
La estrategia de negociación de oscilación de doble línea media consta de dos partes:
El índice 2⁄20 promedio móvil. El indicador genera una señal de compra cuando el precio se eleva más allá de la línea de 20 días y la caída no se eleva más allá de la línea de 2 días; genera una señal de venta cuando el precio baja más allá de la línea de 2 días y la subida no se eleva más allá de la línea de 20 días.
El indicador de la oscilación de la banda de precios de adaptación. El indicador construye una banda de precios basada en el rango de fluctuación de los precios, y determina los puntos de inflexión del mercado a través de la ruptura de la banda de precios hacia arriba y hacia abajo, generando señales de compra y venta.
La estrategia de comercio de oscilación de doble línea media solo produce una señal de comercio real y realiza un comercio estratégico cuando se emite una señal al mismo tiempo con una media móvil del índice 2⁄20 y un indicador de oscilación de la banda de precios adaptable. Esto puede filtrar eficazmente algunas señales no válidas y mejorar la calidad de la señal.
La estrategia de comercio de oscilación de doble línea media, que combina la ventaja de utilizar un indicador de línea media y un indicador de volatilidad, tiene las siguientes características:
Señales de transacción fiables. La verificación de doble indicador mejora la calidad de la señal y filtra eficazmente las señales no válidas.
La combinación de la línea media y el indicador de la banda de precios permite determinar con precisión los puntos de inflexión en situaciones de crisis.
La frecuencia de operación es moderada. Una estrategia de media móvil de doble índice puede reducir la incidencia de operaciones no válidas.
Fácil de implementar operaciones automáticas. Las reglas de la señal son claras, los parámetros son simples de establecer y es fácil de programar para realizar operaciones automáticas.
Las estrategias de comercio de oscilación de doble línea media también presentan los siguientes riesgos:
La señal de retraso puede ser grande. El doble indicador combina las señales de filtración y puede perder la oportunidad de una rápida reversión de los precios.
La estrategia depende principalmente de la situación de la oscilación. Cuando la oscilación se reduce, las señales de negociación y el espacio para obtener ganancias disminuyen.
El impacto de la optimización de los parámetros es significativo. La configuración de los parámetros del indicador tiene un gran impacto en los resultados de las transacciones, por lo que es necesario realizar una optimización del sistema para determinar los parámetros óptimos.
Para los riesgos anteriores, se puede adoptar un método de ajuste dinámico de los parámetros para responder a los cambios en el entorno del mercado, al mismo tiempo que se establece una estrategia de stop loss para controlar el riesgo de pérdida.
La estrategia de comercio de oscilación de doble línea media se puede optimizar en los siguientes aspectos:
Prueba más combinaciones de parámetros de medias y bandas de precios. Prueba sistemáticamente parámetros de medias y bandas de precios de diferentes longitudes para encontrar la combinación óptima.
La adición de una señal de filtración de indicadores de volumen de transacción. En combinación con una señal de volumen de transacción anormal, la señal de filtración de precios de línea media puede mejorar aún más la calidad de la señal.
Establezca un mecanismo de parada dinámica. Cuando la volatilidad del mercado disminuye, apriete el punto de parada adecuadamente para reducir las pérdidas individuales.
Combinado con modelos de aprendizaje profundo. El uso de modelos de aprendizaje profundo como LSTM para validar las señales de negociación hace que la estrategia sea más inteligente.
La estrategia de comercio de la oscilación de la línea de doble media, a través de la combinación de la media móvil del índice 2⁄20 y el indicador de oscilación de la banda de precios de adaptación, produce una señal de comercio de oscilación de alta calidad, capaz de adaptarse a los mercados con mayor volatilidad, como los índices de acciones, divisas y commodities, con un arbitraje de comercio frecuente dentro de la zona de oscilación. La estrategia tiene la ventaja de una alta calidad de la señal, fácil de automatizar. Al mismo tiempo, se debe tener en cuenta el control de la identificación tardía de los puntos de inflexión y el riesgo de ajuste dinámico de los parámetros.
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/03/2022
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// 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.
////////////////////////////////////////////////////////////
EMA20(Length) =>
pos = 0.0
xPrice = close
xXA = ta.ema(xPrice, Length)
nHH = math.max(high, high[1])
nLL = math.min(low, low[1])
nXS = nLL > xXA or nHH < xXA ? nLL : nHH
iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
pos := nXS > close[1] ? -1 : iff_1
pos
APZ(nPeriods,nBandPct) =>
pos = 0.0
xHL = high - low
nP = math.ceil(math.sqrt(nPeriods))
xVal1 = ta.ema(ta.ema(close,nP), nP)
xVal2 = ta.ema(ta.ema(xHL,nP), nP)
UpBand = nBandPct * xVal2 + xVal1
DnBand = xVal1 - nBandPct * xVal2
pos := low < DnBand ? 1 : high > UpBand ? -1 : pos[1]
pos
strategy(title='Combo 2/20 EMA & Adaptive Price Zone', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Adaptive Price Zone ═════●'
nPeriods = input(20)
nBandPct = input(2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAPZ = APZ(nPeriods,nBandPct)
iff_1 = posEMA20 == -1 and prePosAPZ == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAPZ == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)