En la carga de los recursos... Cargando...

Tendencia de impulso de la media móvil múltiple siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2024-11-12 15:05:09
Las etiquetas:La SMAIndicador de riesgo- ¿Qué es?

img

Resumen general

Esta estrategia es un sistema de negociación basado en múltiples promedios móviles e indicadores de impulso. Utiliza principalmente las relaciones dinámicas entre los promedios móviles simples (SMA) de 20 días, 50 días, 150 días y 200 días, combinados con indicadores de volumen y RSI para capturar fuertes tendencias alcistas en el marco de tiempo diario y posiciones de salida cuando las tendencias se debilitan.

Principios de estrategia

La lógica central incluye los siguientes componentes clave:

  1. Sistema de promedios móviles: utiliza promedios móviles de 20/50/150/200 días para construir un sistema de juicio de tendencia, que requiere una alineación alcista.
  2. Confirmación de impulso: utiliza el indicador RSI y su promedio móvil para juzgar el impulso del precio, requiriendo un RSI superior a 55 o un SMA RSI superior a 50 y en aumento.
  3. Verificación del volumen: confirma la validez de la señal mediante la comparación del volumen promedio de 20 días y el volumen reciente.
  4. Verificación de la persistencia de la tendencia: comprueba si el MA de 50 días mantiene la tendencia alcista durante al menos 25 días de cada 40 días de negociación.
  5. Confirmación de posición: el precio debe mantenerse por encima del MA de 150 días durante al menos 20 días de negociación.

Las condiciones de compra requieren:

  • Más de 4 días alcistas en los últimos 10 días con al menos 1 día de alto volumen
  • Indicador RSI que cumple las condiciones de impulso
  • Sistema de medias móviles que muestra una alineación alcista y un aumento continuo
  • Precio estable por encima del MA de 150 días

Las condiciones de venta incluyen:

  • Pérdida de precio por debajo del MA de 150 días
  • Descenso consecutivo de grandes volúmenes
  • El valor de las emisiones de gases de efecto invernadero se calcula en función de las emisiones de gases de efecto invernadero.
  • Velas bajistas recientes con mayor volumen

Ventajas estratégicas

  1. La validación cruzada de múltiples indicadores técnicos reduce los errores de evaluación
  2. Los requisitos estrictos de persistencia de la tendencia filtran las fluctuaciones a corto plazo
  3. La integración del análisis de volumen mejora la fiabilidad de la señal
  4. Condiciones claras de stop-loss y de obtención de beneficios para controlar el riesgo de manera efectiva
  5. Apto para captar tendencias a medio y largo plazo, reduciendo la frecuencia de negociación
  6. Lógica estratégica clara, fácil de entender y ejecutar

Riesgos estratégicos

  1. El sistema de media móvil tiene retraso, puede perder las primeras etapas de tendencia
  2. Las condiciones de entrada estrictas pueden perder algunas oportunidades comerciales
  3. Puede generar señales falsas frecuentes en mercados agitados
  4. Retraso en la identificación de las inversiones del mercado
  5. Se requiere una mayor escala de capital para soportar los recortes

Sugerencias para el control de riesgos:

  • Establecer posiciones de stop-loss razonables
  • Gestión conservadora del dinero
  • Considere la posibilidad de añadir indicadores de confirmación de tendencia
  • Ajuste de los parámetros en función del entorno del mercado

Direcciones para la optimización de la estrategia

  1. Añadir parámetros adaptativos
  • Ajuste dinámico de los períodos de admisión en función de la volatilidad del mercado
  • Optimización de la configuración del umbral del RSI
  1. Mejorar el mecanismo de stop-loss
  • Añadir paradas de seguimiento
  • Establecer paradas basadas en el tiempo
  1. Introducción del análisis del entorno de mercado
  • Añadir indicadores de fuerza de tendencia
  • Considere los indicadores de volatilidad
  1. Optimice el tamaño de las operaciones
  • Diseño de la gestión dinámica de la posición
  • Ajuste basado en la intensidad de la señal

Resumen de las actividades

Se trata de una estrategia de seguimiento de tendencias rigurosamente diseñada que captura de manera efectiva oportunidades de tendencias fuertes a través del uso coordinado de múltiples indicadores técnicos. Las principales ventajas de la estrategia se encuentran en su mecanismo de confirmación de señales integral y su estricto sistema de control de riesgos. Si bien hay cierto retraso, a través de una optimización razonable de parámetros y gestión de riesgos, la estrategia puede mantener un rendimiento estable en la operación a largo plazo. Se aconseja a los inversores que presten atención a la adaptabilidad del entorno del mercado, controlen las posiciones razonablemente y realicen optimizaciones específicas basadas en las condiciones reales al aplicar la estrategia en el comercio en vivo.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Micho's 150 (1D Time Frame Only)", overlay=true)

