
A estratégia de tendência de cruzamento de HullMA de médias móveis duplas é uma estratégia de acompanhamento de tendências baseada no cruzamento de médias móveis duplas. Usando a média móvel ponderada WMA, ela constrói um sistema de médias móveis duplas e gera um sinal de negociação quando elas se cruzam. A estratégia, ao mesmo tempo, combina o julgamento de ruptura de preços para filtrar ainda mais os sinais.
A estratégia de tendência cruzada de HullMA de médias móveis duplas usa três linhas WMA de diferentes períodos, incluindo wma1, wma2 e wma3. Wma2 e wma3 constroem um sistema de médias móveis duplas, com um sinal de otimismo quando a wma2 atravessa a wma3 e um sinal de baixa quando a wma2 atravessa a wma3.
A estratégia usa uma média móvel de Hull para reforçar o julgamento do sinal. Concretamente, ela calcula o diferencial n2ma e o nma de duas vezes a média móvel ponderada de 2 dias, e mede a variação do valor do diferencial. O sinal positivo é confirmado somente quando o diferencial sobe e o sinal negativo é confirmado quando o diferencial desce.
A estratégia combina a determinação do preço. Só se confirma a efetividade da geração de um sinal de tendência positiva quando o preço está acima do preço do dia anterior. Só se confirma a efetividade da geração de um sinal de tendência negativa quando o preço está abaixo do preço do dia anterior.
A estratégia de tendência de cruzamento de duas médias móveis HullMA, combinada com o cruzamento de duas médias móveis e a determinação de preços, pode efetivamente eliminar os falsos sinais, que é sua maior vantagem. Além disso, a estratégia usa médias móveis de três períodos diferentes para capturar diferentes níveis de tendência e pode entrar no mercado no início da tendência.
A estratégia de cruzamento de tendências de HullMA de média móvel dupla, como uma estratégia de acompanhamento de tendências, é propensa a produzir mais transações e perdas de deslizamento em situações de liquidação. Além disso, o sistema de cruzamento de média móvel dupla é muito sensível e pode emitir sinais errados em sideways. É recomendado ajustar adequadamente os parâmetros da média móvel ou adicionar condições de filtragem adicionais.
A estratégia de tendência cruzada HullMA de média móvel dupla pode ser otimizada em vários aspectos:
Optimizar os parâmetros da média móvel para encontrar a combinação ideal de parâmetros
Aumentar o volume de transação ou oscilação de filtros para excluir falsas brechas
Melhorar a qualidade do sinal em combinação com outros indicadores como julgamento auxiliar
Parâmetros de média móvel de otimização dinâmica
A estratégia de cruzamento de tendências de HullMA de média móvel dupla é, em geral, uma estratégia de acompanhamento de tendências estável e confiável. Combina o cruzamento de média móvel dupla e a determinação de preços para produzir um sinal de alta qualidade.
/*backtest
start: 2023-02-25 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("ZendicatoR", overlay=true)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
strategy.close("Short")
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
strategy.entry("Short",strategy.short)