Estrategia de cruces dorados y cruces muertos con medias móviles


Fecha de creación: 2023-09-21 10:47:24 Última modificación: 2023-09-21 10:47:24
Copiar: 0 Número de Visitas: 639
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia se basa en la forma de la horquilla dorada de tres promedios móviles. Haga más cuando atraviesa la línea de media velocidad sobre la media móvil rápida y la línea de media velocidad sobre la línea de media velocidad; y haga vacío cuando atraviesa la línea de media velocidad por debajo de la media móvil rápida y la línea de media velocidad por debajo de la línea de media velocidad.

Principio de estrategia

  1. Establezca tres promedios móviles de diferentes períodos: línea rápida, línea media y línea lenta
  2. Haga más cuando la línea rápida atraviesa la línea media y la línea media atraviesa la línea lenta
  3. Hacer espacio cuando la línea rápida atraviesa la línea media y la línea media atraviesa la línea lenta
  4. Se puede configurar el retraso de entrada, el filtro de falsas brechas
  5. Cuando se dispara la señal de retorno

En concreto, la estrategia utiliza el cruce entre tres medias móviles de diferentes períodos para operar. La línea rápida representa la tendencia actual a corto plazo, la línea media representa la tendencia a mediano plazo y la línea lenta representa la tendencia a largo plazo.

Análisis de las ventajas

  1. El uso de tres líneas de medición para determinar cambios en la dirección de la tendencia y mejorar la precisión
  2. La entrada tardía puede filtrar falsas brechas para evitar ser atrapados
  3. La lógica de la transacción es simple, intuitiva y fácil de entender.
  4. Parámetros de medial flexiblemente ajustables para diferentes períodos
  5. Comercializa con ventaja y evita el riesgo de contravalor

Análisis de riesgos

  1. En el ciclo grande se requiere un mayor tiempo de tenencia de posiciones y existe el riesgo de expansión de pérdidas.
  2. El cruce de tres líneas está retrasado y podría perder el mejor punto de entrada.
  3. Necesidad de optimizar los parámetros de la línea media, de lo contrario la señal puede ser inexacta
  4. Las posiciones a largo plazo requieren considerar el riesgo durante la noche.

El riesgo se puede administrar mediante el ajuste de la duración de la posición, la optimización de los parámetros de la línea media, la introducción de estrategias de stop loss, etc.

Dirección de optimización

  1. Prueba de diferentes parámetros de ciclo medio para encontrar el parámetro óptimo
  2. Evaluación de las ventajas y desventajas de los diferentes retrasos de entrada mediante la filtración de señales
  3. Introducir estrategias de stop loss y ajustar las posiciones de stop loss en función de la realidad
  4. Estudiar las preferencias de los parámetros de las diferentes variedades y crear un sistema de optimización de parámetros
  5. Pruebas para aumentar el reingreso y las reglas de acopio para optimizar la tenencia de posiciones

Resumir

Esta estrategia se basa en la dirección de la tendencia de la posición de la línea de tres cruces. La ventaja es que las señales de negociación son simples, claras y configurables. La desventaja es que es fácil de retrasarse y requiere optimización de parámetros.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)