Estrategia de tendencia cruzada de la media móvil

El autor:¿ Qué pasa?, Fecha: 2024-01-12 10:56:57
Las etiquetas:

img

Resumen general

Esta estrategia de negociación se basa en un simple sistema de cruce de promedio móvil y promedio móvil para el seguimiento de tendencias. Utiliza el cruce de promedios móviles rápidos y lentos con diferentes períodos como señales para ir largo o corto. Cuando el MA rápido cruza por encima del MA lento desde abajo, vaya largo; cuando el MA rápido cruza por debajo del MA lento desde arriba, vaya corto. Esta estrategia funciona bien para productos con tendencias obvias.

Estrategia lógica

La estrategia utiliza un promedio móvil simple rápido como de 60 días y uno lento como de 200 días.

Cuando el MA corto cruza por encima del MA largo desde abajo, indica que los precios a corto plazo comienzan a subir y entrar en un mercado alcista, así que vaya largo.

La estrategia utiliza el cruce de MA para determinar la dirección de la tendencia. Cuando los precios a corto plazo aumentan más rápido, el MA corto empujará el MA largo hacia arriba y lo cruzará desde abajo. Esto significa que una tendencia alcista está emergiendo y se debe tomar una posición larga. Por el contrario, cuando los precios a corto plazo caen más rápido, el MA corto tirará del MA largo hacia abajo y lo cruzará desde arriba, lo que implica una tendencia bajista y se debe tomar una posición corta.

Al capturar los puntos de inflexión de las tendencias de los precios utilizando cruces MA rápidos y lentos, la estrategia puede ajustar las posiciones largas/cortas en consecuencia.

Análisis de ventajas

  • Utiliza el cruce MA para determinar las principales tendencias, evitando ser engañado por los ruidos del mercado a corto plazo.
  • Considera que los plazos a corto y medio y largo plazo son más estables y fiables.
  • Implementa un seguimiento de tendencias simple y eficaz, por ejemplo, va largo en tendencias alcistas y corto en tendencias bajistas.
  • Las medias móviles son ampliamente aplicables, fáciles de entender y los parámetros son flexibles.
  • Los parámetros de gestión de riesgos son ajustables para los riesgos controlados.

Análisis de riesgos

  • La estrategia se basa en tendencias claras de precios, las fallas pueden ocurrir durante violentas oscilaciones del mercado.
  • Las whipssaws pueden producir muchas señales falsas durante los mercados de variación, causando la apertura y cierre frecuentes de posiciones.
  • Los promedios móviles tienen retrasos, potencialmente faltando puntos de inflexión de precios.
  • Los parámetros incorrectos, como el stop loss demasiado ajustado o el take profit demasiado amplio, pueden llevar a una salida prematura o a un cierre prematuro de posiciones rentables.
  • Los parámetros razonables necesitan una optimización de acuerdo con las características específicas de los diferentes productos.

Métodos como el ajuste de los períodos de MA en función de la frecuencia de volatilidad de los productos, la mejora de la parada de pérdida / obtención de ganancias utilizando indicadores más complejos, la adición de filtros de volumen, etc. pueden optimizar esta estrategia y mejorar la estabilidad.

Direcciones de optimización

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Optimizar los períodos de MA rápidos y lentos para adaptarse a productos con diferentes frecuencias de volatilidad.

  2. Mejorar las condiciones de entrada añadiendo más filtros como picos de volumen para reducir las señales falsas.

  3. Mejorar el stop loss/take profit como el trailing stop o el take profit dinámico para mejorar la rentabilidad.

  4. Considere los costos de negociación como las comisiones y agregue módulos de evaluación de costos para backtests más realistas.

  5. Diseñar un universo de parámetros para encontrar combinaciones óptimas de parámetros adaptadas a diferentes productos.

  6. Añadir la identificación de patrones locales para ayudar a determinar los puntos de inflexión de la tendencia y mejorar el momento de las entradas y salidas.

A través de la optimización sistemática de la estrategia, la rentabilidad, la estabilidad pueden mejorarse en gran medida y las reducciones pueden reducirse.

Resumen de las actividades

La estrategia de negociación determina los cambios de tendencia utilizando los cruces de MA, una estrategia típica de seguimiento de tendencias. Utiliza el cruce entre los MA rápidos y lentos para generar señales largas / cortas, identificando la dirección de la tendencia a través de la combinación de los dos. Esta estrategia captura las tendencias de manera constante y confiable y es fácil de entender e implementar. Cuando se optimiza, puede adaptarse a la mayoría de los productos y forma una estrategia comercial cuantitativa fundamental.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © thebearfib
//
//@version=5
//

strategy("x-over 150d_200d_sma - Free", overlay = true)

repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system
srcmc   = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off)

fast_length         = input(title="Fast Length", defval=60)
slow_length         = input(title="Slow Length", defval=275)

_fast               = ta.sma(srcmc,  fast_length)
_slow               = ta.sma(srcmc,  slow_length)

plot(_fast, 
  title="Fast SMA", 
  color=color.red,
  linewidth = 1) 

plot(_slow, 
  title="Slow SMA", 
  color=color.white,
  linewidth = 3)
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Calculating  —————————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//
longProfitPerc      = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01
longStopPerc        = input.float(title="Long Stop (%)",        minval=0.01, step=1.0, defval=13)  * .01
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Stop Conditions   ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longExitPrice  = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc *  (1 + longProfitPerc)
longStopPrice = strategy.opentrades  > 0 ? strategy.position_avg_price * (1 - longStopPerc)   : srcmc *  (1 - longStopPerc)
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Long Conditions   ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longCondition   = srcmc > _slow and  ta.crossover(_fast, _slow)
closeCondition  =  ta.crossover(srcmc, _slow)  

if (longCondition)
    strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆")

if (closeCondition)
    strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←")

if (strategy.position_size > 0)
    strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss")
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// —————————————————————————————————  Never the End Just the beginning    —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//

Más.