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