
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.
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.
A estratégia de inversão de tendência das médias móveis duplas tem as seguintes vantagens:
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.
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.
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.
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.
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.
A estratégia de inversão de tendência das médias móveis duplas também apresenta os seguintes riscos:
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.
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.
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.
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.
A estratégia de inversão de tendência das médias móveis duplas também pode ser otimizada nos seguintes aspectos:
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.
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.
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.
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.
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.
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.
/*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)