Estratégias de acompanhamento de múltiplas tendências


Data de criação: 2023-11-17 17:19:37 última modificação: 2023-11-17 17:19:37
cópia: 1 Cliques: 664
1
focar em
1617
Seguidores

Estratégias de acompanhamento de múltiplas tendências

Visão geral

A estratégia de acompanhamento de tendências múltiplas utiliza quatro indicadores integrados: MACD, RSI, ATR e DEMA para identificar tendências de longo e curto prazo de ações e realizar negociações de acompanhamento de tendências. A estratégia combina os benefícios de negociações de ruptura e negociações de acompanhamento de tendências, capturando tendências de linhas mais longas e encontrando melhores oportunidades de entrada em linhas curtas.

Princípio da estratégia

Estratégias de negociação MACD

O MACD, ou Moving Average Scatter Indicator, é um indicador de rastreamento de tendências. O MACD é composto por uma média móvel rápida e uma média móvel lenta. Os parâmetros usados são a linha rápida de 12 dias de EMA, a linha lenta de 26 dias de EMA e a linha de sinal para a MACD de 9 dias de EMA.

RSI estratégia de supercompra e supervenda

O RSI é um índice de força e fraqueza relativamente forte, que reflete a sobrevenda e sobrevenda de ações. O RSI é determinado pela comparação entre a média de alta e baixa de fechamento em um período de tempo.

Análise de vantagens

A estratégia utiliza quatro indicadores, MACD, RSI, ATR e DEMA, combinando o acompanhamento de tendências e as negociações de ruptura, para encontrar melhores momentos de entrada em tendências, com as seguintes vantagens:

  1. O MACD é eficaz para identificar a direção e a inversão de tendências de médio e longo prazo nos preços das ações.

  2. O RSI pode determinar se as ações estão sobrecompradas ou sobrevendidas no curto prazo, evitando que a tendência volte para cima ou para baixo.

  3. O ATR ajusta dinamicamente a posição da linha de parada para controlar efetivamente a perda individual.

  4. DEMA como um indicador auxiliar de julgamento, pode filtrar parte do ruído.

  5. A combinação de múltiplos indicadores pode aumentar a confiabilidade dos sinais de negociação.

Análise de Riscos

A estratégia também traz alguns riscos:

  1. A combinação de múltiplos indicadores pode ser discordante, levando a sinais de negociação errados.

  2. O ATR é um indicador de stop loss dinâmico, que pode ser ultrapassado em grandes flutuações, resultando em perdas.

  3. O DEMA é um indicador de tendência que pode filtrar oportunidades de negociação de curto prazo.

  4. Os parâmetros estratégicos inadequados podem levar a transações frequentes, aumentando os custos de transação e a perda de pontos de deslizamento.

Desenvolver estratégias de negociação quantitativas requer análise meticulosa de dados históricos, backtesting robusto e gestão de risco prudente. Não posso recomendar ações específicas, mas posso sugerir focar em princípios de desenvolvimento de estratégias sólidas.

Direção de otimização

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. Teste diferentes combinações de parâmetros para encontrar o melhor.

  2. Aumentar as estratégias de stop loss, como stop loss móvel e stop loss médio, para controlar ainda mais o risco.

  3. Adição de mais indicadores auxiliares de julgamento, como KDJ, faixa de brinquedo, etc., para melhorar a precisão do sinal.

  4. Optimizar as opções de entrada, combinando estratégias como breakouts, para encontrar melhores pontos de venda.

  5. Diferenciar entre mercados de ativos e mercados de ativos, usando diferentes parâmetros.

  6. Modelagem de categorias de acordo com as características das ações, para tornar a estratégia mais adaptável.

Resumir

A estratégia de acompanhamento de tendências múltiplas usa quatro indicadores integrados MACD, RSI, ATR e DEMA, realizando uma combinação orgânica de acompanhamento de tendências e ruptura de tendências. Em comparação com a estratégia de indicador único, a estratégia pode fornecer um sinal de negociação mais confiável e evitar certos falsos sinais.

Código-fonte da estratégia
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © prim722

// © OTS Music

//@version=4
strategy("Atrend by OTS", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
if (crossover(delta, 0))
	strategy.entry("MACD buy", strategy.long, comment="MACD buy")
if (crossunder(delta, 0))
	strategy.entry("MACD sell", strategy.short, comment="MACD sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
length = input( 18 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
if (not na(vrsi))
	if (co)
		strategy.entry("RSI buy", strategy.long, comment="RSI buy")
	if (cu)
		strategy.entry("RSI sell", strategy.short, comment="RSI sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=false)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_line, linewidth=2, color=color.white)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="", text="", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.white, textcolor=color.white, transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_line, linewidth=2, color=color.gray)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="", text="", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.white : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.gray : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="ATrend Buy", message="ATrend Buy!")
alertcondition(sellSignal, title="ATrend Sell", message="ATrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="ATrend Direction Change", message="ATrend has changed direction!")

length1 = input(25, minval=1)
srcb = input(close, title="Source")
e1 = ema(srcb, length1)
e2 = ema(e1, length)
dema = 2 * e1 - e2
plot(dema, "DEMA", color.red)