
El sistema de comercio de medios móviles de adaptación de Dongxian es una estrategia de comercio cuantitativa que sigue la tendencia de los precios. La estrategia utiliza el indicador del canal de Dongxian, combinado con el promedio móvil de la línea larga y la línea corta, para juzgar y seguir la tendencia de los precios, para capturar la tendencia de los precios de la línea media y larga y realizar operaciones de tendencia.
La estrategia comienza por calcular la amplitud real. La amplitud real es el rango de cambio de precio entre el precio de cierre de la línea K anterior y el precio más alto y más bajo de la línea K actual. Luego, se calcula el promedio móvil simple de la línea larga de la amplitud real, como el ancho de banda del canal de Dongxian.
Hacer más cuando el precio pasa por el promedio móvil de la línea larga más el ancho de banda y el promedio móvil de la línea corta más el ancho de banda; hacer vacío cuando el precio pasa por el promedio móvil de la línea larga menos el ancho de banda y el promedio móvil de la línea corta menos el ancho de banda. La condición de equilibrio es que el precio suba el ancho de banda para que el promedio móvil de la línea corta aumente la posición.
De esta manera, la estrategia ajusta el ancho de banda del canal de Dongguan a través de la amplitud real de onda y, combinada con el filtro de las medias móviles dobles, puede seguir de manera efectiva las tendencias de precios de la línea media y larga, reduciendo las falsas señales y, por lo tanto, obtener oportunidades de negociación estables en la línea larga.
La estrategia tiene las siguientes ventajas:
Utiliza el cálculo de la amplitud real para ajustar dinámicamente el ancho de banda del canal, evitar parámetros muertos y adaptarse mejor a los cambios en el mercado.
La combinación de las medias móviles dobles permite filtrar el ruido y reducir las falsas señales.
El seguimiento de las tendencias medianas y largas puede reducir la repetición de operaciones, reducir la frecuencia de las operaciones y obtener oportunidades de ganancias sostenidas en el largo plazo.
La lógica de la estrategia es simple, clara y fácil de implementar, con una alta tolerancia a errores, adecuada para el comercio automático de cuantificación.
La estrategia también tiene ciertos riesgos:
Las operaciones de línea larga tienen dificultades para entender el momento de entrada de la línea corta. Se puede combinar adecuadamente con indicadores de fluctuación para determinar la situación de la línea corta y optimizar la entrada.
Los parámetros que necesitan ser optimizados varían según la industria y el sector. Se puede considerar una combinación dinámica de parámetros preferidos.
Cuando un evento repentino provoca un cambio importante en la tendencia, el punto de parada debe ser relajado adecuadamente.
En general, el sistema de trading de medias móviles de adaptación automática de Dongguan es una estrategia de cuantificación estable, simple y fácil de implementar. Utilizando canales dinámicos y filtros de doble línea, puede seguir de manera efectiva las tendencias de la línea media del mercado, reducir la frecuencia de las operaciones y obtener ganancias continuas en el ciclo largo. También debe prestar atención a la configuración de parámetros optimizados, prevenir el riesgo y hacer un buen stop loss para adaptarse a los eventos inesperados.
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © dongyun
//@version=4
strategy("唐齐安移动平均交易系统", overlay=true)
longperiod = input(20,'长线')
shortperiod = input(5,'短线')
bandfactor = input(1.0,'')
TrueHigh = 0.0
TrueLow = 0.0
TrueRange = 0.0
TrueHigh := close[1] > high ? close[1] : high
TrueLow := close[1] < low ? close[1] : low
TrueRange := TrueHigh - TrueLow
AvgTrueRange = sma(TrueRange,longperiod)
MAlong = sma(close,longperiod)
MAshort = sma(close,shortperiod)
band = AvgTrueRange * bandfactor
if close > MAlong[1] + band[1] and close > MAshort[1] + band[1]
strategy.entry("Long", strategy.long, when=strategy.position_size < 1)
else
if close < MAlong[1] - band[1] and close < MAshort[1] - band[1]
strategy.entry("Short", strategy.short, when=strategy.position_size > -1)
if close < MAlong[1] - band[1] or close < MAshort[1] - band[1]
strategy.close("Long", when=strategy.position_size > 0)
else
if close > MAlong[1] + band[1] or close > MAshort[1] + band[1]
strategy.close("Short", when=strategy.position_size < 0)