Estrategia basada en el cruce de medias móviles de corto y largo plazo


Fecha de creación: 2024-02-22 15:36:49 Última modificación: 2024-02-22 15:36:49
Copiar: 0 Número de Visitas: 649
1
Seguir
1617
Seguidores

Estrategia basada en el cruce de medias móviles de corto y largo plazo

Descripción general

La estrategia es una estrategia simple de movimiento a través de la media basada en el cruce de las medias móviles a corto y largo plazo. Utiliza medias móviles de 34 y 89 ciclos y observa sus cruces como una señal de compra y venta durante el período de la mañana. Genera una señal de compra cuando las medias móviles a corto plazo se rompen con las medias móviles a largo plazo desde abajo; genera una señal de venta cuando se rompen desde arriba.

Principio de estrategia

La lógica central de la estrategia se basa en la intersección de las medias móviles a corto y largo plazo como señal de negociación. En concreto, la estrategia define las medias móviles simples a corto y largo plazo de 34 y 89 ciclos (SMA). Observe la intersección de estos dos SMA solo en el período de apertura de la mañana (08:00 - 10:00). Cuando el SMA a corto plazo rompe el SMA a largo plazo desde la parte inferior, se considera que el mercado está en una tendencia alcista y, por lo tanto, genera una señal de compra; cuando el SMA a corto plazo rompe el SMA a largo plazo desde la parte superior, se considera que el mercado está en una tendencia bajista y, por lo tanto, genera una señal de venta.

Después de recibir la señal de compra o venta, la estrategia entra en la posición y establece una condición para salir de la posición, es decir, una salida de pérdida activa después de la entrada con un número de líneas K de raíz especificado (default 3 raíces). De esta manera, se puede bloquear parte de las ganancias y evitar que las pérdidas se expandan aún más.

Tenga en cuenta que la estrategia solo reconoce señales de cruce en el período de apertura temprana. Esto se debe a que durante este período de tiempo el volumen de operaciones en el mercado es mayor y la fiabilidad de las señales de cambio de tendencia es mayor. En otros períodos, el mercado es más volátil y es propenso a generar señales de confusión.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Utiliza una regla de cruce de promedio móvil simple y general, fácil de entender y adecuada para principiantes

  2. Identifica las señales solo en los períodos de horario temprano con más señales de alta calidad y puede filtrar las falsas señales en otros períodos

  3. Establece condiciones de stop loss para detener los pérdidas a tiempo, bloquear parte de los beneficios y reducir el riesgo de pérdidas

  4. Más parámetros personalizables que se pueden ajustar según el mercado y el estilo personal

  5. Fácil de ampliar y diseñar estrategias más complejas en combinación con otros indicadores basados en el marco

Análisis de riesgos

La estrategia también presenta algunos riesgos, principalmente en los siguientes aspectos:

  1. El promedio móvil en sí es muy retrasado y puede perder un punto de inflexión de precios a corto plazo

  2. Se basa en indicadores simples que pueden fallar en un entorno de mercado específico (como fluctuaciones de tendencias, agrupación de intervalos, etc.)

  3. La posición de parada incorrecta puede causar pérdidas innecesarias

  4. La configuración incorrecta de los parámetros (por ejemplo, el ciclo de las medias móviles, el ciclo de las posiciones, etc.) también puede afectar el rendimiento de la estrategia.

Resolución de las mismas:

  1. Aumento de la sensibilidad a los cambios a corto plazo en combinación con otros indicadores de vanguardia

  2. Aumentar las condiciones de filtración para evitar el efecto de las señales de vacaciones en los mercados de turbulencias y intervalos

  3. Optimización de la lógica de stop loss y ajuste de los límites de stop loss en función de las fluctuaciones del mercado

  4. Optimización de parámetros de combinación múltiple para encontrar la configuración óptima de los parámetros

Dirección de optimización

La estrategia también tiene un gran margen de optimización, principalmente en los siguientes aspectos:

  1. Añadir otras condiciones de filtración para evitar el impacto de las señales de vacaciones en los mercados de turbulencias y intervalos

  2. Combinando estrategias de indicadores dinámicos para identificar señales de ruptura más fuertes

  3. Optimización de los parámetros periódicos de las medias móviles para encontrar la mejor combinación de parámetros

  4. Optimización automática de los límites de pérdidas en función de la volatilidad del mercado

  5. Intentar optimizar automáticamente toda la estrategia basado en la tecnología de aprendizaje automático

  6. Intentar combinar con otras estrategias para diseñar sistemas multiestrategia más complejos

Resumir

La estrategia en su conjunto es simple y práctica, adecuada para el aprendizaje de referencia de los principiantes. Representa el modelo típico de la estrategia de tipo cruzado de la media móvil, que controla el riesgo mediante el establecimiento de un stop loss. Sin embargo, la estrategia puede optimizarse aún más para que funcione mejor y se adapte a más entornos de mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("34 89 SMA Crossover Strategy", overlay=true)

// Define the length for the SMAs
short_length = input(34, title="Short SMA Length")
long_length = input(89, title="Long SMA Length")
exit_candles = input(3, title="Exit after how many candles?")
exit_at_open = input(true, title="Exit at Open?")

// Define morning session
morning_session = input("0800-1000", "Morning Session")

// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)

// Function to check if current time is within specified session
in_session(session) =>
    session_start = na(time(timeframe.period, "0800-1000")) ? na : true
    session_start

// Condition for buy signal (short SMA crosses over long SMA) within specified trading hours
buy_signal = ta.crossover(short_sma, long_sma)

// Condition for sell signal (short SMA crosses under long SMA) within specified trading hours
sell_signal = ta.crossunder(short_sma, long_sma)

// Function to exit the trade after specified number of candles
var int trade_entry_bar = na
var int trade_exit_bar = na
if (buy_signal or sell_signal)
    trade_entry_bar := bar_index
if (not na(trade_entry_bar))
    trade_exit_bar := trade_entry_bar + exit_candles

// Exit condition
exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar))

// Execute trades
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)
if (exit_condition)
    strategy.close("Buy")
    strategy.close("Sell")

// Plot SMAs on the chart
plot(short_sma, color=color.blue, linewidth=1)
plot(long_sma, color=color.red, linewidth=1)