Estrategia de seguimiento de tendencias de medias móviles múltiples


Fecha de creación: 2024-02-05 11:10:41 Última modificación: 2024-02-05 11:10:41
Copiar: 0 Número de Visitas: 599
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de medias móviles múltiples

Descripción general

Esta estrategia es una estrategia típica de seguimiento de tendencias. Utiliza un conjunto de medias móviles de diferentes períodos para determinar la tendencia del mercado, entrando cuando la tendencia se establece y saliendo cuando la tendencia se invierte en el corto plazo.

Principio de estrategia

La estrategia utiliza cuatro grupos de promedios móviles: las líneas de 9, 21, 50 y 200 días, que representan diferentes dimensiones de tiempo.

Cuando las medias móviles de corto plazo superan a las medias móviles de largo plazo, se considera que el mercado está en una tendencia alcista; cuando las medias móviles de corto plazo superan a las medias móviles de largo plazo, se considera que el mercado está en una tendencia bajista.

La estrategia utiliza la línea de 9 días como referencia para juzgar la relación de ordenamiento de varias otras medias móviles, lo que permite determinar la dirección de la tendencia general. La lógica específica es:

Condiciones de entrada múltiples: precio de cierre > línea de 9 días y línea de 9 días > línea de 21 días y línea de 21 días > línea de 50 días y línea de 50 días > 200 días

Condiciones de entrada en blanco: precio de cierre < línea 9 y línea 9 < línea 21 y línea 21 < línea 50 y línea 50 < línea 200

Entre ellos, el precio de cierre de la relación con la línea de 9 días para determinar la tendencia más corta, la relación de la línea de 9 días con la línea de 21 días para determinar la tendencia a corto plazo, la relación de la línea de 21 días con la línea de 50 días para determinar la tendencia a medio plazo, la relación de la línea de 50 días con la línea de 200 días para determinar la tendencia a largo plazo. Sólo cuando las relaciones de los cuatro grupos de promedios móviles coinciden, se puede determinar que la tendencia se establece y emitir una señal de comercio.

Condiciones de salida: el precio de cierre cae por debajo del promedio móvil de los 21 días, eliminando todas las ofertas adicionales; el precio de cierre rompe el promedio móvil de los 21 días, eliminando todas las ofertas en blanco.

Ventajas estratégicas

  1. El uso de múltiples grupos de medias móviles para determinar tendencias puede filtrar eficazmente el ruido del mercado de tendencias no principales y capturar tendencias de línea media y larga.

  2. Las condiciones de ingreso son estrictas y requieren un juicio de tendencias en varias dimensiones temporales para evitar ser bloqueado por ajustes a corto plazo.

  3. Detener los daños a tiempo y controlar los riesgos de manera efectiva.

Riesgos y soluciones

  1. En los mercados de ordenamiento horizontal a largo plazo, es fácil generar una gran cantidad de señales falsas, lo que aumenta el riesgo de negociación. Se puede optimizar los parámetros, ajustar el número de ciclos de la media móvil y filtrar parte del ruido.

  2. En situaciones extremas, los promedios móviles suelen tener un punto muerto o un punto amarillo. En este caso, se necesita combinar otros factores para determinar la tendencia real. Se pueden agregar indicadores como el RSI, el MACD y otros para confirmar, para evitar perderse la gran situación.

Dirección de optimización

  1. Optimización de parámetros. Se puede probar diferentes combinaciones de parámetros para encontrar el parámetro óptimo. Por ejemplo, ajustar el número de ciclos de la media móvil, agregar o ajustar las condiciones de parada.

  2. Aumentar la calidad de los filtros. Por ejemplo, en la entrada para determinar si el volumen de tráfico se amplifica, para evitar saltos con una capacidad insuficiente. O para determinar si la fluctuación se amplifica, para evitar la orden de vibración.

  3. Aumentar la confirmación de otros indicadores técnicos para evitar señales erróneas en situaciones extremas. Se puede considerar la inclusión de indicadores como el RSI, MACD y otros para un juicio multifactorial.

Resumir

La estrategia en su conjunto es una estrategia de seguimiento de tendencias típica y práctica. Utiliza varios grupos de medias móviles para juzgar tendencias, las condiciones de entrada son estrictas y puede bloquear efectivamente las tendencias de la línea media y larga.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 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/
// © shayak1

//@version=5
strategy('Super SR', overlay=true)

r = input.int(14,"rsi-length",1,100)
rsi = ta.rsi(close,r)

len1 = 9
len2 = 21
len3 = 50
len4 = 200

ema1 = ta.ema(close, len1)
ema2 = ta.ema(close, len2)
ema3 = ta.ema(close, len3)
ema4 = ta.ema(close, len4)

plot(ema1,color= color.green)
plot(ema2,color= color.yellow)
plot(ema3,color= color.orange)
plot(ema4,color= color.red)


// *** entries 
Long1 = close > ema1
Long2 = ema1 > ema2
Long3 = ema2 > ema3
Long4 = ema3 > ema4
buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0

if (buy_condition and strategy.position_size <= 1)
    strategy.entry("B", strategy.long)

Short1 = close < ema1
Short2 = ema1< ema2
Short3 = ema2< ema3
Short4 = ema3< ema4
sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0

//if (sell_condition)
//    strategy.entry("S", strategy.short)

// trailing SL
//Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos


//EXIT CONDITIONS

exit_long = ta.crossunder(close, ema2)
exit_short = ta.crossover(close, ema2)

if(exit_long)
    strategy.close("B", "LE", qty_percent=100)
if(exit_short)
    strategy.close("S", "SE", qty_percent=100)

//==============================================================================
//INSERT SECTION
//This section is where users will be required to insert the indicators they
//would like to use for their NNFX Strategy.
//==============================================================================
//INSERT - CONFIRMATION INDICATOR 1
//==============================================================================


//==============================================================================
//INSERT - CONFIRMATION INDICATOR 2
//==============================================================================


//==============================================================================
//INSERT - VOLUME INDICATOR
//==============================================================================


//==============================================================================
//INSERT - BASELINE INDICATOR
//==============================================================================


//==============================================================================
//INSERT - EXIT INDICATOR
//==============================================================================


//==============================================================================
//INSERT - CONTINUATION TRADES INDICATOR
//==============================================================================


//==============================================================================
//COMPLETED SECTION
//This section has been optimised to work with the above indicators the user
//has inserted above. The user does not require to change any code below and
//is completed and optimised for the full NNFX strategy. Users may wish to 
//customise this section of code if they wish to alter the NNFX strategy.
//==============================================================================
//COMPLETE - BACKTEST DATE RANGE
//==============================================================================
// start_day = input.int(1,"start day",1,31)
// start_month = input.int(1,"start month",1,12)
// start_year = input.int(1,"start year",2010,2023)



//==============================================================================
//COMPLETE - CURRENCY CONVERSION
//==============================================================================


//==============================================================================
//COMPLETE - ATR MONEY MANAGEMENT
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C1
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C2
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Vol
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Bl
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Exit
//==============================================================================


//==============================================================================
//COMPLETE - CONTINUATION TRADES
//==============================================================================


//==============================================================================
//COMPLETE - ONE CANDLE RULE
//==============================================================================


//==============================================================================
//COMPLETE - BRIDGE TOO FAR
//==============================================================================


//==============================================================================
//COMPLETE - BASELINE AND ATR RULE
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - EXIT ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - CLOSE ORDERS
//==============================================================================


//==============================================================================