Es un sistema de puntos de equilibrio de tendencia original creado por Welles Wilder en 1978, cuyas reglas de negociación se encuentran en su libro The New Concept Technical Analysis System. El sistema utiliza indicadores de dinámica para identificar tendencias y establecer paradas de pérdidas de manera específica, formando un sistema de seguimiento de tendencias más robusto.
Los principales componentes de la estrategia y las reglas de negociación son los siguientes:
Indicador de dinámica: Calcula el movimiento del precio de cierre de N ciclos para determinar la tendencia del precio.
Multicondicionamiento: aumento continuo de la dinámica en el ciclo actual y en los dos últimos ciclos.
Condición de vacío: disminución de la dinámica en el ciclo actual y en los dos últimos ciclos.
Punto de parada: el promedio del día anterior + el rango de fluctuación del día anterior.
Punto de parada: 2 veces el precio promedio del día anterior - el precio mínimo ((hacer más) o 2 veces el precio promedio - el precio máximo ((hacer menos)
El precio de la entrada es el precio de la salida.
La estrategia es sencilla y directa, utiliza la dinámica para determinar la dirección de la tendencia y controla el riesgo con un método específico de parada de pérdidas, formando un sistema de seguimiento de tendencias más sólido.
La estrategia tiene las siguientes ventajas principales en comparación con otras estrategias de seguimiento de tendencias:
El cálculo del índice de dinámica es simple y fácil de implementar.
La combinación de múltiples períodos puede filtrar el ruido.
El método de prevención de daños es más robusto.
Se puede limitar el tamaño de la pérdida individual.
El retiro es controlado, los beneficios son claros.
La implementación no es muy difícil y es muy flexible.
Los parámetros se pueden ajustar para diferentes mercados.
La estrategia es intuitiva y sencilla.
En general, la estabilidad y el control de riesgos son más fuertes.
Sin embargo, la estrategia también tiene los siguientes riesgos:
Los indicadores de la dinámica están retrasados y pueden perderse las curvas clave.
El efecto depende de la optimización de los parámetros.
Sin tener en cuenta el volumen de transacciones, existe el riesgo de ser engañado.
El Stop Loss Stop se establece de manera arbitraria y puede ser un fracaso esperado.
El ciclo de resonancia es corto, por lo que es necesario verificar la estabilidad a largo plazo.
La operación de posición fija no se puede ajustar dinámicamente.
El espacio para la optimización es limitado, y el exceso de ganancias es incierto.
La tasa de retiro de ganancias debe tenerse en cuenta para evitar la sobreadaptación.
En vista del análisis anterior, la estrategia puede ser optimizada en las siguientes dimensiones:
Prueba diferentes métodos de cálculo de la potencia.
Acompañamiento de la verificación de transacciones.
Optimización de los parámetros de parada de pérdidas.
Introducir el aprendizaje automático para generar señales dinámicas.
Evaluación de la robustez de varias variedades en varios ciclos.
Construir un modelo de gestión de posiciones dinámicas.
Establezca la tolerancia máxima de retirada.
Optimización de las estrategias de gestión de fondos.
Las pruebas de retroalimentación continuas evitan la optimización.
La estrategia en su conjunto es un sistema de seguimiento de tendencias relativamente simple y directo. Sin embargo, cualquier estrategia necesita ser optimizada y verificada constantemente para mantenerse adaptada al mercado.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-09-22 00:00:00
period: 5m
basePeriod: 1m
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/
// © 2020 X-Trader.net
//@version=3
strategy("Trend Balance Point System by Welles Wilder", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000)
MomPer = input(2, "Momentum Period")
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
longTrigger = mom(close, MomPer)[1] > mom(close, MomPer)[2] and mom(close, MomPer)[1] > mom(close, MomPer)[3]
shortTrigger = mom(close, MomPer)[1] < mom(close, MomPer)[2] and mom(close, MomPer)[1] < mom(close, MomPer)[3]
longEntry = (not isLong) and longTrigger
shortEntry = (not isShort) and shortTrigger
longStop = valuewhen(longEntry, ((high[1]+low[1]+close[1])/3 - (high[1]-low[1])), 0)
longTP = valuewhen(longEntry, (2*(high[1]+low[1]+close[1])/3 - low[1]), 0)
shortStop = valuewhen(shortEntry, ((high[1]+low[1]+close[1])/3 + (high[1]-low[1])), 0)
shortTP = valuewhen(shortEntry, (2*(high[1]+low[1]+close[1])/3 - high[1]), 0)
strategy.entry(id = "Long", long = true, when = longEntry)
strategy.exit("Exit Long", "Long", profit = longTP, loss = longStop, when = isLong)
strategy.entry(id = "Short", long = false, when = shortEntry)
strategy.exit("Exit Short", "Short", profit = shortTP, loss = shortStop, when = isShort)