Estrategia de cruce de SMA


Fecha de creación: 2024-03-28 17:50:00 Última modificación: 2024-03-28 17:50:00
Copiar: 1 Número de Visitas: 587
1
Seguir
1617
Seguidores

Estrategia de cruce de SMA

Descripción general

La estrategia es una sencilla estrategia de cruzamiento de líneas de media SMA. Utiliza una media móvil simple de dos períodos diferentes (SMA) para abrir más posiciones cuando la línea rápida cruza la línea lenta de abajo hacia arriba, y para cerrar posiciones cuando la línea rápida cruza la línea lenta de arriba hacia abajo. La estrategia puede personalizar la longitud de las dos líneas de media, así como las fechas de inicio y finalización de la medición.

La idea principal de esta estrategia es aprovechar las características de la tendencia de la línea media y las características de la señal de la línea media cruzada para operar. Cuando la línea rápida está por encima de la línea lenta, indica que está en una tendencia ascendente, se debe mantener una posición de más de un cabeza; cuando la línea rápida está por debajo de la línea lenta, indica que está en una tendencia descendente, se debe esperar una posición cerrada.

Principio de estrategia

  1. Para calcular el SMA de dos períodos diferentes, se puede personalizar la longitud de los períodos.
  2. Determinar si el tiempo actual está dentro de la ventana de tiempo de retroalimentación, y si no lo está, no realizar ninguna operación.
  3. Si la línea rápida pasa por la línea lenta de abajo hacia arriba, se abre más posición.
  4. Si la línea rápida atraviesa la línea lenta de arriba hacia abajo, se eliminan todas las posiciones de más cabeza.
  5. En el resto de los casos, el depósito está vacío y no se realiza ninguna operación.

Análisis de las ventajas

  1. Es fácil de entender, tiene una lógica clara y es adecuado para que los principiantes lo aprendan y lo usen.
  2. La línea media es un indicador técnico de uso generalizado, con características de tendencia más evidentes, que reflejan mejor las tendencias actuales del mercado.
  3. El cruce de línea media es una señal de seguimiento de tendencias clásica que permite capturar rápidamente los cambios en la tendencia.
  4. Se puede personalizar el ciclo de mediano y la ventana de tiempo de retracción, con una mayor flexibilidad.
  5. Aplicable para variedades y períodos de tiempo de mayor tendencia.

Análisis de riesgos

  1. Las líneas medias tienen un cierto retraso, y cuando el mercado fluctúa mucho y las tendencias se repiten, pueden aparecer frecuentes señales de cruce, lo que provoca un exceso de operaciones y un aumento en los costos de las comisiones.
  2. La estrategia sólo captura los movimientos de alza unilaterales y no los movimientos de oscilación y caída unilaterales.
  3. La elección de los parámetros de la línea media necesita ser optimizada en función de las diferentes variedades y períodos de tiempo, y los diferentes parámetros pueden tener una gran diferencia de rendimiento.
  4. La estrategia no incluye ningún tipo de parálisis, lo que significa un mayor riesgo de retiro en momentos de gran volatilidad.

Dirección de optimización

  1. Se puede considerar la inclusión de medidas de stop loss adecuadas, como el stop loss móvil basado en el ATR, para controlar la pérdida máxima de una sola transacción.
  2. Se puede considerar la adición de algunos filtros, como volumen de transacciones, volatilidad, etc., para filtrar algunas señales falsas.
  3. Se puede considerar la optimización de los parámetros, como el uso de algoritmos inteligentes como el algoritmo genético para encontrar la combinación óptima de parámetros.
  4. Se puede considerar la combinación de otros indicadores técnicos o señales de negociación con el cruce de línea media, como MACD, RSI, etc., para aumentar la fiabilidad y la eficacia de la estrategia.

Resumir

La estrategia de cruce de la línea de equilibrio SMA es una estrategia de seguimiento de tendencias sencilla, fácil de entender y clásica, adecuada para que los principiantes la aprendan y la utilicen. Utiliza las características de la tendencia de la línea de equilibrio y las características de la señal de cruce de la línea de equilibrio para capturar rápidamente los cambios en la tendencia del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 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/
// © j0secyn

//@version=5
strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000)

// === INPUT BACKTEST RANGE ===
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2018,title = "From Year", minval = 1970)
thruDay   = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31)
thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12)
thruYear  = input.int(defval = 2024, title = "Thru Year", minval = 1970)

slow_ma_length = input.int(defval = 100, title = "Slow MA lenght")
fast_ma_length = input.int(defval = 30, title = "Fast MA lenght")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => true

// === LOGIC ===
crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))
crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))

// === EXECUTION ===
// strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
// strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder         
strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder