Estrategia de índice de comerciante dinámico


Fecha de creación: 2023-11-13 10:09:48 Última modificación: 2023-11-13 10:09:48
Copiar: 1 Número de Visitas: 668
1
Seguir
1617
Seguidores

Estrategia de índice de comerciante dinámico

Descripción general

La estrategia utiliza el índice de comerciantes dinámicos (TDI) como indicador técnico principal para la generación de señales de negociación en combinación con las medias móviles de diferentes períodos. Su objetivo es descubrir oportunidades de reversión en caso de sobrecompra y sobreventa.

Principio de estrategia

La estrategia primero calcula el RSI de cerca, con una longitud de 13 ciclos. Luego calcula el promedio móvil simple de 34 ciclos del RSI, y luego multiplica por 1.6185 por el diferencial estándar de 34 ciclos del RSI como la órbita superior y inferior.

Luego se calcula el MA rápido del RSI, de 2 ciclos; y el MA lento, de 7 ciclos. Se obtienen los valores históricos de estos indicadores a partir de ciclos más altos. Cuando el MA rápido cruza el MA lento desde arriba, se genera una señal de compra; cuando el MA rápido cruza el MA lento desde abajo, se genera una señal de venta.

Análisis de las ventajas

La estrategia aprovecha la característica de la reversión media del RSI, combinada con el indicador de la dinámica para implementar el cambio de tendencia. La subida y bajada del RSI refleja la zona de sobreventa y la subida y bajada del RSI refleja el precio promedio. El movimiento cruzado de la MA rápida y lenta refleja el cambio de tendencia y la oportunidad de reversión.

Específicamente, el RSI arriba y abajo establece un umbral razonable de sobreventa y sobreventa, lo que ayuda a detectar las anomalías a tiempo. El umbral central capta el precio de equilibrio. El MA rápido filtra el ruido a corto plazo y el MA lento juzga la tendencia a medio plazo.

Análisis de riesgos

La estrategia se basa principalmente en inversiones, con un cierto riesgo de tiempo y eficacia. Si la situación se expande de manera irrazonable a largo plazo, como en el mercado de los despegos, la estrategia generará pérdidas continuas. Además, si la MA se establece de manera incorrecta, puede perderse parte de la oportunidad de inversiones o generar errores de juicio.

Para controlar los riesgos mencionados anteriormente, se recomienda ajustar adecuadamente el ciclo de MA, o aumentar el mecanismo de stop loss, etc. Cuando el mercado entra en una fase irracional, se debe reducir la posición o incluso suspender la negociación. En general, es clave hacer un ajuste estratégico para un entorno de mercado específico.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba los parámetros del ciclo RSI de diferentes longitudes para encontrar la configuración más adecuada para el mercado actual

  2. Optimización de la duración de la MA rápida y la MA lenta, para equilibrar la captura de reversiones y filtrar el ruido

  3. Aumentar el stop loss basado en la volatilidad para controlar el máximo retiro

  4. Intentar incluir otros factores en la lógica de orden, como cambios en el volumen de transacciones, para aumentar la tasa de éxito

  5. Prueba de la eficacia de REUSE y el mismo conjunto de señales de negociación en varios marcos de tiempo

  6. Mecanismos de optimización de la adaptabilidad de los parámetros de desarrollo para que los parámetros de la política se ajusten dinámicamente

Resumir

La estructura general de la estrategia de reversión RSI es razonable, la lógica de la negociación es claramente explicable. Tiene un espacio personalizable y un potencial de optimización. Su capacidad para capturar oportunidades de reversión es de esperar cuando los parámetros se ajustan y el riesgo está controlado.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("TDI - Traders Dynamic Index [Mehdi]", shorttitle="TDIMEHDI")

rsiPeriod = input(13, minval = 1, title = "RSI Period")
bandLength = input(34, minval = 1, title = "Band Length")
lengthrsipl = input(7, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input(2, minval = 1, title = "Slow MA on RSI")
p1 = input("15", title = "Signal Timeframe")

src = close                                                             // Source of Calculations (Close of Bar)

r = rsi(src, rsiPeriod)                                                 // RSI of Close
ma = sma(r, bandLength)                                                 // Moving Average of RSI [current]
offs = (1.6185 * stdev(r, bandLength))                                  // Offset
up = ma + offs                                                          // Upper Bands
dn = ma - offs                                                          // Lower Bands
mid = (up + dn) / 2                                                     // Average of Upper and Lower Bands
fastMA = sma(r, lengthrsipl)                                            // Moving Average of RSI 2 bars back
slowMA = sma(r, lengthtradesl)                                          // Moving Average of RSI 7 bars back

hline(20)                                                               // ExtremelyOversold
hline(30)                                                               // Oversold
hline(50)                                                               // Midline
hline(70)                                                               // Overbought
hline(80)                                                               // ExtremelyOverbought

up1 = request.security(syminfo.tickerid, p1, up)
dn1 = request.security(syminfo.tickerid, p1, dn)
mid1 = request.security(syminfo.tickerid, p1, mid)
slowMA1 = request.security(syminfo.tickerid, p1, slowMA)
fastMA1 = request.security(syminfo.tickerid, p1, fastMA)

plot(up1, "Upper Band", color = #3286c3, linewidth = 2)               // Upper Band
plot(dn1, "Lower Band", color = #3286c3, linewidth = 2)               // Lower Band
plot(mid1, "Middle of Bands", color = yellow, linewidth = 2)      // Middle of Bands
plot(slowMA1, "Slow MA", color=green, linewidth=2)                       // Plot Slow MA
plot(fastMA1, "Fast MA", color=red, linewidth=1)                         // Plot Fast MA

if (crossover(slowMA1, fastMA1))
    strategy.entry("Buy", strategy.long, comment="Buy")

if (crossunder(slowMA1, fastMA1))
    strategy.entry("Sell", strategy.short, comment="Sell")