La moyenne mobile exponentielle double de Williams et la stratégie Ichimoku Kinkou Hyo

Auteur:ChaoZhang est là., Date: 2024-02-18 16:20:12 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie combine la moyenne mobile exponentielle double Williams et Ichimoku Kinkou Hyo, deux indicateurs techniques, afin d'utiliser leurs avantages respectifs et d'améliorer la précision des décisions de trading.

Principaux

La moyenne mobile exponentielle double de Williams contient une ligne rapide et une ligne lente. La ligne rapide est calculée avec la formule: 2 * ((n/2 période moyenne mobile pondérée), et la ligne lente est calculée avec: n période moyenne mobile pondérée. Lorsque la ligne rapide traverse au-dessus de la ligne lente d'en bas, c'est un signal d'achat; quand elle traverse en dessous d'en haut, c'est un signal de vente.

Ichimoku Kinkou Hyo se compose de quatre composants: le tenkan sen, le kijun sen, la ligne de tête et les couches nuageuses. Une croix dorée entre le tenkan sen et le kijun sen est un signal d'achat, tandis qu'une croix de mort est un signal de vente.

Cette stratégie combine les forces des deux indicateurs. Le premier déterminant est un signal de l'indicateur Williams, et le second est la confirmation d'Ichimoku Kinkou Hyo, filtrant efficacement les faux signaux et améliorant la précision des décisions.

Les avantages

  1. La moyenne mobile double exponentielle de Williams réagit de manière sensible et peut déterminer une forte direction de tendance.
  2. Ichimoku Kinkou Hyo fournit des jugements de pointe et des avertissements précoces d'inversions de tendance.
  3. La combinaison des deux indicateurs leur permet de se valider mutuellement et de réduire les faux signaux.
  4. Les paramètres peuvent être optimisés pour s'adapter à différentes longueurs de cycle et produits.

Risques et optimisation

  1. Des signaux fréquents peuvent se produire sur les marchés qui ne sont pas en tendance.
  2. Il peut y avoir un certain décalage dans les croisements entre les lignes rapides et lentes.
  3. Il est recommandé de le combiner avec des indicateurs de tendance ou de volatilité pour éviter davantage de faux signaux.

Résumé

Cette stratégie utilise pleinement les capacités de l'indicateur Williams pour juger des directions de tendance et Ichimoku Kinkou Hyo pour fournir des avertissements précoces d'inversions, améliorant considérablement la précision des décisions de trading.


/*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")

Plus de