এই কৌশলটি উইলিয়ামস ডাবল এক্সপোনেনশিয়াল মুভিং এভারেজ এবং ইচিমোকু কিনকু হ্যো, দুটি প্রযুক্তিগত সূচককে একত্রিত করে, যাতে তাদের নিজ নিজ সুবিধাগুলি ব্যবহার করা যায় এবং ট্রেডিং সিদ্ধান্তের নির্ভুলতা উন্নত করা যায়। উইলিয়ামস ডাবল এক্সপোনেনশিয়াল মুভিং এভারেজ মূল্য পরিবর্তনের প্রবণতা পুরোপুরি প্রতিফলিত করতে পারে, যখন ইচিমোকু কিনকু হ্যো প্রবণতা বিপরীতের প্রাথমিক সতর্কতা সরবরাহ করতে পারে।
উইলিয়ামস ডাবল এক্সপোনেনশিয়াল মুভিং এভারেজে একটি দ্রুত লাইন এবং একটি ধীর লাইন রয়েছে। দ্রুত লাইনটি সূত্রের সাথে গণনা করা হয়ঃ 2 * ((এন / 2 সময়কালের ওজনযুক্ত চলমান গড়), এবং ধীর লাইনটি গণনা করা হয়ঃ এন সময়কালের ওজনযুক্ত চলমান গড়। যখন দ্রুত লাইনটি নীচে থেকে ধীর রেখার উপরে অতিক্রম করে, এটি একটি ক্রয় সংকেত; যখন এটি উপরে থেকে নীচে অতিক্রম করে, এটি একটি বিক্রয় সংকেত।
ইচিমোকু কিনকু হিয়ো চারটি উপাদান নিয়ে গঠিতঃ টেনকান সেন, কিজুন সেন, শীর্ষস্থানীয় লাইন এবং মেঘ স্তর। টেনকান সেন এবং কিজুন সেনের মধ্যে একটি সোনার ক্রস একটি ক্রয় সংকেত, যখন একটি মৃত্যু ক্রস একটি বিক্রয় সংকেত। যখন দামগুলি মেঘ স্তরের উপরের বা নীচের প্রান্তের উপরে বা নীচে ভাঙবে, এটি যথাক্রমে ক্রয় বা বিক্রয় সংকেত দেয়।
এই কৌশলটি উভয় সূচকের শক্তিকে একত্রিত করে। প্রথম নির্ধারকটি উইলিয়ামস সূচক থেকে একটি সংকেত এবং দ্বিতীয়টি ইচিমোকু কিনকু হিয়ো থেকে নিশ্চিতকরণ, কার্যকরভাবে মিথ্যা সংকেতগুলি ফিল্টার করে এবং সিদ্ধান্তের নির্ভুলতা উন্নত করে।
এই কৌশলটি ট্রেডিং সিদ্ধান্তগুলির নির্ভুলতা উল্লেখযোগ্যভাবে উন্নত করে, ট্রেন্ডের দিকনির্দেশগুলি বিচার করতে উইলিয়ামস সূচকের ক্ষমতা এবং বিপরীতমুখী হওয়ার প্রাথমিক সতর্কতা প্রদানের জন্য ইচিমোকু কিনকু হিয়োর সম্পূর্ণরূপে ব্যবহার করে। প্যারামিটার টিউনিং এবং অন্যান্য সূচকগুলির সাথে সংমিশ্রণের মতো আরও অপ্টিমাইজেশানগুলি বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নেওয়ার জন্য টেকসই উন্নতির অনুমতি দেবে।
/*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")