TrendSurfing - Estrategia de tendencia cruzada de media móvil doble

El autor:¿ Qué pasa?, Fecha: 2024-01-04 17:28:14
Las etiquetas:

Resumen general

La estrategia TrendSurfing es una estrategia de seguimiento de tendencias basada principalmente en señales de cruce de media móvil doble. También incorpora indicadores visuales triangulares, EMA de 200 días, indicador ROC e indicador RSI para filtrar el ruido y capturar con precisión las reversiones de tendencia.

Estrategia lógica

La estrategia de TrendSurfing se basa principalmente en la cruz de oro y la cruz de muerte formada por promedios móviles rápidos y promedios móviles lentos para generar señales de compra y venta.

Además, la estrategia incorpora varios indicadores auxiliares para filtrar señales falsas o determinar la calidad de la tendencia, entre los que se incluyen:

  1. Indicador ROC para determinar la tendencia y el impulso de los precios
  2. Oscilador RSI para detectar los niveles de sobrecompra/sobreventa
  3. EMA de 200 días para determinar la dirección general de la tendencia
  4. Indicadores visuales triangulares para marcar los puntos de entrada en el gráfico

Al evaluar de manera exhaustiva varios indicadores, la estrategia TrendSurfing puede localizar con precisión los puntos de inflexión de la tendencia y realizar un seguimiento de tendencias definidas a medio y largo plazo sin ser engañada por el ruido del mercado o las correcciones a corto plazo.

Análisis de ventajas

1. Captar la tendencia a medio y largo plazo
La estrategia juzga básicamente la reversión de la tendencia en función de los cruces de la EMA y utiliza indicadores como la EMA de 200 días para filtrar el ruido a corto plazo, centrándose en la captura de tendencias a medio y largo plazo.

2. Los múltiples indicadores aseguran una entrada de alta calidad
Además del cruce del MA, la incorporación de ROC, RSI y otros indicadores permite evitar zonas de consolidación en los puntos de inversión y garantiza una entrada de calidad.

3. Indicadores visuales de triángulo intuitivos
Los triángulos verdes hacia abajo indican entradas largas, los triángulos rojos hacia arriba indican entradas cortas.

4. Parámetros personalizables para diferentes necesidades
Los usuarios pueden ajustar libremente los parámetros como los períodos MA, la longitud ROC, la longitud RSI, etc. de acuerdo con su propio estilo comercial.

5. Detener las pérdidas y controlar las ganancias
La estrategia establece el stop loss y el take profit basándose en el valor ATR multiplicado por el porcentaje de riesgo, lo que permite controlar el riesgo por operación.

Análisis de riesgos

1. Riesgo de pérdida de operaciones
Cualquier estrategia basada en el cruce de MA tiene un riesgo inherente de perder operaciones o ser detenida cuando la MA está oscilando.

2. Optimización excesiva de la configuración incorrecta de parámetrosLos usuarios deben evitar perseguir valores de parámetros hipotéticamente ideales, los cuales deben probarse y adaptarse en función de las diferentes condiciones del mercado y de los productos.

3. Incapacidad para filtrar completamente los eventos del Cisne Negro
En condiciones de mercado extremas, las estrategias podrían aún sufrir grandes pérdidas por los riesgos sistémicos del mercado.

Direcciones de optimización

1. Prueba y optimización de los valores de los parámetros
Los períodos de las AAs, la duración de las AOC, los valores de los índices de rentabilidad, etc., deben someterse a rigurosas pruebas de retroceso y optimización para adaptarse a las características de los diferentes productos comerciales.

2. Prueba y incorporación de otros indicadores auxiliares
Continuar probando combinaciones de otros indicadores como BOLL, KDJ, etc. con cruces de MA para un mejor rendimiento.

Coordinarse con el comercio algorítmico para un mejor control de riesgosIntroducir algoritmos de aprendizaje automático para permitir un stop loss y un take profit más inteligentes, adaptándose a entornos de mercado dinámicos.

4. Explorar combinaciones con otras estrategias o modelos
La combinación con estrategias de selección de acciones basadas en fundamentos, estrategias de arbitraje estadístico, modelos de optimización de cartera, etc., podría mejorar aún más el control del riesgo y el rendimiento.

Conclusión

La estrategia TrendSurfing es una estrategia de seguimiento de tendencias simple y directa con riesgo controlable. Las señales de negociación se generan a partir de cruces de MA y se filtran por múltiples indicadores auxiliares. Es adecuada para la tenencia a medio y largo plazo para rastrear constantemente las tendencias del mercado alcista. Continuaremos optimizando esta estrategia a través de pruebas de parámetros, expansión de indicadores, control de riesgos, etc. para lograr un rendimiento más confiable en diversos mercados.

[/trans] ¿Qué quieres decir?


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true)

// Define input parameters
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
roc_length = input(14, title="ROC Length")
rsi_length = input(14, title="RSI Length")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Plot 200 EMA
ema_200 = ema(close, 200)
plot(ema_200, color=color.white, title="200 EMA", linewidth=2)

// Calculate Rate of Change (ROC)
roc = roc(close, roc_length)

// Calculate RSI
rsi = rsi(close, rsi_length)

// Define strategy entry and exit conditions
long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55
short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45

// Execute strategy
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Define stop loss and take profit levels
risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100
atr_value = atr(14)
stop_loss = close - atr_value * risk_percent
take_profit = close + atr_value * risk_percent

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit)

// Plot larger triangles on crossover and crossunder
plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


Más.