Estratégia de reversão de tendência de média móvel dupla


Data de criação: 2024-01-08 11:01:11 última modificação: 2024-01-08 11:01:11
cópia: 0 Cliques: 659
1
focar em
1617
Seguidores

Estratégia de reversão de tendência de média móvel dupla

Visão geral

A estratégia de reversão de tendência de média móvel dupla é uma estratégia usada principalmente para negociação a médio prazo no mercado de câmbio. A estratégia usa médias móveis de dois períodos diferentes para geração de sinais de negociação.

Princípio da estratégia

A estratégia usa uma média móvel de dois períodos de tempo, 1 hora e 1 dia. A média móvel de um período de 1 hora é mais sensível às mudanças de preço e pode ser usada como uma média móvel rápida. A média móvel de um período de 1 dia é mais lenta para responder às mudanças de preço e pode ser usada como uma média móvel lenta.

O princípio da busca de reversão para entrar em ações de alta ou baixa é que, quando a média móvel rápida e a média móvel lenta ocorrem em um cruzamento dourado ou em uma forquilha, o mercado pode ter uma reviravolta, e atravessar a linha rápida ou a linha lenta é o momento para gerar um sinal de reversão. De acordo com a teoria do comércio de reversão, os preços geralmente não sobem ou descem sozinhos, e é muito provável que o momento em que o preço da ação se reverte seja quando ocorre uma ruptura ou um importante suporte e resistência.

A estratégia também estabelece condições de filtragem de horários e datas de negociação, permitindo que as transações sejam feitas apenas dentro de um determinado período de tempo e dentro de um determinado período de tempo, evitando transações em períodos impróprios.

Análise de vantagens

A estratégia de inversão de tendência das médias móveis duplas tem as seguintes vantagens:

  1. A estratégia de reversão tem grandes vantagens de lucro. A negociação de reversão pode obter maiores lucros em situações de alta volatilidade de preços, fazendo a operação de reversão em pontos-chave.

  2. O uso de uma combinação de médias móveis duplas filtra os sinais, evitando falsos sinais. Um único indicador é propenso a produzir falsos sinais, enquanto uma combinação de dois indicadores pode aumentar a confiabilidade do sinal, filtrando alguns falsos sinais e tornando as oportunidades de negociação mais confiáveis.

  3. Estabelecer condições de horário e data de negociação, evitar períodos de inatividade do mercado, evitar o bloqueio. Negociar apenas dentro do horário e data de negociação definidos, pode evitar períodos de forte flutuação de preços, evitar o bloqueio de negociação.

  4. A estratégia de inversão é adequada para negociação a médio prazo. Em comparação com a negociação de alta frequência, a estratégia de negociação a médio prazo é mais estável, evitando a compra e venda com demasiada frequência.

  5. O controle de retirada máxima é útil para a gestão de fundos. A configuração da taxa de retirada máxima pode controlar bem o risco overnight e evitar a perda de fundos significativos.

Análise de Riscos

A estratégia de inversão de tendência das médias móveis duplas também apresenta os seguintes riscos:

  1. Os sinais de reversão podem falhar e causar prejuízos. Os sinais de reversão de preços nem sempre são confiáveis, e quando os preços continuam sem reversão, há risco de prejuízos. Pode-se definir um stop loss para controlar os prejuízos.

  2. O desvio de tendência traz prejuízos. Quando as médias móveis duplas já estão claramente separadas, pode haver risco de prejuízos. O momento da reversão pode ser determinado observando o intervalo entre as médias móveis.

  3. Se o horário de negociação não for ajustado corretamente, você pode perder oportunidades. Se o horário de negociação for muito rígido, você pode perder algumas oportunidades de negociação.

  4. A reversão não pode ser detida em tempo para expandir os prejuízos. Quando os preços continuam na tendência original após a reversão, é necessário parar os prejuízos em tempo para controlar os prejuízos.

Direção de otimização

