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

Tendencia dinámica a raíz de la estrategia de cruce de promedios móviles de varios períodos

El autor:¿ Qué pasa?, Fecha: 2024-12-13 10:40:30
Las etiquetas:La SMAEl EMA- ¿Qué es?

img

Resumen general

Esta estrategia es un sistema de negociación basado en promedios móviles de varios períodos. Utiliza promedios móviles simples (SMA) de 89 períodos y 21 períodos para determinar la dirección general de la tendencia del mercado, al tiempo que incorpora máximos y mínimos de promedio móvil exponencial (EMA) de 5 períodos para identificar señales comerciales específicas.

Principios de estrategia

La lógica central incluye los siguientes elementos clave:

  1. Determinación de tendencia: utiliza la posición relativa de las SMA de 89 y 21 períodos junto con la posición de precios para identificar tendencias. Una tendencia alcista se confirma cuando el precio y la EMA de 5 períodos están por encima de la SMA de 21 períodos, que está por encima de la SMA de 89 períodos; lo contrario confirma una tendencia bajista.
  2. En tendencias alcistas, entrar en posiciones largas cuando el precio vuelva a la EMA de 5 períodos; en tendencias bajistas, entrar en posiciones cortas cuando el precio rebote a la EMA de 5 períodos.
  3. Gestión de posiciones: abre dos posiciones de contrato idénticas para cada señal activada.
  4. Control de riesgos: aplica objetivos fijos de stop-loss y ganancias para la primera posición y de stop-loss para la segunda posición.

Ventajas estratégicas

  1. Confirmación de marcos temporales múltiples: la combinación de medias móviles de diferentes períodos proporciona una evaluación de la tendencia más completa, reduciendo las señales falsas.
  2. Profit-Taking flexible: combina métodos de obtención de beneficios fijos y de seguimiento para capturar las fluctuaciones a corto plazo y las tendencias extendidas.
  3. El riesgo controlado: establece niveles de stop-loss claros con una exposición al riesgo fija para cada señal comercial.
  4. Operación sistemática: reglas comerciales claras minimizan el juicio subjetivo, lo que facilita su implementación programática.

Riesgos estratégicos

  1. Riesgo de consolidación: los cruces frecuentes de las medias móviles durante los mercados laterales pueden generar señales falsas excesivas.
  2. El riesgo de deslizamiento: desviaciones significativas de precios entre los precios de ejecución teóricos y reales durante períodos de alta volatilidad.
  3. Riesgo de gestión monetaria: la negociación de cantidades fijas de contratos puede no adaptarse a todos los tamaños de cuentas.
  4. Sensibilidad de parámetros: el rendimiento de la estrategia depende en gran medida de la selección del período de media móvil, lo que requiere una optimización para diferentes mercados.

Direcciones de optimización

  1. En el caso de los contratos de inversión, el valor de los contratos de inversión se calculará en función de los valores de los contratos de inversión y de la volatilidad del mercado.
  2. Filtración del entorno del mercado: añadir indicadores de fuerza de tendencia (como ADX) para reducir la frecuencia de negociación en mercados variables.
  3. En el caso de los instrumentos financieros, el valor de los activos financieros de los que se trate será el valor de los activos financieros de los que se trate.
  4. Confirmación de la señal: Incorporar indicadores de volumen e impulso para aumentar la fiabilidad de la señal.

Resumen de las actividades

Esta estrategia representa un sistema integral de seguimiento de tendencias que captura las tendencias del mercado a través de promedios móviles de varios períodos mientras implementa métodos flexibles de gestión de posiciones y control de riesgos.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tobiashartemink2

//@version=5
strategy("High 5 Trading Technique", overlay=true)

// --- Input parameters ---
sma89Length = input.int(title="SMA 89 Length", defval=89)
sma21Length = input.int(title="SMA 21 Length", defval=21)
ema5HighLength = input.int(title="EMA 5 High Length", defval=5)
ema5LowLength = input.int(title="EMA 5 Low Length", defval=5)
contracts = input.int(title="Aantal Contracten", defval=1)
stopLossPoints = input.int(title="Stop Loss Points per Contract", defval=25)
takeProfitPoints = input.int(title="Take Profit Points per Contract", defval=25)

// --- Calculate moving averages ---
sma89 = ta.sma(close, sma89Length)
sma21 = ta.sma(close, sma21Length)
ema5High = ta.ema(high, ema5HighLength)
ema5Low = ta.ema(low, ema5LowLength)

// --- Identify trend and order of moving averages ---
longSetup = close > sma89 and close > sma21 and ema5High > sma21 and sma21 > sma89
shortSetup = close < sma89 and close < sma21 and ema5Low < sma21 and sma21 < sma89

// --- Entry signals ---
longTrigger = longSetup and close <= ema5Low
shortTrigger = shortSetup and close >= ema5High

// --- Entry orders ---
if (longTrigger)
    strategy.entry("Long 1", strategy.long, qty=contracts)
    strategy.entry("Long 2", strategy.long, qty=contracts)

if (shortTrigger)
    strategy.entry("Short 1", strategy.short, qty=contracts)
    strategy.entry("Short 2", strategy.short, qty=contracts)

// --- Stop-loss and take-profit for long positions ---
if (strategy.position_size > 0)
    strategy.exit("Exit Long 1", "Long 1", stop=strategy.position_avg_price - stopLossPoints, limit=strategy.position_avg_price + takeProfitPoints)
    strategy.exit("Exit Long 2", "Long 2", stop=strategy.position_avg_price - stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints)

// --- Stop-loss and take-profit for short positions ---
if (strategy.position_size < 0)
    strategy.exit("Exit Short 1", "Short 1", stop=strategy.position_avg_price + stopLossPoints, limit=strategy.position_avg_price - takeProfitPoints)
    strategy.exit("Exit Short 2", "Short 2", stop=strategy.position_avg_price + stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints)

// --- Plot moving averages ---
plot(sma89, color=color.blue, linewidth=2)
plot(sma21, color=color.red, linewidth=2)
plot(ema5High, color=color.green, linewidth=2)
plot(ema5Low, color=color.orange, linewidth=2)


Relacionados

Más.