Super tendencia siguiendo una estrategia basada en medias móviles

El autor:¿ Qué pasa?, Fecha: 2024-02-05 11:10:41
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia típica de seguimiento de tendencias. Utiliza múltiples conjuntos de promedios móviles con diferentes períodos para determinar la tendencia del mercado.

Principio de la estrategia

La estrategia emplea 4 grupos de medias móviles: líneas de 9 días, 21 días, 50 días y 200 días.

Cuando la media móvil a corto plazo cruza la media móvil a largo plazo hacia arriba, se determina que el mercado entra en una tendencia alcista.

La estrategia toma el MA de 9 días como referencia para observar la alineación de los otros MA, y así juzgar la dirección general de la tendencia.

Condiciones de entrada a largo plazo: Cerrar > MA de 9 días y MA de 9 días > MA de 21 días y MA de 21 días > MA de 50 días y MA de 50 días > MA de 200 días.

Condiciones de entrada cortas: MA cerrada < 9 días y MA de 9 días < 21 días y MA de 21 días < 50 días y MA de 50 días < 200 días.

Aquí, la relación entre el precio cerrado y el MA de 9 días determina la tendencia a corto plazo, mientras que la relación entre el MA de 9 y 21 días juzga la tendencia a corto plazo, la tendencia a mediano plazo de 21 días y 50 días, la tendencia a largo plazo de 50 días y 200 días.

Condiciones de salida: cierre de precios por debajo del MA de 21 días, aplanamiento de todas las posiciones largas; cruce por encima del MA de 21 días, aplanamiento de todas las posiciones cortas.

Ventajas de la estrategia

  1. La adopción de múltiples MAs para determinar la tendencia puede filtrar los ruidos del mercado de los movimientos no convencionales y capturar las tendencias a medio y largo plazo.

  2. Las condiciones estrictas de entrada requieren juicios válidos en diferentes plazos, evitando quedar atrapados por correcciones a corto plazo.

  3. El stop loss oportuno ayuda a controlar los riesgos de manera efectiva.

Riesgos y soluciones

  1. En los mercados de rango a largo plazo, pueden ocurrir señales falsas excesivas y aumentar los riesgos comerciales.

  2. Durante las tendencias violentas, los cruces de MA ocurren con frecuencia.

Direcciones de optimización

  1. Optimización de parámetros. Prueba diferentes combinaciones de parámetros para averiguar el óptimo, como ajustar los períodos de MA, agregar o modificar criterios de stop loss, etc.

  2. Mejorar el filtro de calidad. Por ejemplo, comprobar si el volumen aumenta al entrar para evitar un impulso insuficiente, o examinar la volatilidad para evitar oscilaciones.

  3. Introduzca la confirmación de indicadores más técnicos para evitar señales erróneas en medio de movimientos feroces del mercado.

Resumen de las actividades

En general, esta es una estrategia típica y práctica de seguimiento de tendencias. Adopta múltiples MAs para determinar tendencias, tiene reglas de entrada estrictas para bloquear tendencias a mediano y largo plazo. Junto con el stop loss oportuno, ayuda a controlar los riesgos. Se pueden lograr mejoras adicionales en la estabilidad y la rentabilidad a través de formas como la optimización de parámetros y la adición de indicadores de confirmación.


/*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
//==============================================================================


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

Más.