Estrategia de negociación de media móvil de períodos múltiples


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

Descripción general

Esta estrategia combina una media EMA con varios parámetros diferentes y un indicador de energía cuantitativa EOM para lograr un juicio de tendencia de varios períodos de tiempo, y una estrategia de negociación que construye un juicio conjunto de líneas largas y cortas. La estrategia tiene como objetivo aprovechar la resonancia de varias líneas medias de diferentes períodos de tiempo para descubrir un movimiento de tendencia más eficaz.

Principio de estrategia

La estrategia utiliza 4 grupos de EMA promedio de parámetros de diferentes períodos, EMA de 13 períodos, 21 períodos, 50 períodos y 180 períodos. Estos 4 grupos de EMA promedio construyen varias dimensiones de tiempo para determinar las tendencias de precios y descubrir patrones de tendencia de mayor eficacia.

La estrategia utiliza el indicador de la cantidad de energía EOM para confirmar la tendencia. El indicador EOM combina el volumen de transacciones y la amplitud de las fluctuaciones de los precios, lo que permite determinar con eficacia el canal de la fuerza de compra y venta. La estrategia determina que el EOM mayor a 0 es un mercado de más de una cabeza y el EOM menor a 0 es un mercado de cabeza.

La estrategia establece dos opciones, la opción 1 es hacer más cuando el EMA a corto plazo atraviesa el EMA a largo plazo, la opción 2 es hacer más cuando el EMA a corto plazo atraviesa el EMA a mediano plazo, y la opción 3 es hacer más cuando el EMA a corto plazo atraviesa el EMA a mediano plazo. Las dos opciones permiten un juicio más amplio de la tendencia.

Ventajas estratégicas

  • Utilizando el EMA de períodos múltiples para determinar tendencias, se pueden descubrir patrones de tendencia de líneas más largas.
  • El indicador de capacidad cuantitativa de EOM es un buen indicador para determinar la tendencia de las compras y las ventas, evitando ser engañados por el retroceso temporal
  • Dos opciones de entrada para conocer mejor las tendencias
  • La adopción de un cambio de manos por capas para reducir las pérdidas individuales

Riesgo estratégico

  • El EMA promedio es retrasado y puede perder una rápida reversión
  • El indicador de energía puede emitir una señal errónea
  • La inclusión en el proceso de admisión no está clara
  • El cambio de manos por capas puede ser demasiado mecanizado

Dirección de optimización

  • Se pueden probar más combinaciones de parámetros en el ciclo EMA para encontrar el parámetro óptimo
  • Se pueden agregar otros indicadores para la admisión, como el MACD.
  • Se puede utilizar el stop loss móvil para seguir el funcionamiento de la tendencia
  • Se puede ajustar la proporción de posiciones de posicionamiento en función de la situación del mercado

Resumir

Esta estrategia integra el juicio de EMA de varios períodos de tiempo y el filtro de indicadores cuantitativos, lo que permite el seguimiento de tendencias y la eliminación de ruido. Hay mucho espacio para la optimización, y la estabilidad de la estrategia se puede mejorar aún más al probar diferentes combinaciones de parámetros y agregar más indicadores. Al mismo tiempo, la adopción de stop loss dinámico y la gestión de posiciones también puede optimizar significativamente el rendimiento de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 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/
// © SoftKill21

//@version=4
strategy("4x ema + volume", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 )

//ema x 4
ema1l=input(13)
ema2l=input(21)
ema3l=input(50)
ema4l=input(180)

ema1=ema(close,ema1l)
ema2=ema(close,ema2l)
ema3=ema(close,ema3l)
ema4=ema(close,ema4l)

long1 = close > ema1 and ema1 > ema2 and ema2> ema3 and ema3 > ema4
long2 = crossover(ema1,ema2) and crossover(ema1,ema3)

short1 = close < ema1 and ema1 < ema2 and ema2< ema3 and ema3 < ema4
short2= crossunder(ema1,ema2) and crossunder(ema1,ema3)


//eom
length = input(14, minval=1)
div = input(10000, title="Divisor", minval=1)
eom = sma(div * change(hl2) * (high - low) / volume, length)


option1=input(true)
option2=input(false)

if(option1)
    strategy.entry("long",1,when=long1 and eom>0)
    strategy.close("long",when=short1 and eom<0)
 
if(option2)
    strategy.entry("long",1,when=long2 and eom>0)
    strategy.close("long",when=short2 and eom<0)