// Define the length for the SMAs and RSI
sma20Length = 20
sma50Length = 50
sma150Length = 150
sma200Length = 200
volumeMaLength = 20
rsiLength = 14
rsiSmaLength = 14
smaCheckLength = 40  // Check the last month of trading days (~20 days)
requiredRisingDays = 25  // Require SMA to rise in at least 16 of the past 20 days
sma150AboveSma200CheckDays = 1  // Require SMA150 > SMA200 for the last 10 days

// Calculate the SMAs for price
sma20 = ta.sma(close, sma20Length)
sma50 = ta.sma(close, sma50Length)
sma150 = ta.sma(close, sma150Length)
sma200 = ta.sma(close, sma200Length)

// Calculate the 20-period moving average of volume
volumeMA20 = ta.sma(volume, volumeMaLength)

// Calculate the 14-period RSI
rsi = ta.rsi(close, rsiLength)

// Calculate the 14-period SMA of RSI
rsiSMA = ta.sma(rsi, rsiSmaLength)

// Check if most of the last 5 days are buyer days (close > open)
buyerDays = 0
for i = 0 to 9
    if close[i] > open[i]
        buyerDays := buyerDays + 1

// Check if at least 1 day has volume higher than the 20-period volume MA
highVolumeDays = 0
for i = 0 to 9
    if close[i] > open[i] and volume[i] > volumeMA20
        highVolumeDays := highVolumeDays + 1

// Define the new RSI condition
rsiCondition = (rsi >= 55) or (rsiSMA > 50 and rsi > rsi[1])

// Check if the 50-day SMA has been rising on at least 16 of the last 20 trading days
risingDays = 0
for i = 1 to smaCheckLength
    if sma50[i] > sma50[i + 1]
        risingDays := risingDays + 1

// Check if the SMA has risen on at least 16 of the last 20 days
sma50Rising = risingDays >= requiredRisingDays

// Check if the price has been above the SMA150 for the last 20 trading days
priceAboveSma150 = true
for i = 1 to smaCheckLength
    if close[i] < sma150[i]
        priceAboveSma150 := false

// Check if the SMA150 has been above the SMA200 for the last 10 days
sma150AboveSma200 = true
for i = 1 to sma150AboveSma200CheckDays
    if sma150[i] < sma200[i]
        sma150AboveSma200 := false

// Define the conditions for the 150-day and 200-day SMAs being rising
sma150Rising = sma150 > sma150[1]
sma200Rising = sma200 > sma200[1]

// Check if most of the last 5 days are seller days (close < open)
sellerDays = 0
for i = 0 to 9
    if close[i] < open[i]
        sellerDays := sellerDays + 1

// Check if at least 1 day has seller volume higher than the 20-period volume MA
highSellerVolumeDays = 0
for i = 0 to 9
    if close[i] < open[i] and volume[i] > volumeMA20
        highSellerVolumeDays := highSellerVolumeDays + 1

// Check in the last N days the price below 150
priceBelowSma150 = true
for i = 0 to 0
    if close[i] > sma150[i]
        priceBelowSma150 := false

// Restrict the strategy to 1D time frame
if timeframe.isdaily
    // Buy condition:
    // - Most of the last 5 days are buyer days (buyerDays > 2)
    // - At least 1 of those days has high buyer volume (highVolumeDays >= 1)
    // - RSI SMA (14-period) between 45 and 50 with RSI >= 55, or RSI SMA > 50 and RSI rising
    // - 50-day SMA > 150-day SMA and 150-day SMA > 200-day SMA
    // - 50-day SMA has been rising on at least 16 of the last 20 trading days
    // - The price hasn't been below the 150-day SMA in the last 20 days
    // - 150-day SMA has been above the 200-day SMA for the last 10 days
    // - 150-day and 200-day SMAs are rising
    buyCondition = (close > sma150 and buyerDays > 4 and highVolumeDays >= 1 and rsiCondition  and sma50 > sma150 and sma50Rising and sma150Rising and sma200Rising and priceAboveSma150)

    // Sell condition:
    // - Price crossing below SMA 150
    // - Seller volume (current volume > volume MA 20)
    // - 150-day SMA crosses below 200-day SMA
    // - Most of the last 5 days are seller days (sellerDays > 2) and at least 1 day of higher seller volume (highSellerVolumeDays >= 1)
    sellCondition = (priceBelowSma150 and (sma50 < sma150 or (sellerDays >5 and highSellerVolumeDays >= 5)))

    // Execute buy when all conditions are met
    if (buyCondition)
        strategy.entry("Buy", strategy.long)

    // Execute sell when all conditions are met
    if (sellCondition)
        strategy.close("Buy")


Relacionados

Más.