Estrategia de seguimiento de tendencias basada en promedios móviles de varios plazos y RSI

El autor:¿ Qué pasa?, fecha: 2024-01-08 16:57:29
Las etiquetas:

img

Resumen general

Esta estrategia identifica la dirección de la tendencia basada en el promedio móvil de varios marcos de tiempo y juzga la situación de sobrecompra / sobreventa con RSI para generar señales de negociación. Cuando las líneas MA largas, medianas y cortas están en la misma dirección, se considera una tendencia. En este punto, RSI se utiliza para determinar si está sobrecomprado / sobreventa y se generan señales de negociación. Además, la estrategia también adopta stop loss para controlar los riesgos.

Estrategia lógica

La lógica básica es juzgar la tendencia a través de la cruz de oro y la cruz de muerte de los promedios móviles rápidos y lentos. Cuando la línea rápida cruza por encima de la línea lenta, es una cruz de oro que indica un mercado alcista. Cuando la línea rápida cruza por debajo de la línea lenta, es una cruz de muerte que indica un mercado bajista. Esta estrategia aplica tal lógica en diferentes plazos de tiempo para ver si los términos largos, medios y cortos están en la misma dirección. Si todos son toro o oso, se generan señales comerciales. Además, el RSI ayuda a evitar la pérdida perdida perdida en los puntos de inflexión.

Análisis de ventajas

  1. El uso de múltiples marcos de tiempo para determinar las tendencias puede filtrar eficazmente el ruido del mercado a corto plazo e identificar las tendencias a mediano y largo plazo.

  2. El RSI ayuda a evitar insistir en la dirección original en los puntos de inflexión y perder el stop loss.

  3. El stop loss de seguimiento considera tanto el crecimiento de las ganancias como el control del riesgo, lo que conduce a una alta relación rendimiento/riesgo.

Análisis de riesgos

  1. La determinación de múltiples marcos de tiempo puede tener un retraso de tiempo, lo que resulta en una entrada tardía y en la falta de una fase temprana de la tendencia.

  2. El RSI solo juzga el estado de sobrecompra/sobreventa. No funciona bien para determinar los puntos de inflexión cuando ocurre una reversión brusca.

  3. La configuración inadecuada de la compensación de pérdida de parada de trailing puede conducir a comportamientos demasiado agresivos o conservadores.

Direcciones de optimización

  1. Considere combinar más indicadores como las bandas de Bollinger y KDJ para generar señales comerciales más precisas.

  2. Adoptar un stop loss dinámico que ajuste la compensación en función de la volatilidad del mercado y el apetito por el riesgo.

  3. Aplicar una lógica similar en plazos aún más cortos para utilizar mejor el capital.

Resumen de las actividades

En general, esta estrategia tiene más pros que contras. Determina con precisión las tendencias a mediano y largo plazo y ofrece un alto rendimiento/riesgo. Como un sistema de seguimiento de tendencias, puede identificar la dirección de tendencia principal en medio de las consolidaciones.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Cryptocurrency Trading Tools by XMAXPRO
//ATA INDIKATORU
//Test 4.0v Tarih:23.02.2020
//

strategy("MTF+MA+RSI+TSL", overlay=false, shorttitle="ATA v4 Strategy")
src = input(title="kaynak", type=input.source, defval=close)
fast = input(title="hızlıbarlar", type=input.integer, defval=21)
slow = input(title="yavaşbarlar", type=input.integer, defval=34)

//MTF source
long = input(title="uzunvade", type=input.resolution, defval="240")
mid = input(title="ortavade", type=input.resolution, defval="60")
short = input(title="kısavade", type=input.resolution, defval="5")

//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)

//0
lnma = ema(ln, fast) - ema(ln, slow)
mdma = ema(sh, fast) - ema(md, slow)
shma = ema(sh, fast) - ema(sh, slow)

//Makeup
uzunrenk = lnma > 0 ? color.white : color.red
ortarenk = mdma > 0 ? color.white : color.red
kisarenk = shma > 0 ? color.white : color.red

l1 = 1
m1 = 2
s1 = 3

plot(l1, style=plot.style_line, color=uzunrenk, linewidth=25)
plot(m1, style=plot.style_line, color=ortarenk, linewidth=25)
plot(s1, style=plot.style_line, color=kisarenk, linewidth=25)

atarsi = rsi(close, 14)
rsiob = input(title="aşırıalım", type=input.integer, defval=60)
rsios = input(title="aşırısatış", type=input.integer, defval=25)

sell = atarsi > rsiob and lnma > 0 and mdma > 0 and shma > 0
buy = atarsi < rsios and lnma < 0 and mdma < 0 and shma < 0

barcolor(sell ? color.white : color.red)
barcolor(buy ? color.white : color.red)

//strateji
strategy.entry("long", strategy.long, comment = "BULL", when = sell)
strategy.entry("short", strategy.short, comment = "BEAR", when = buy)

//kompleks alarm
//alertcondition(sell, title = "ATA LONG SIGNAL", message = "btc/usd ata long sinyali")
//alertcondition(buy, title = "ATA SHORT SIGNAL", message = "btc/usd ata short sinyali")

//iz sürücü TSL
strategy.exit ("Bull TSL", "long", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)
strategy.exit ("Bear TSL", "short", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)

Más.