Sistema de seguimiento de tendencias de doble caja

El autor:¿ Qué pasa?, Fecha: 2023-11-02 17:19:22
Las etiquetas:

Resumen general

El sistema de seguimiento de tendencias es una estrategia de seguimiento de tendencias basada en un sistema de doble caja. Utiliza una caja a largo plazo para determinar la dirección general de la tendencia y toma señales que se alinean con la tendencia principal cuando se activa la caja a corto plazo.

Estrategia lógica

La estrategia utiliza dos cajas para determinar la tendencia. La caja a largo plazo utiliza un período más largo para juzgar la dirección de la tendencia principal, y la caja a corto plazo utiliza un período más corto para generar señales comerciales.

En primer lugar, la estrategia calcula los precios más altos y más bajos de la caja a largo plazo para determinar la dirección de la tendencia principal.

  • Si el precio más alto se cruza por encima del precio más alto de la barra anterior, se define como una tendencia alcista, asignada un valor de 1
  • Si el precio más bajo se cruza por debajo del precio más bajo de la barra anterior, se define como una tendencia bajista, asignada un valor de -1
  • De lo contrario, mantener la dirección de la tendencia original

Después de determinar la tendencia principal, la estrategia comienza a tomar posiciones basadas en las señales de caja a corto plazo.

  • Cuando la tendencia principal está en alza y el precio más bajo de la caja a corto plazo es igual al precio más bajo de la barra anterior y es inferior al precio más bajo de la caja a corto plazo actual, vaya largo.
  • Cuando la tendencia principal es a la baja y el precio más alto de la caja a corto plazo es igual al precio más alto de la barra anterior y es más alto que el precio más alto de la caja a corto plazo actual, sea corto.

Además, se configuran las operaciones de stop loss y take profit:

  • El stop loss largo es el precio más bajo de la caja a largo plazo, el stop loss corto es el precio más alto de la caja a largo plazo.
  • Long take profit es el precio más alto de la caja a corto plazo, take profit corto es el precio más bajo de la caja a corto plazo

Cuando la tendencia principal se invierta, cierre todas las posiciones.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. El sistema de doble caja identifica eficazmente las direcciones de tendencia y reduce las operaciones incorrectas
  2. Sólo tomando señales de inversión que se alineen con la tendencia principal se evita ser engañado por el ruido del mercado a corto plazo
  3. La combinación de períodos largos y cortos garantiza la captación de las principales tendencias manteniendo la flexibilidad de ajuste de la posición
  4. Control razonable del riesgo de puntos de stop loss y take profit siguiendo las tendencias
  5. Aplanar rápidamente todas las posiciones cuando la tendencia principal se invierte minimiza las pérdidas

Análisis de riesgos

Los riesgos de esta estrategia incluyen:

  1. Las configuraciones incorrectas de los períodos largo y corto pueden provocar un exceso de negociación o oportunidades perdidas
  2. Las reversiones a corto plazo pueden no representar cambios de tendencia a largo plazo, pero aún plantean riesgos de pérdida.
  3. El stop loss demasiado cercano puede ser detenido prematuramente.
  4. Tomar ganancias demasiado sueltas puede no maximizar las ganancias
  5. Un juicio erróneo de la tendencia principal conduce a pérdidas
  6. Las soluciones incluyen periodos de ajuste, optimización de paradas/objetivos, adición de filtros, etc.

Direcciones de optimización

La estrategia puede mejorarse mediante:

  1. Añadir filtros para evitar errores
  2. Optimización de los períodos largos y cortos para diferentes productos
  3. Ajuste dinámico de los niveles de stop loss y take profit
  4. Incorporación de reglas de dimensionamiento de la posición
  5. Uso del volumen, etc., para juzgar la fiabilidad de los cambios de tendencia
  6. Utilizando el aprendizaje automático para optimizar automáticamente parámetros y filtros

Resumen de las actividades

El sistema de seguimiento de tendencias es una estrategia práctica de comercio de tendencias que combina la determinación de tendencias y los ajustes a corto plazo. Con optimizaciones continuas, puede convertirse en un sistema automatizado robusto que rastrea las tendencias mientras controla los riesgos. Contiene las filosofías centrales del comercio de tendencias y vale la pena estudiar en profundidad.

[/trans] ¿Qué quieres decir?


/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-26 07: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/
// © LonesomeTheBlue

//@version=4
strategy("Grab Trading System", overlay = true)
flb = input(defval = 80, title = "Longterm Period", minval = 1)
slb = input(defval = 21, title = "Shortterm Period", minval = 1)
showtarget = input(defval = true, title = "Show Target")
showtrend = input(defval = true, title = "Show Trend")

major_resistance = highest(flb)
major_support = lowest(flb)
minor_resistance = highest(slb)
minor_support = lowest(slb)

var int trend = 0
trend := high > major_resistance[1] ? 1 : low < major_support[1] ? -1 : trend
strategy.entry("Buy", true, when = trend == 1 and low[1] == minor_support[1] and low > minor_support)
strategy.entry("Sell", false, when = trend == -1 and high[1] == minor_resistance[1] and high < minor_resistance)

if strategy.position_size > 0
    strategy.exit("Buy", stop = major_support, comment = "Stop Buy")
    if high[1] == minor_resistance[1] and high < minor_resistance
        strategy.close("Buy", comment ="Close Buy")
    
if strategy.position_size < 0
    strategy.exit("Sell", stop = major_resistance, comment = "Stop Sell")
    if low[1] == minor_support[1] and low > minor_support
        strategy.close("Sell", comment ="Close Sell")

if strategy.position_size != 0 and change(trend)
    strategy.close_all()
    
majr = plot(major_resistance, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na)
majs = plot(major_support, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na)
minr = plot(minor_resistance, color = showtarget and trend == 1 and strategy.position_size > 0 ? color.yellow : na, style = plot.style_circles)
mins = plot(minor_support, color = showtarget and trend == -1 and strategy.position_size < 0 ? color.yellow : na, style = plot.style_circles)

fill(majs, mins, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na, transp = 85)
fill(majr, minr, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na, transp = 85)


Más.