Supertrend combinado con la estrategia de negociación cuantitativa RSI

El autor:¿ Qué pasa?, Fecha: 2024-01-31 17:19:28
Las etiquetas:

img

Resumen general

La estrategia se llama Dual-drive Strategy. La idea principal es combinar la Supertrend y el RSI, que son dos poderosos indicadores técnicos, con el fin de aprovechar al máximo sus respectivas ventajas y lograr un excelente rendimiento cuantitativo de negociación.

Estrategia lógica

El núcleo de la estrategia utiliza la función Change para determinar el cambio de dirección del indicador Supertrend para generar señales comerciales.

Al mismo tiempo, se introduce el indicador RSI para ayudar a determinar cuándo cerrar posiciones. Cuando el RSI rompe la línea de sobrecompra establecida, se cerrarán las posiciones largas; cuando el RSI rompe la línea de sobreventa establecida, se cerrarán las posiciones cortas. De esta manera, el RSI ayuda a determinar puntos de stop loss razonables para bloquear las ganancias.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Supertrend es bueno para identificar cambios de tendencia del mercado para entradas largas y cortas precisas.

  2. RSI sobresale en la localización de puntos de inflexión sobrecargados para ayudar a obtener ganancias razonables y detener pérdidas.

  3. Los dos se complementan con fortalezas combinadas para una mejor captura de oportunidades y ganancias más constantes.

  4. La lógica de la estrategia es simple y limpia para una fácil comprensión y seguimiento incluso para los inversores menos experimentados.

  5. Implementación sólida con reducciones controlables y rentabilidad estable.

Análisis de riesgos

A pesar de tener esos méritos, hay algunos riesgos con la Estrategia de doble tracción:

  1. Las señales incorrectas pueden ocurrir con Supertrend y RSI que conducen a pérdidas innecesarias.

  2. El comercio bidireccional con mayores riesgos requiere normas más estrictas de gestión de dinero y control de riesgos.

  3. El stop loss puede fallar con oscilaciones anormales de precios utilizando respaldos para controlar los riesgos.

  4. Supertrend es sensible a los parámetros que requieren ajustes para diferentes mercados.

Direcciones de optimización

Teniendo en cuenta los riesgos, se pueden realizar optimizaciones en los siguientes aspectos:

  1. Añadir volumen, MACD para filtrar señales adicionales y una entrada más precisa.

  2. Configuración de un stop loss dinámico para reaccionar a eventos de riesgo.

  3. Optimización de los parámetros de Supertrend y RSI para adaptarse mejor a los diferentes mercados.

  4. Introducción del aprendizaje automático para la selección de parámetros e indicadores.

  5. Aplicación de derivados como futuros y opciones para cubrir riesgos.

  6. Reglas de posicionamiento variadas para limitar las pérdidas y los retiros.

Resumen de las actividades

La estrategia de doble impulso combina eficazmente Supertrend y RSI para capturar tendencias eficientes y obtener ganancias. En comparación con las estrategias de indicadores únicos, proporciona señales más confiables, reducciones más pequeñas y un rendimiento comercial de algoritmo estable.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © alorse

//@version=5
strategy("Supertrend + RSI Strategy [Alose]", overlay=true )

stGroup = 'Supertrend'
atrPeriod = input(10, "ATR Length", group=stGroup)
factor = input.float(3.0, "Factor", step = 0.01, group=stGroup)

[_, direction] = ta.supertrend(factor, atrPeriod)

// RSI
rsiGroup = 'RSI'
src = input(title='Source', defval=close, group=rsiGroup)
lenRSI = input.int(14, title='Length', minval=1, group=rsiGroup)
RSI = ta.rsi(src, lenRSI)

// Strategy Conditions
stratGroup = 'Strategy'
showLong = input.bool(true, title='Long entries', group=stratGroup)
showShort = input.bool(false, title='Short entries', group=stratGroup)
RSIoverbought = input.int(72, title='Exit Long', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses up this point.')
RSIoversold = input.int(28, title='Exit Short', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses below this point.')


entryLong = ta.change(direction) < 0
exitLong = RSI > RSIoverbought or ta.change(direction) > 0

entryShort = ta.change(direction) > 0
exitShort = RSI < RSIoversold or ta.change(direction) < 0

if showLong
    strategy.entry("Long", strategy.long, when=entryLong)
    strategy.close("Long", when=exitLong)

if showShort
    strategy.entry("Short", strategy.short, when=entryShort)
    strategy.close("Short", when=exitShort)


Más.