La estrategia es una estrategia de cruce de líneas bi-equivalentes basada en el indicador SuperTrend. El indicador SuperTrend se compone de dos líneas equivalentes que se cruzan como una señal de compra y venta. La estrategia es una estrategia de seguimiento de tendencias.
Calcula la línea rápida de demafast, con la fórmula: 2*ema5 - ema(ema5,5)
Calcula la línea lenta de demaslow, con la fórmula: 2*ema2 - ema(ema2,2)
Las líneas rápidas están formadas por 5 días de EMA y responden a los cambios de precio más rápidamente; las lentas están formadas por 2 días de EMA y responden a los cambios de precio más lentamente.
Cuando la línea rápida rompe la línea lenta desde abajo, genera una señal de compra; cuando la línea rápida rompe la línea lenta desde arriba, genera una señal de venta.
El uso de la intersección de dos líneas medias con diferentes velocidades de respuesta para determinar cambios en la tendencia de los precios es una estrategia típica de seguimiento de tendencias.
Ejecución real de las transacciones en función de las señales de compra y venta.
La idea central de la estrategia es simple y clara, y es una estrategia de seguimiento de tendencias común que se adapta a los mercados de diferentes períodos mediante el ajuste de los parámetros de la línea media.
El uso de un cruce de dos líneas uniformes para determinar el cambio de dirección de la tendencia es un indicador técnico simple y práctico.
Los parámetros de línea rápida y lenta son ajustables y se pueden optimizar para diferentes períodos.
Las señales de estrategia son claras y la ejecución de la operación es simple.
La detección está completa para verificar el efecto de la estrategia.
La interfaz visual muestra el cruce de forma intuitiva.
Las estrategias son fáciles de entender y adecuadas para los principiantes.
La intersección de dos líneas equiláreas puede producir una señal de retraso o falsa. Se pueden ajustar los parámetros adecuadamente o agregar condiciones de filtración para mejorar.
No puede manejar eficazmente los mercados de liquidación o de oscilación, y es fácil de detener. Se puede agregar un mecanismo de determinación de tendencias para optimizar.
Los parámetros de detección se pueden optimizar en un espacio limitado, y el efecto en el disco duro está pendiente de verificación.
El impacto de los costos de transacción en las ganancias debe ser considerado.
Prueba combinaciones de parámetros de diferentes longitudes de línea media para encontrar la mejor coincidencia.
Añadir otros indicadores para filtrar la señal, como el indicador KDJ, etc.
La inclusión de un mecanismo de suspensión de pérdidas para controlar las pérdidas individuales.
Se ha añadido la función de gestión de posiciones, con diferentes porcentajes de transacciones en diferentes condiciones.
Optimización de la estrategia de gestión de fondos y establecimiento de indicadores de riesgo como la relación ganancias/pérdidas.
Considere la posibilidad de incorporar algoritmos como el aprendizaje automático para la optimización de parámetros o el juicio de señales.
La estrategia de SuperTrend es una estrategia de seguimiento de tendencias sencilla, que se adapta a diferentes períodos mediante el ajuste de los parámetros, y es muy operativa. En combinación con otros indicadores técnicos para optimizar la expansión y el control del riesgo, se puede aumentar aún más la estabilidad de la estrategia.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
strategy(title = "SuperTrend", shorttitle = "BTC")
ema5=ta.ema(close, 5)
ema2=ta.ema(close, 2)
demaFast = request.security(syminfo.tickerid, "30", 2 * ema5 - ta.ema(ema5, 5) )
plotchar((2 * ema5 - ta.ema(ema5, 5)), "d", "", location = location.top)
plotchar(demaFast, "fast", "", location = location.top)
demaSlow = request.security(syminfo.tickerid,"30", 2 * ema2 - ta.ema(ema2, 2) )
plotchar(demaSlow, "slow", "", location = location.top)
buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)
strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell )