La estrategia utiliza principalmente los indicadores MACD y RSI para generar señales comerciales.
MACD significa Divergencia de convergencia de promedio móvil. Consiste en la línea DIFF, la línea DEA y el histograma. En esta estrategia, DIFF es la diferencia entre la EMA de 5 días y la EMA de 13 días del precio de cierre, mientras que DEA es la EMA de 5 días de DIFF. Las señales de compra y venta se generan cuando DIFF cruza por encima y por debajo de DEA respectivamente.
RSI significa índice de fortaleza relativa. Refleja situaciones de sobrecompra / sobreventa al comparar las ganancias y pérdidas promedio durante un período. Esta estrategia establece el período RSI como 14.
Después de la entrada, la estrategia anticipa que el precio de cierre de la siguiente barra será superior/inferior al precio de apertura para validar la tendencia, cerrando la posición con beneficio si se cumple la condición.
Los principales riesgos de esta estrategia incluyen:
Solución: Optimice los parámetros del MACD para suavizar la curva.
Solución: Ajustar en función de la volatilidad del mercado y la preferencia personal por el riesgo.
Solución: Asegúrese con opciones u otros instrumentos.
La estrategia puede mejorarse en los siguientes aspectos:
Optimizar los parámetros MACD para reducir las señales ruidosas
Mejorar el filtro RSI para una mayor eficacia
Prueba otros indicadores de confirmación como KD, bandas de Bollinger, etc.
Implementar una parada de pérdida de seguimiento dinámica
Utilice el aprendizaje automático para la optimización de parámetros
Incorporar futuros de índices bursátiles, opciones de cobertura
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Al-Sat Sinyali ve Teyidi", overlay=true) // MACD (Hareketli Ortalama Yakınsaklık Sapma) [macdLine, signalLine, _] = ta.macd(close, 5, 13, 5) // RSI (Göreceli Güç Endeksi) rsiValue = ta.rsi(close, 14) // RSI Filtresi rsiOverbought = rsiValue > 70 rsiOversold = rsiValue < 30 // MACD Sinyalleri buySignalMACD = ta.crossover(macdLine, signalLine) and not rsiOverbought sellSignalMACD = ta.crossunder(macdLine, signalLine) and not rsiOversold // Al-Sat Stratejisi if (buySignalMACD and close[1] != close) // Al sinyali ve bir önceki mumdan farklı renkte ise strategy.entry("Buy", strategy.long) if (sellSignalMACD and close[1] != close) // Sat sinyali ve bir önceki mumdan farklı renkte ise strategy.entry("Sell", strategy.short) // Teyit için bir sonraki mumu bekleme strategy.close("Buy", when=ta.crossover(close, open)) strategy.close("Sell", when=ta.crossunder(close, open)) // Varsayımsal bir sonraki mumun kapanış fiyatını hesapla nextBarClose = close[1] plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı") // Görselleştirmeyi devre dışı bırakma plot(na) // Al-Sat Etiketleri plotshape(series=buySignalMACD, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al") plotshape(series=sellSignalMACD, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")