A estratégia de inversão de tendência das médias móveis duplas também pode ser otimizada nos seguintes aspectos:

  1. Teste mais combinações de indicadores para encontrar melhores sinais de negociação. Outros indicadores, como MACD, KDJ e outros, podem ser testados em combinação com médias móveis duplas, aumentando a precisão do sinal.

  2. Otimizar os parâmetros de periodicidade das médias móveis para encontrar o melhor parâmetro. O melhor número de períodos pode ser determinado por meio da retomada de parâmetros de diferentes comprimentos das médias móveis.

  3. Ampliar ou diminuir o tempo de negociação para encontrar o melhor período de negociação. De acordo com as características de diferentes variedades, teste o efeito de ajustar o período de negociação.

  4. Adicionar condições de filtragem de tendências para evitar desvios. Indicadores como o ADX podem ser adicionados para avaliar a força da tendência e evitar a reversão quando não há uma tendência óbvia.

  5. Adicionar um modelo de aprendizado de máquina para testar o sinal. O modelo pode ser treinado para avaliar a confiabilidade do sinal de inversão e filtrar alguns sinais de baixa qualidade.

Resumir

A estratégia de reversão de tendência de média móvel dupla é uma estratégia adequada para negociação de forex a médio prazo. Ela usa uma média móvel rápida e um cruzeiro de ouro com uma média móvel lenta para gerar um sinal de reversão, operando de forma inversa em pontos-chave do mercado, com grandes vantagens. Ao mesmo tempo, ela também usa o tempo de negociação e a configuração de retirada máxima para controlar o risco.

Código-fonte da estratégia
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 2h
basePeriod: 15m
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/
// © SoftKill21

//@version=4
strategy("gbpnzd 1h", overlay=true)

src = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=input.resolution, defval="60")
len = input(28, title="Moving Average Length - LookBack Period")
//periodT3 = input(defval=7, title="Tilson T3 Period", minval=1) 
factorT3 = input(defval=7, title="Tilson T3 Factor - *.10 - so 7 = .7 etc.", minval=0) 
atype = input(2,minval=1,maxval=8,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA, 8=Tilson T3")

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

res = useCurrentRes ? timeframe.period : resCustom
resCustom2 = input(title="plm", type=input.resolution, defval="D")
res2 = resCustom2
//hull ma definition
hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))
//TEMA definition
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
tema = 3 * (ema1 - ema2) + ema3

//Tilson T3
factor = factorT3 *.10
gd(src, len, factor) => ema(src, len) * (1 + factor) - ema(ema(src, len), len) * factor 
t3(src, len, factor) => gd(gd(gd(src, len, factor), len, factor), len, factor) 
tilT3 = t3(src, len, factor) 
 

avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : atype == 7 ? 3 * (ema1 - ema2) + ema3 : tilT3

out = avg 

ema20 = security(syminfo.tickerid, res, out)



plot3 = security(syminfo.tickerid, res2, ema20)

plot33 = security(syminfo.tickerid, res, ema20)

plot(plot3,linewidth=2,color=color.red) 
plot(plot33,linewidth=2,color=color.white) 

// longC = crossover(close[2], plot3) and close[1] > close[2] and close > close[1]
// shortc = crossunder(close[2],plot3)  and close[1] < close[2] and close < close[1]

volumeMA=input(24)
ema_1 = ema(volume, volumeMA)

timeinrange(res, sess) => time(res, sess) != 0
//entrytime = timeinrange(timeframe.period, "0900-0915")

myspecifictradingtimes = input('0900-2300', type=input.session, title="My Defined Hours")


entrytime = time(timeframe.period, myspecifictradingtimes) != 0

longC = crossover(plot33,plot3)  and time_cond and entrytime
shortc = crossunder(plot33,plot3) and time_cond and entrytime

// exitlong = crossunder(plot33,plot3)
// exitshort = crossover(plot33,plot3)

distanta=input(1.0025)
exitshort = plot33/plot3 > distanta
exitlong  = plot3/plot33 > distanta

inverse = input(true)
exit = input(false)
if(inverse==false)

    strategy.entry("long",1,when=longC)
    strategy.entry("short",0,when=shortc)
if(inverse)
    strategy.entry("long",1,when=shortc)
    strategy.entry("short",0,when=longC)

if(exit)
    strategy.close("long",when=exitlong)
    strategy.close("short",when=exitshort)

// if(dayofweek==dayofweek.friday)
//     strategy.close_all()

// risk = input(25)
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)