Média Móvel Dupla Exponencial de Williams e Estratégia Ichimoku Kinko Hyo


Data de criação: 2024-02-18 16:20:12 última modificação: 2024-02-18 16:20:12
cópia: 1 Cliques: 559
1
focar em
1617
Seguidores

Média Móvel Dupla Exponencial de Williams e Estratégia Ichimoku Kinko Hyo

Visão geral

A estratégia combina o William Dual Moving Average e o First Equilibrium Chart, dois indicadores técnicos, para aproveitar seus respectivos benefícios e melhorar a precisão das decisões de negociação. Dentre eles, o William Dual Moving Average reflete adequadamente a tendência de mudança de preço, enquanto o First Equilibrium Chart previne a reversão da tendência.

Princípios

A média móvel binária de William contém uma linha rápida e uma linha lenta. A fórmula para a linha rápida é: 2 (n/2 ciclos de média móvel ponderada) e a fórmula para a linha lenta é: n ciclos de média móvel ponderada. Quando a linha rápida quebra a linha lenta do lado de baixo, é um sinal de compra; quando ela cai do lado de cima, é um sinal de venda.

O gráfico de equilíbrio de um olho contém quatro componentes: linha de troca, linha de referência, linha de liderança e gráfico de nuvem. Dentre eles, o cruzamento de ouro da linha de troca e da linha de referência é um sinal de compra, o cruzamento de morte é um sinal de venda.

A estratégia combina as vantagens de dois indicadores: o primeiro é o William que emite o sinal, e o segundo é a confirmação do indicador do gráfico de equilíbrio, que pode filtrar os falsos sinais e melhorar a precisão da decisão.

Vantagens

  1. A média móvel binária de William é sensível e pode determinar a direção de uma tendência mais forte.
  2. A primeira vista do equilíbrio pode ser usada para avaliar o avanço e a reversão da tendência.
  3. A combinação de dois indicadores, mutuamente verificáveis, reduz os falsos sinais.
  4. Adapta-se a diferentes ciclos e variedades através da otimização de parâmetros.

Risco e otimização

  1. Pode haver sinais frequentes em mercados fora de tendência. Os parâmetros podem ser ajustados de forma apropriada, filtrando alguns sinais.
  2. Há um certo atraso no cruzamento de linhas rápidas e lentas. Pode ser combinado com o julgamento do mapa da nuvem para evitar perder o melhor ponto de compra e venda.
  3. Recomenda-se a utilização em combinação com indicadores de tendência ou oscilação para evitar sinais falsos.

Resumir

A estratégia aproveita ao máximo os benefícios do indicador William para determinar a direção da tendência e o retorno antecipado do gráfico de equilíbrio de primeira vista, o que pode aumentar significativamente a precisão das decisões de negociação. A estratégia de otimização sustentável pode ser melhor adaptada às mudanças do mercado por meio de ajustes de parâmetros e combinação com outros indicadores.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Hull MA-X + Ichimoku Kinko Hyo", shorttitle="Hi", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

keh=input(title="Double HullMA",defval=12, minval=1)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

Hullfast=plot(n1,color=c)
Hullslow=plot(n2,color=c)
plot(cross(n1, n2) ? n1:na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1:na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = n1>n2 and close>n2 and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = n1<n2 and close<n2 and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = n1<n2 and close<n2 and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanL)
if (closelong)
    strategy.close("Long")

closeshort = n1>n2 and close>n2 and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanH)
if (closeshort)
    strategy.close("Short")