Esta estrategia se llama
Calcular el SMA9, el SMA50, el SMA180 del precio de cierre y el EMA20.
Determinar señales de compra y venta basadas en la relación entre el precio cerrado y soporte sup y resistencia res. Generar una señal de compra BuySignal cuando el cierre rompe a través de sup, y generar una señal de venta SellSignal cuando el cierre rompe a través de res.
Cuando se compran los activadores de la señal, ejecutar la estrategia de posición larga; cuando se venden los activadores de la señal, cerrar la posición larga.
Cuando se venden los activadores de la señal, ejecutar la estrategia de posición corta; cuando se compran los activadores de la señal, cerrar la posición corta.
La combinación de múltiples promedios móviles para formar señales comerciales mejora la precisión y la estabilidad.
El cálculo de soporte y resistencia dinámicos hace que las señales comerciales sean más confiables.
La adopción de medias móviles de alta, media y baja volatilidad tiene en cuenta tanto la tendencia a largo plazo como los avances a corto plazo, mejorando la rentabilidad de la estrategia.
Apoyar tanto posiciones largas como cortas puede obtener ganancias en los mercados de tendencia y laterales.
La SMA tiene un efecto de retraso, que puede retrasar las señales de compra y venta y afectar el rendimiento de la estrategia.
Sin un mecanismo de stop loss, las pérdidas pueden expandirse.
Los datos de las pruebas de retroceso son insuficientes y los parámetros deben ajustarse en función del mercado.
Confiando en indicadores técnicos, incapaz de hacer frente a los eventos del cisne negro.
Soluciones:
Se incluyen las pérdidas de suspensión basadas en la volatilidad para controlar las pérdidas individuales.
Añadir modelos de aprendizaje automático para ayudar con el juicio de tendencias y la generación de señales.
Añadir análisis de precios clave para mejorar la precisión de soporte y resistencia.
Prueba diferentes combinaciones de parámetros para encontrar mejores parámetros.
Esta estrategia combina los indicadores técnicos de SMA y EMA para construir señales comerciales, y calcula soporte dinámico y resistencia para formar una lógica completa de compra y venta. Las ventajas son parámetros flexibles, comercio bidireccional, adaptable a diferentes mercados, pero también enfrenta problemas como retraso y stop loss inadecuado. Las optimizaciones futuras se pueden hacer en aspectos como stop loss, tendencia de juicio, análisis de precios clave para mejorar la estabilidad y la rentabilidad.
]
/*backtest start: 2023-12-10 00:00:00 end: 2023-12-11 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) //SMA and EMA code smaInput1 = input(9, title="SMA1") smaInput2 = input(50, title="SMA2") smaInput3 = input(180, title="SMA3") emaInput1 = input(20, title="EMA1") sma1 = sma(close, smaInput1) sma2 = sma(close, smaInput2) sma3 = sma(close, smaInput3) EMA1 = ema(close, emaInput1) plot(sma1, color= color.red , title="SMA1") plot(sma2, color = color.blue, title="SMA2") plot(sma3, color= color.white, title="SMA3") plot(EMA1, color = color.yellow, title="EMA1") no=input(3,title="BUY/SELL Swing") Barcolor=input(false,title="BUY/SELL Bar Color") Bgcolor=input(false,title="BUY/SELL Background Color") res=highest(high,no) sup=lowest(low,no) avd=iff(close>res[1],1,iff(close<sup[1],-1,0)) avn=valuewhen(avd!=0,avd,0) tsl=iff(avn==1,sup,res) // Buy/sell signals BuySignal = crossover(close, tsl) SellSignal = crossunder(close, tsl) // Enter long position strategy.entry("Buy", strategy.long, when=BuySignal) // Exit long position strategy.exit("Sell", "Buy", when=SellSignal) // Enter short position strategy.entry("Sell", strategy.short, when=SellSignal) // Exit short position strategy.exit("Buy", "Sell", when=BuySignal) colr = close>=tsl ? color.green : close<=tsl ? color.red : na plot(tsl, color=colr)