A estratégia de tendência baseada na média móvel de vários prazos e no RSI

Autora:ChaoZhang, Data: 2024-01-08 16:57:29
Tags:

img

Resumo

Esta estratégia identifica a direção da tendência com base na média móvel de vários prazos e julga a situação de sobrecompra / sobrevenda com o RSI para gerar sinais de negociação. Quando as linhas MA longas, médias e curtas estão na mesma direção, ela é considerada uma tendência. Neste ponto, o RSI é usado para determinar se é sobrecomprado / sobrevendido e sinais de negociação são gerados. Além disso, a estratégia também adota stop loss para controlar os riscos.

Estratégia lógica

A lógica básica é julgar a tendência através de cruz de ouro e cruz de morte de médias rápidas e lentas. Quando a linha rápida atravessa acima da linha lenta, é uma cruz de ouro indicando um mercado de touros. Quando a linha rápida atravessa abaixo da linha lenta, é uma cruz de morte indicando um mercado de ursos. Esta estratégia aplica tal lógica em diferentes prazos para ver se os termos longos, médios e curtos estão na mesma direção. Se todos forem toures ou ursos, são gerados sinais de negociação. Além disso, o RSI ajuda a evitar a perda de stop em pontos de inflexão.

Análise das vantagens

  1. Usar vários prazos para determinar tendências pode filtrar eficazmente o ruído do mercado a curto prazo e identificar tendências a médio e longo prazo.

  2. O RSI ajuda a evitar insistir na direção original nos pontos de inflexão e perder o stop loss.

  3. O trailing stop loss considera tanto o crescimento do lucro como o controlo do risco, o que conduz a um elevado rácio rendimento/risco.

Análise de riscos

  1. A determinação de múltiplos prazos pode ter um atraso de tempo, resultando em entrada tardia e falta da fase inicial da tendência.

  2. O RSI apenas avalia o estado de sobrecompra/supervenda. Não tem bom desempenho na determinação de pontos de inflexão quando ocorre uma reversão acentuada.

  3. A configuração inadequada do deslocamento de perda de parada pode levar a comportamentos agressivos ou conservadores demais.

Orientações de otimização

  1. Considere a combinação de mais indicadores, tais como Bollinger Bands e KDJ, para gerar sinais de negociação mais precisos.

  2. Adotar um stop loss dinâmico que ajuste a compensação com base na volatilidade do mercado e no apetite pelo risco.

  3. Aplicar lógica semelhante em prazos ainda mais curtos para melhor utilizar o capital.

Resumo

Em geral, essa estratégia tem mais prós do que contras. Determina com precisão as tendências de médio e longo prazo e oferece alto retorno / pagamento de risco. Como um sistema de tendência, ele pode identificar a principal direção da tendência em meio a consolidações. Outras melhorias nos parâmetros e indicadores podem melhorar sua estabilidade e lucratividade.


/*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)

Mais.