Basado en la estrategia de cruz dorada y cruz de la muerte de doble media móvil


Fecha de creación: 2024-02-27 16:21:02 Última modificación: 2024-02-27 16:21:02
Copiar: 0 Número de Visitas: 686
1
Seguir
1617
Seguidores

Basado en la estrategia de cruz dorada y cruz de la muerte de doble media móvil

Descripción general

Esta estrategia es una típica estrategia de cruce de medias móviles, que utiliza dos conjuntos de medias, una de medias rápidas y una de medias lentas al mismo tiempo. Cuando la mediana rápida cruza la mediana lenta, genera una señal de compra; cuando la mediana rápida cruza la mediana lenta, genera una señal de venta. La estrategia utiliza simultáneamente las medias EMA y SMA, que forman dos conjuntos de medias rápidas y lentas.

Principio de estrategia

La lógica principal de esta estrategia es la de determinar el tiempo de entrada y salida de un partido basándose en el cruce de dos grupos de líneas medias rápidas y lentas.

En primer lugar, calculemos dos conjuntos de líneas medias rápidas y lentas:

  • El primer grupo de EMA rápido, de 8 días de duración
  • El segundo grupo de EMA rápida, de 21 días de duración
  • El primer grupo de SMA de 50 días de duración
  • El segundo grupo de SMA de 200 días de duración

Luego, juzgue si el EMA rápido es un SMA de oro o un SMA de mortero:

  • Si el EMA del día 8 pasa por el SMA del día 50, es un indicador de la horca
  • Si el EMA bajo el día 8 atraviesa el SMA de 50 días, la señal de la horca muerta

Para filtrar las falsas señales, se añade un segundo grupo de confirmaciones de EMA y SMA:

  • La señal de negociación solo se emitirá cuando el EMA del 21 también haya subido o bajado el SMA del 50

De esta manera, se pueden filtrar muchas señales falsas mediante la confirmación de dos conjuntos de líneas medias rápidas y lentas, lo que mejora la fiabilidad de la señal.

Cuando el juicio genere una señal de compra, haga una entrada más; cuando el juicio genere una señal de venta, haga una entrada en blanco.

Además, la estrategia también establece una lógica de stop-loss. Cuando se mantiene una posición, el precio de stop y stop-loss se rastrea según el porcentaje de ganancias y pérdidas establecido.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de combinaciones de dos líneas uniformes puede filtrar eficazmente las señales falsas y mejorar la precisión de la señal
  2. Utiliza una combinación de EMA y SMA, combinando la sensibilidad de EMA a las últimas variaciones de precios y la suavidad de SMA
  3. Configuración de un Stop Loss para bloquear ganancias y controlar el riesgo
  4. Los principios son simples y claros, fáciles de entender y modificar.
  5. Parámetros personalizables para diferentes entornos de mercado

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Las estrategias de línea media son propensas a generar pequeños beneficios y pequeñas pérdidas con más volatilidad.
  2. En caso de cambios bruscos en la tendencia, puede haber mayores pérdidas
  3. La configuración incorrecta de los parámetros también puede perjudicar la rentabilidad

Para controlar el riesgo, se recomienda:

  1. Ajuste adecuado de la combinación de parámetros para adaptarse a las diferentes circunstancias del mercado
  2. Optimización de los parámetros según los resultados de la evaluación para adaptar mejor la estrategia al mercado objetivo
  3. Establecimiento de stop loss para controlar el tamaño de una sola pérdida

Dirección de optimización

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Prueba más combinaciones de línea media rápida y lenta para encontrar la combinación de parámetros óptima
  2. Parámetros de búsqueda automática de la optimización mediante aprendizaje automático o algoritmos genéticos
  3. Aumentar los indicadores de tendencia y evitar el comercio en contra
  4. Incrementar el movimiento de pérdidas o el movimiento de pérdidas para bloquear mejor los beneficios
  5. Aumentar la fiabilidad de la señal en combinación con indicadores de volumen de operaciones o volatilidad
  6. Combinación de múltiples estrategias/variedades para aprovechar la dispersión de riesgos no correlacionados

Resumir

En general, la estrategia de doble línea medida de la horquilla y la horquilla se caracteriza por la formación de señales de comercio a través de cruces de línea medida rápida y lenta, la configuración de riesgos de control de pérdidas y paradas, con características simples, intuitivas y fáciles de implementar. La estrategia puede optimizarse en función de los parámetros del mercado y la demanda, también puede usarse con otros indicadores técnicos o combinaciones de estrategias, y tiene una buena utilidad en el comercio cuantitativo.

Código Fuente de la Estrategia
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
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/
// © JMLSlop

//@version=4

src = close
strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false)

// first fast EMA
len = input(8, "Length", type=input.integer, minval=1)
doma1 = input(true, title="EMA")
out1 = ema(src, len) 

//Second fast EMA
len2 = input(21, minval=1, title="Length")
doma2 = input(true, title="EMA")
out2 = ema(src, len2)

//First slow MA
len3 = input(50, minval=1, title="Length")
doma3 = input(true, title="SMA")
out3 = sma(src, len3)

//Second slow MA
len4 = input(200, minval=1, title="Length")
doma4 = input(true, title="SMA")
out4 = sma(src, len4)

// Profit
profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01


plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA")
plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA")
plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA")
plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA")

// Orders config
takeProfitPrice =
     (strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na

longStopPrice  = strategy.position_avg_price * (1 - profit)
shortStopPrice = strategy.position_avg_price * (1 + profit)

longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3]))))
if (longCondition2)
    strategy.entry("Enter L", strategy.long)

shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3])))
if (shortCondition2)
    strategy.entry("Enter S", strategy.short)


if (strategy.position_size > 0)
    strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)