Supertrend BarUpDn Estrategia de fusión

El autor:¿ Qué pasa?, fecha: 2024-01-31 14:43:06
Las etiquetas:

img

Resumen general

La estrategia Supertrend BarUpDn Fusion es una estrategia que fusiona el indicador Supertrend y el indicador BarUpDn. La estrategia será larga si el indicador Supertrend o BarUpDn da una señal larga, y será corta si cualquiera de los indicadores da una señal corta.

Principio de la estrategia

La estrategia utiliza principalmente dos indicadores:

  1. Indicador de súper tendencia: Este indicador determina la dirección de la tendencia basada en el rango verdadero promedio y un factor.

  2. Indicador BarUpDn: Este indicador juzga si la barra actual es una barra alcista (cerrar más alto que abrir) o una barra bajista (abrir más alto que cerrar).

La lógica principal de la estrategia es la siguiente:

  1. Ir largo cuando Supertrend es largo y BarUpDn es alcista.

  2. Ir corto cuando Supertrend es corto y BarUpDn es bajista.

  3. Cierre posiciones oportunamente cuando la Supertrend cambie de dirección.

A través de esta fusión, la estrategia puede utilizar tanto la capacidad de evaluación de tendencias de Supertrend como la capacidad de evaluación a corto plazo de BarUpDn para lograr un mejor momento de entrada.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Mejora de la precisión mediante la fusión de múltiples indicadores. Utilizando tanto el juicio de tendencia de Supertrend como el juicio a corto plazo de BarUpDn puede mejorar la precisión del tiempo de entrada.

  2. La reducción rápida de las pérdidas cuando el indicador principal Supertrend cambia de dirección puede evitar que las pérdidas aumenten.

  3. La estrategia sólo utiliza una combinación de dos indicadores comunes, por lo que es muy simple y fácil de usar.

  4. Supertrend tiene parámetros ajustables para adaptarse a diferentes productos y plazos.

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. Un juicio incorrecto de una fusión incorrecta puede causar un juicio erróneo.

  2. El ajuste incorrecto de los parámetros afecta el rendimiento.

  3. Las inversiones a corto plazo pueden causar pequeñas pérdidas.

Direcciones de optimización

La estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Añadir estrategias de stop loss como movimiento de stop loss, stop loss de tiempo, stop loss de ruptura, etc. para controlar aún más los riesgos.

  2. Optimizar los parámetros de Supertrend para encontrar las mejores combinaciones de parámetros para diferentes productos y plazos, por ejemplo mediante aprendizaje automático.

  3. Añadir más fusiones de indicadores para construir un mecanismo de votación y mejorar la estabilidad de los juicios.

  4. Incorporar más factores de mercado como el cambio de volumen, el cambio de diferencias, etc. para juzgar la confiabilidad de la señal y filtrar las señales engañosas.

Resumen de las actividades

La estrategia de fusión de Supertrend BarUpDn fusiona el juicio de tendencias y el juicio a corto plazo combinando indicadores simples, mejorando la precisión del tiempo de entrada manteniendo la simplicidad y facilidad de uso.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and BarUpDn Indicator Fusion", overlay=true)

// Supertrend indicator
atrLength = input(10, title="ATR Length")
factor = input(3.0, title="Factor")
[supertrend, direction] = ta.supertrend(factor, atrLength)
lastBar = 0

// BarUpDn indicator
barUpDn = close > open and open > close[1] ? 1 : close < open and open < close[1] ? -1 : 0

if (barUpDn == 1)
    lastBar := 1
else if barUpDn == -1
    lastBar := -1


// Determine long or short position
longCondition = (direction > 0 and barUpDn > 0) or (direction > 0 and lastBar == 1)
shortCondition = (direction < 0 and barUpDn < 0) or (direction < 0 and lastBar == -1)

// Enter long or short position
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastBar := 1
else if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastBar := -1

if (direction < 0 and barUpDn > 0)
    strategy.entry("Long", strategy.long)

// Exit long or short position
if (direction > 0 and barUpDn < 0)
    strategy.entry("Short", strategy.short)

// Exit long or short position
// if (direction < 0 and barUpDn > 0 or direction > 0 and barUpDn < 0)
//   strategy.close_all()


Más.