Estrategia de seguimiento de tendencias basada en DMI y RSI


Fecha de creación: 2024-01-25 15:56:41 Última modificación: 2024-01-25 15:56:41
Copiar: 0 Número de Visitas: 1037
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en DMI y RSI

Resumen

Esta estrategia combina el indicador DMI para determinar la dirección de la tendencia y el indicador RSI para determinar la sobrecompra y la sobreventa, para lograr una estrategia de negociación de seguimiento de tendencia más completa. Cuando el indicador DMI determina que hay una tendencia y el indicador RSI muestra una sobrecompra o una sobreventa, debe hacer más o menos. Al mismo tiempo, establece un stop loss móvil para bloquear las ganancias.

Principios de la estrategia

  1. Utilizando el indicador DMI para determinar la dirección de la tendencia
    • El DMI se compone de tres curvas: +DI indica una tendencia al alza, -DI indica una tendencia a la baja, y el ADX determina la intensidad de la tendencia
    • Cuando +DI>-DI es la tendencia al alza, haga más; cuando -DI>+DI es la tendencia a la baja, haga un descuento
  2. El indicador RSI es utilizado para determinar sobrecompra y sobreventa.
    • El RSI juzga si está sobrecomprado o sobrevendido al comparar los alzas y bajas promedio de cierre durante un período
    • RSI bajo 30 es sobreventa, más de 70 es sobreventa
  3. La combinación de DMI para determinar la dirección de la tendencia y el RSI para determinar la sobrecompra y la sobreventa permite una mejor comprensión del ritmo del mercado
    • DMI determina que hay una tendencia al alza y cuando el RSI está sobrevendido, es mejor hacer más tiempo
    • Cuando el DMI considera que hay una tendencia a la baja y el RSI está sobrecomprando, es un buen momento para hacer un descubierto
  4. Establezca un stop loss móvil para bloquear las ganancias

Análisis de las ventajas

Se trata de una estrategia de seguimiento de tendencias más estable y más madura, con las siguientes ventajas:

  1. Combina el juicio de tendencia con el juicio de sobrecompra y sobreventa para evitar el comercio frecuente en mercados convulsionados
  2. Utiliza los indicadores populares DMI y RSI, los parámetros son fáciles de seleccionar y están bien verificados en la práctica
  3. La configuración de un Stop Loss móvil para bloquear ganancias puede evitar el Stop Loss hasta cierto punto
  4. Las reglas son claras y fáciles de entender, los procedimientos son sencillos y fáciles de practicar.

Análisis de riesgos

La estrategia también tiene algunos riesgos a tener en cuenta:

  1. El DMI y el RSI son propensos a generar falsas señales que pueden causar pérdidas innecesarias.
  2. La configuración incorrecta del stop loss móvil puede detener el stop loss demasiado pronto o demasiado alto
  3. La falta de filtros para los temblores hace que sea más fácil de atrapar.
  4. Seguir la estrategia de la tendencia, no detener los pérdidas a tiempo cuando la tendencia se invierte

Dirección de optimización

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. La combinación de la volatilidad con el indicador de filtración de la oscilación
  2. Combinado con el juicio de la forma de la vela, para evitar falsas brechas
  3. Establecer un límite de pérdidas apropiado cerca de las resistencias de soporte clave
  4. Aumentar las tendencias de los modelos de aprendizaje automático ython
  5. Parámetros para optimizar dinámicamente el DMI y el RSI

Resumen

Esta estrategia en general es una estrategia de seguimiento de tendencias más estable y práctica, que determina la dirección de la tendencia a través del DMI y el RSI para determinar la sobrecompra y la sobreventa, lo que permite aprovechar las oportunidades de negociación en la línea media. Al mismo tiempo, establece un stop loss móvil para bloquear las ganancias. La selección de los parámetros de la estrategia es simple, las reglas de negociación son claras y fáciles de practicar.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © YingYangJPN

//@version=5
strategy("DMI and RSI Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// DMI indikatörünü tanımlayalım
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(14, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
trailing_stop_loss_factor = input.float(0.50, "Trailing Stop Loss Factor", step = 0.01)

// RSI indikatörünü tanımlayalım
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiSource = input(close, title="RSI Source")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiValue = ta.rsi(rsiSource, rsiLength)

// Uzun pozisyon açma koşullarını tanımlayalım
longCondition1 = rsiValue < rsiOversold // RSI oversold seviyesinin altındaysa
longCondition2 = adx > 20 // ADX 20'den büyükse
longCondition3 = minus > plus

// Kısa pozisyon açma koşullarını tanımlayalım
shortCondition1 = rsiValue > rsiOverbought // RSI overbought seviyesinin üstündeyse
shortCondition2 = adx > 20 // ADX 20'den büyükse
shortCondition3 = plus > minus

// Uzun pozisyon açalım
if longCondition1 and longCondition2 and longCondition3
    strategy.entry("Long", strategy.long)
    

// Kısa pozisyon açalım
if shortCondition1 and shortCondition2 and shortCondition3
    strategy.entry("Short", strategy.short)
    
// Trailing Stop Loss
longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100)
shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100)
if strategy.position_size > 0 
    strategy.exit("Exit Long", "Long", stop  = longTrailingStopLoss)
if strategy.position_size < 0 
    strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss)

// DMI ve RSI indikatörlerini grafiğe çizelim
plot(adx, color=#F50057, title="ADX")
plot(plus, color=#2962FF, title="+DI")
plot(minus, color=#FF6D00, title="-DI")
plot(rsiValue, color=#9C27B0, title="RSI")
hline(rsiOverbought, title="RSI Overbought Level", color=#E91E63, linestyle=hline.style_dashed)
hline(rsiOversold, title="RSI Oversold Level", color=#4CAF50, linestyle=hline.style_dashed)