Die Strategie kombiniert zwei technische Indikatoren, die jeweils ihre Vorteile ausnutzen und die Genauigkeit der Handelsentscheidungen verbessern. Die beweglichen Durchschnitte des William-Doppelindex spiegeln den Trend der Preisänderungen vollständig wider, während der Gleichgewichtsdiagramm eine Trendwende im Voraus erkennen kann.
Die bewegliche Durchschnittslinie des William-Doppelindex besteht aus einer schnellen und einer langsamen Linie. Die Formel für die Berechnung der schnellen Linie lautet: 2
Der erste Gleichgewichtsdiagramm besteht aus den vier Komponenten Wechsel, Bezugs, Vorläufer und Wolken. Dabei handelt es sich um ein Kaufsignal, ein Verkaufssignal, und um ein Verkaufssignal. Der Kaufsignal ist der Preis, der an der Oberseite des Wolkendiagramms durchbricht, und der Verkaufssignal, der an der Unterseite des Wolkendiagramms durchbricht.
Die Strategie kombiniert zwei Indikatorvorteile, die sich durch eine erste Signalentscheidung für den William-Indikator und eine zweite Signalentscheidung für eine erste Gleichgewichtsdiagramm-Bestätigung auszeichnen, die effektiv falsche Signale filtern und die Entscheidungsgenauigkeit verbessern.
Die Strategie nutzt die Vorteile des William-Indikators, um die Trendrichtung zu bestimmen und die Umkehrung im Voraus zu sehen. Sie verbessert die Präzision der Handelsentscheidungen erheblich. Sie optimiert die Strategie nachhaltig, um sie besser an Marktänderungen anzupassen.
/*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")