Diese Strategie kombiniert den Williams Double Exponential Moving Average und Ichimoku Kinkou Hyo, zwei technische Indikatoren, um ihre jeweiligen Vorteile zu nutzen und die Genauigkeit von Handelsentscheidungen zu verbessern.
Der Williams-Doppel-Exponential-Bewegliche Durchschnitt enthält eine schnelle Linie und eine langsame Linie. Die schnelle Linie wird mit der Formel berechnet: 2 * ((n/2 Periode Gewichteter Beweglicher Durchschnitt), und die langsame Linie wird mit: n Periode Gewichteter Beweglicher Durchschnitt berechnet. Wenn die schnelle Linie über die langsame Linie von unten kreuzt, ist es ein Kaufsignal; wenn sie von oben nach unten kreuzt, ist es ein Verkaufssignal.
Ichimoku Kinkou Hyo besteht aus vier Komponenten: dem Tenkan Sen, dem Kijun Sen, der Führungslinie und den Wolkeschichten. Ein goldenes Kreuz zwischen dem Tenkan Sen und dem Kijun Sen ist ein Kaufsignal, während ein Todeskreuz ein Verkaufssignal ist. Wenn die Preise über oder unter die oberen oder unteren Ränder der Wolkeschichten durchbrechen, signalisiert dies jeweils einen Kauf oder Verkauf.
Diese Strategie kombiniert die Stärken beider Indikatoren. Der erste Determinant ist ein Signal des Williams-Indikators, und der zweite ist eine Bestätigung von Ichimoku Kinkou Hyo, die falsche Signale effektiv herausfiltert und die Entscheidungsgenauigkeit verbessert.
Diese Strategie nutzt die Fähigkeiten des Williams-Indikators zur Beurteilung von Trendrichtungen und Ichimoku Kinkou Hyo voll aus, um Frühwarnungen vor Umkehrungen zu liefern und die Genauigkeit von Handelsentscheidungen erheblich zu verbessern.
/*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")