Strategi ini menggabungkan Williams Double Exponential Moving Average dan Ichimoku Kinkou Hyo, dua indikator teknis, untuk memanfaatkan keuntungan masing-masing dan meningkatkan akurasi keputusan perdagangan.
Williams Double Exponential Moving Average berisi garis cepat dan garis lambat. Garis cepat dihitung dengan rumus: 2* ((n/2 periode Weighted Moving Average), dan garis lambat dihitung dengan: n periode Weighted Moving Average. Ketika garis cepat melintasi di atas garis lambat dari bawah, itu adalah sinyal beli; ketika melintasi di bawah dari atas, itu adalah sinyal jual.
Ichimoku Kinkou Hyo terdiri dari empat komponen: tenkan sen, kijun sen, garis utama dan lapisan awan. Salib emas antara tenkan sen dan kijun sen adalah sinyal beli, sementara salib kematian adalah sinyal jual. Ketika harga pecah di atas atau di bawah tepi atas atau bawah lapisan awan, itu menandakan pembelian atau penjualan, masing-masing.
Strategi ini menggabungkan kekuatan dari kedua indikator. Determinan pertama adalah sinyal dari Indikator Williams, dan yang kedua adalah konfirmasi dari Ichimoku Kinkou Hyo, secara efektif menyaring sinyal palsu dan meningkatkan akurasi keputusan.
Strategi ini sepenuhnya memanfaatkan kemampuan Indikator Williams untuk menilai arah tren dan Ichimoku Kinkou Hyo untuk memberikan peringatan dini dari pembalikan, secara signifikan meningkatkan keakuratan keputusan perdagangan. Optimasi lebih lanjut seperti penyesuaian parameter dan kombinasi dengan indikator lain akan memungkinkan peningkatan berkelanjutan untuk beradaptasi dengan perubahan pasar.
/*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")