Estrategia de cruce de la SMA doble

El autor:¿ Qué pasa?, Fecha: 2023-11-23 16:42:58
Las etiquetas:

img

Resumen general

La estrategia de doble SMA Crossover genera señales de negociación mediante el cálculo del cruce de dos líneas SMA con diferentes configuraciones de parámetros. Cuando la línea SMA más rápida cruza por encima de la línea SMA más lenta, se genera una señal de compra. Cuando la línea SMA más lenta cruza por debajo de la línea SMA más rápida, se genera una señal de venta. La estrategia utiliza dos conjuntos de parámetros SMA al mismo tiempo, uno para determinar los puntos de entrada y el otro para determinar los puntos de salida.

Estrategia lógica

Esta estrategia utiliza dos conjuntos de parámetros SMA,smaB1, smaB2para señales de compra, ysmaS1, smaS2En el caso de las señales de venta, que representan promedios móviles más lentos y más rápidos, respectivamente.smaB1cruces por encimasmaB2, se genera una señal de compra.smaS2cruces abajosmaS1En el caso de las empresas que se encuentran en una situación de crisis, se genera una señal de venta, lo que permite un ajuste flexible de las condiciones de entrada y salida para adaptarse a los cambios en el entorno del mercado.

Específicamente, esta estrategia monitorea las situaciones de cruce entre las dos líneas SMA calculadas a partir del precio de cierre para determinar el momento de compra y venta. Cuando la línea SMA más rápida cruza por encima de la línea SMA más lenta, se juzga que la tendencia del precio es al alza, por lo que ir largo en este momento. Y cuando la línea SMA más lenta cruza por debajo de la línea SMA más rápida, la tendencia del precio se vuelve a la baja, por lo que salir de las posiciones largas.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El uso de un sistema doble de cruce de medias móviles permite ajustar flexiblemente los criterios de entrada y salida para adaptarse a los cambios del mercado
  2. Las propias líneas SMA pueden filtrar algo de ruido y generar señales comerciales más confiables
  3. Las combinaciones de parámetros SMA personalizables permiten la optimización de parámetros para diferentes productos

Análisis de riesgos

También hay algunos riesgos asociados con esta estrategia:

  1. Las señales de cruce SMA pueden retrasarse y no generar señales oportunas alrededor de los puntos de inflexión
  2. La selección incorrecta de los parámetros de SMA puede dar lugar a demasiadas señales falsas
  3. Las señales generadas en condiciones de mercado volátiles pueden no funcionar bien

Para controlar los riesgos anteriores, se pueden utilizar métodos como la optimización del parámetro SMA, el stop loss dinámico para obtener ganancias, etc., para mejorar la estrategia.

Direcciones de optimización

Algunas direcciones de optimización para esta estrategia:

  1. Prueba más combinaciones de parámetros SMA para encontrar los parámetros óptimos
  2. Añadir confirmación de volumen para evitar señales erróneas durante las violentas fluctuaciones de precios
  3. Combinar otros indicadores (por ejemplo, MACD, RSI) para filtrar las señales de cruce de SMA
  4. Añadir estrategias de stop loss para bloquear las ganancias y reducir las pérdidas

Resumen de las actividades

La estrategia SMA Crossover genera señales comerciales simples y efectivas mediante el cálculo de las situaciones de cruce entre dos líneas SMA. La flexibilidad para ajustar los parámetros hace que esta estrategia sea adaptable a diferentes productos, y es una estrategia de tendencia comúnmente utilizada. Se pueden hacer mejoras adicionales a esta estrategia a través de la optimización de parámetros, filtrado de señales, etc. para generar señales más confiables.


/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 5m
basePeriod: 1m
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/
// © melihtuna

//@version=4
strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent)

smaB1 = input(title="smaB1",defval=377)
smaB2 = input(title="smaB2",defval=200)
smaS1 = input(title="smaS1",defval=377)
smaS2 = input(title="smaS2",defval=200)
smawidth = 2

plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1')
plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2')
plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1')
plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2')

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => time >= start and time <= finish ? true : false 

longCondition = crossover(sma(close, smaB1),sma(close, smaB2))

if (window() and longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = crossover(sma(close, smaS2),sma(close, smaS1))

if (window() and shortCondition)
    strategy.entry("SELL", strategy.short)
    
    
    

Más.