Sistema avanzado de trading con seguimiento de tendencias y de impulso de media móvil dual

SMA MA EMD
Fecha de creación: 2024-11-27 16:54:54 Última modificación: 2024-11-27 16:54:54
Copiar: 0 Número de Visitas: 381
1
Seguir
1617
Seguidores

Sistema avanzado de trading con seguimiento de tendencias y de impulso de media móvil dual

La estrategia es una estrategia de seguimiento de tendencias dinámicas basada en un sistema de doble línea media, que combina la señal cruzada de la línea media rápida con la línea media lenta, al tiempo que introduce una línea media filtrada para optimizar el tiempo de entrada y lograr un efecto de negociación sólido a través de la gestión de fondos y el control de riesgos.

Principio de estrategia

La estrategia utiliza el promedio móvil simple de 11 y 31 períodos (SMA) como su sistema de señales principal, mientras que el promedio de 5 períodos se utiliza como filtro. Cuando la línea rápida (SMA11) atraviesa la línea lenta (SMA31) y el precio está por encima de la línea media filtrada, el sistema genera múltiples señales; cuando la línea rápida atraviesa la línea lenta, el sistema se estabiliza. La estrategia controla el tamaño de cada transacción mediante el establecimiento de una cantidad fija de capital, lo que permite la gestión del riesgo.

Ventajas estratégicas

  1. El sistema de señales es simple, claro, fácil de entender y ejecutar.
  2. Confirmación de líneas medias múltiples para filtrar señales falsas
  3. El comercio con un volumen de capital fijo, el riesgo controlado
  4. Una buena capacidad de seguimiento de tendencias
  5. La lógica de entrada y salida es clara y no genera dudas de decisión.
  6. Adaptación a diferentes entornos del mercado

Riesgo estratégico

  1. Los mercados convulsionados pueden generar transacciones frecuentes
  2. El sistema de línea media tiene cierto retraso
  3. Las transacciones con volúmenes fijos de capital pueden no aprovechar al máximo la eficiencia de capital
  4. No se tiene en cuenta la variación de la volatilidad del mercado
  5. La falta de mecanismos de detención de pérdidas puede suponer un mayor riesgo de retiro

Dirección de optimización de la estrategia

  1. Introducción de un ciclo de mediano lineal adaptado, que se ajusta dinámicamente a las fluctuaciones del mercado
  2. Aumentar los filtros de volatilidad para ajustar la posición en un entorno de alta volatilidad
  3. Diseñar un sistema de gestión de fondos dinámico para mejorar la eficiencia en el uso de fondos
  4. Incorporación de mecanismos de stop loss y de suspensión para controlar el riesgo de una sola transacción
  5. Considerar la introducción de indicadores de intensidad de tendencias para optimizar el momento de entrada
  6. Aumentar los filtros de tiempo de transacción para evitar operaciones en tiempos adversos

Resumir

La estrategia construye un sistema de seguimiento de tendencias relativamente sólido a través de un sistema de líneas medias múltiples. Si bien existen algunas limitaciones inherentes, se puede mejorar aún más la estabilidad y la rentabilidad de la estrategia mediante optimizaciones y mejoras razonables. Se recomienda a los comerciantes que ajusten los parámetros de manera específica en combinación con las circunstancias específicas del mercado cuando se aplican en el mercado real.

Código Fuente de la Estrategia
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

strategy('Nifty 30m SMA Crossover Long', overlay=true)

start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)

SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)

plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))

// strategy 
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma

MyQty = 10000000 / close

// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))


if time >= start and time < end
    strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
    strategy.close('Enter Long', when=LongExit)