यह रणनीति विलियम्स डबल एक्सपोनेंशियल मूविंग एवरेज और इचिमोकू किंको ह्यो, दो तकनीकी संकेतकों को जोड़ती है, ताकि उनके संबंधित लाभों का उपयोग किया जा सके और ट्रेडिंग निर्णयों की सटीकता में सुधार किया जा सके। विलियम्स डबल एक्सपोनेंशियल मूविंग एवरेज पूरी तरह से मूल्य परिवर्तन में रुझानों को प्रतिबिंबित कर सकता है, जबकि इचिमोकू किंको ह्यो प्रवृत्ति उलट के शुरुआती चेतावनी प्रदान कर सकता है।
विलियम्स डबल एक्सपोनेंशियल मूविंग एवरेज में एक फास्ट लाइन और एक स्लो लाइन होती है। फास्ट लाइन की गणना सूत्र के साथ की जाती हैः 2* ((n/2 अवधि वेटेड मूविंग एवरेज), और स्लो लाइन की गणनाः n अवधि वेटेड मूविंग एवरेज के साथ की जाती है। जब फास्ट लाइन नीचे से स्लो लाइन के ऊपर से गुजरती है, तो यह एक खरीद संकेत है; जब यह ऊपर से नीचे से पार करती है, तो यह एक बिक्री संकेत है।
इचिमोकू किंको ह्यो में चार घटक होते हैंः टेनकन सेन, किजुन सेन, लीडिंग लाइन और क्लाउड लेयर। टेनकन सेन और किजुन सेन के बीच एक स्वर्ण क्रॉस एक खरीद संकेत है, जबकि एक मौत क्रॉस एक बिक्री संकेत है। जब कीमतें क्लाउड लेयर के ऊपरी या निचले किनारों से ऊपर या नीचे टूटती हैं, तो यह क्रमशः खरीद या बिक्री का संकेत देती है।
यह रणनीति दोनों संकेतकों की ताकतों को जोड़ती है। पहला निर्धारक विलियम्स संकेतक से एक संकेत है, और दूसरा इचिमोकू किंको ह्यो से पुष्टि है, प्रभावी रूप से झूठे संकेतों को फ़िल्टर करना और निर्णय सटीकता में सुधार करना।
यह रणनीति ट्रेंड दिशाओं का न्याय करने के लिए विलियम्स इंडिकेटर की क्षमताओं का पूरी तरह से उपयोग करती है और Ichimoku Kinkou Hyo रिवर्स की प्रारंभिक चेतावनी प्रदान करती है, जिससे ट्रेडिंग निर्णयों की सटीकता में काफी सुधार होता है। पैरामीटर ट्यूनिंग और अन्य संकेतकों के साथ संयोजन जैसे आगे के अनुकूलन से बाजार परिवर्तनों के अनुकूलन के लिए स्थायी सुधार की अनुमति मिलेगी।
/*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")