La estrategia de seguimiento de tendencia de Noro
Los aspectos clave son los siguientes:
El canal de precios determina la tendencia general.
RSI indica sobrecompra/sobreventa para el momento de entrada. RSI por encima de 60 es sobrecompra, por debajo de 40 es zona de sobreventa.
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.
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.
Los colores de fondo opcionales visualizan claramente la tendencia.
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.
Las principales ventajas son:
El canal de precios identifica intuitivamente la dirección general de la tendencia.
El RSI detecta eficazmente los niveles de sobrecompra / sobreventa para la entrada en el momento.
El filtro corporal mejora la calidad de la señal y evita señales falsas.
La confirmación de múltiples indicadores mejora la precisión.
Los indicadores simples reducen los riesgos de ajuste de la curva.
Los plazos de negociación personalizables añaden flexibilidad.
Fácil de usar con parámetros mínimos.
Los colores de fondo proporcionan claridad visual.
Algunos riesgos a considerar:
Riesgo de identificación errónea de la tendencia del canal de precios.
Riesgos de señales RSI inexactos.
El filtro corporal elimina las señales válidas.
Riesgo de absorción durante las correcciones de tendencia.
Riesgo de optimización por mal ajuste de parámetros.
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.
El riesgo de selección de instrumentos si se aplica a activos que no se encuentran en tendencia.
Los riesgos de los marcos de tiempo de negociación si se configuran incorrectamente.
Algunas posibilidades de mejora:
Añadir una estrategia de stop loss para controlar las pérdidas por operación.
Optimizar los parámetros basados en el comportamiento del instrumento.
Incorporar reglas de posicionamiento basadas en la fuerza de la tendencia.
Implementar límites de extracción para contener las pérdidas.
Añadir análisis de precios de volumen para la verificación de la señal.
Introduzca el aprendizaje automático para la optimización de parámetros.
Parámetros especializados basados en clases de activos.
Refinar la lógica del marco de tiempo de negociación para una mayor flexibilidad.
La estrategia de seguimiento de tendencias de Noro
/*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()