La tendencia sigue la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-09-25 17:50:11
Las etiquetas:

Resumen general

La estrategia de seguimiento de tendencia de Noro es una estrategia de trading de tendencia simple basada en el canal de precios, el RSI y el filtro corporal.

Estrategia lógica

Los aspectos clave son los siguientes:

  1. El canal de precios determina la tendencia general.

  2. RSI indica sobrecompra/sobreventa para el momento de entrada. RSI por encima de 60 es sobrecompra, por debajo de 40 es zona de sobreventa.

  3. El filtro del cuerpo proporciona la señal final, y se negocia sólo si el cuerpo de la vela excede un umbral para evitar el ruido.

  4. Entradas basadas en la combinación de tendencia, señal RSI y filtro corporal. Entradas largas en tendencia alcista en señales alcistas, entradas cortas en tendencia bajista en señales bajistas.

  5. Los colores de fondo opcionales visualizan claramente la tendencia.

  6. Cuadros de tiempo de negociación personalizables para negociar de manera selectiva.

Varios indicadores se alinean para crear una tendencia relativamente estable siguiendo el sistema.

Ventajas

Las principales ventajas son:

  1. El canal de precios identifica intuitivamente la dirección general de la tendencia.

  2. El RSI detecta eficazmente los niveles de sobrecompra / sobreventa para la entrada en el momento.

  3. El filtro corporal mejora la calidad de la señal y evita señales falsas.

  4. La confirmación de múltiples indicadores mejora la precisión.

  5. Los indicadores simples reducen los riesgos de ajuste de la curva.

  6. Los plazos de negociación personalizables añaden flexibilidad.

  7. Fácil de usar con parámetros mínimos.

  8. Los colores de fondo proporcionan claridad visual.

Los riesgos

Algunos riesgos a considerar:

  1. Riesgo de identificación errónea de la tendencia del canal de precios.

  2. Riesgos de señales RSI inexactos.

  3. El filtro corporal elimina las señales válidas.

  4. Riesgo de absorción durante las correcciones de tendencia.

  5. Riesgo de optimización por mal ajuste de parámetros.

  6. En el caso de las entidades de crédito, el riesgo de reducción de las posiciones se calcula de acuerdo con el método de cálculo de las posiciones.

  7. El riesgo de selección de instrumentos si se aplica a activos que no se encuentran en tendencia.

  8. Los riesgos de los marcos de tiempo de negociación si se configuran incorrectamente.

Oportunidades de mejora

Algunas posibilidades de mejora:

  1. Añadir una estrategia de stop loss para controlar las pérdidas por operación.

  2. Optimizar los parámetros basados en el comportamiento del instrumento.

  3. Incorporar reglas de posicionamiento basadas en la fuerza de la tendencia.

  4. Implementar límites de extracción para contener las pérdidas.

  5. Añadir análisis de precios de volumen para la verificación de la señal.

  6. Introduzca el aprendizaje automático para la optimización de parámetros.

  7. Parámetros especializados basados en clases de activos.

  8. Refinar la lógica del marco de tiempo de negociación para una mayor flexibilidad.

Conclusión

La estrategia de seguimiento de tendencias de Noro integra el canal de precios, el RSI y el filtro corporal en un sistema de trading de tendencias simple y práctico.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "long")
needshort = input(true, defval = true, title = "short")
len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period")
needbg = input(false, defval = false, title = "Need trend Background?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//PriceChannel 1
lasthigh = highest(close, len)
lastlow = lowest(close, len)
center = (lasthigh + lastlow) / 2

//Trend
trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0

//Fast RSI
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2

//Signals
up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body
dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "MA")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    

Más.