
এই কৌশলটি বুলিন বন্ড এবং হুরের সূচকগুলির ক্রস-এর উপর ভিত্তি করে ট্রেডিং সিগন্যাল তৈরি করে। হুরের সূচকটি বুলিন বন্ডটি অতিক্রম করার সময় বেশি করে এবং হুরের সূচকটি বুলিন বন্ডটি অতিক্রম করার সময় শূন্য করে। এই কৌশলটি বুলিন বন্ডের ব্রেকিং কৌশল এবং হুরের সূচকের প্রবণতা ট্র্যাকিং কৌশলকে একত্রিত করে, যাতে উভয়ের সুবিধাগুলি ব্যবহার করা যায়।
এই কৌশলটি মূলত বুলিন-ব্যান্ড এবং হের-ইনডেক্স-এর ক্রস-এর উপর ভিত্তি করে ট্রেডিং সিগন্যাল উৎপন্ন করে।
প্রথমত, বুলিন বন্ড তিনটি লাইন নিয়ে গঠিতঃ মধ্যম, উপরের এবং নীচের লাইন। মধ্যম লাইনটি n দিনের চলমান গড়, এবং উপরের এবং নীচের লাইনগুলি যথাক্রমে মধ্যম লাইন থেকে একটি স্ট্যান্ডার্ড ডিফারেনশিয়াল যোগ করে। যদি দামটি উপরের ট্র্যাকটি ভেঙে যায় তবে এটি একটি বিরতির সুযোগ; যদি দামটি নীচের ট্র্যাকটি ভেঙে যায় তবে এটি পুনরুদ্ধারের সুযোগ।
দ্বিতীয়ত, হুল একটি প্রবণতা অনুসরণকারী সূচক। এটি দুটি ভিন্ন সময়কালের ওজনের চলমান গড়ের মধ্যে পার্থক্য ব্যবহার করে বর্তমান প্রবণতা নির্ধারণ করে। যদি স্বল্পমেয়াদী গড়টি দীর্ঘমেয়াদী গড়ের চেয়ে বেশি হয় তবে এটি একটি শূন্যপদ।
এই কৌশলটি হল এই দুটি সূচকের সুবিধাগুলি একত্রিত করা। যখন হের সূচকটি বুলিন বন্ডটি অতিক্রম করে, তখন মনে হয় যে শেয়ারের দাম সম্ভবত ট্রেন্ডের ঊর্ধ্বমুখী পর্যায়ে প্রবেশ করতে পারে, তখন এটি বেশি হয়; যখন হের সূচকটি বুলিন বন্ডটি অতিক্রম করে, তখন মনে হয় যে শেয়ারের দাম সম্ভবত নিম্নমুখী পর্যায়ে প্রবেশ করতে পারে, তখন এটি খালি হয়।
ব্রিনব্যান্ড এবং হেরের সূচকগুলির সুবিধাগুলি একত্রিত করে ট্রেডিং সিগন্যালগুলিকে আরও নির্ভরযোগ্য করে তোলে।
হুলের সূচক ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা এবং ব্রিনের বেন্ডের সাহায্যে প্রতিরোধের অবস্থান নির্ধারণ করে ক্রস-সিগন্যাল তৈরি করা যায়, যা মুনাফার সম্ভাবনা বাড়িয়ে তোলে।
ব্রিন ব্যান্ড এবং হেরের পরামিতিগুলিকে সামঞ্জস্য করে, বিভিন্ন সময়কালের জন্য স্টকগুলির জন্য অপ্টিমাইজ করা যায়, যা আরও বিস্তৃত প্রয়োগযোগ্য।
যখন শেয়ারের দামগুলি তির্যকভাবে সাজানো হয়, তখন এই কৌশলটি আরও মিথ্যা সংকেত তৈরি করতে পারে, যার ফলে ক্ষতি হয়। অপ্টিমাইজেশন প্যারামিটার বা ফিল্টারিংয়ের শর্ত যুক্ত করে মিথ্যা সংকেত হ্রাস করা যেতে পারে।
শেয়ারের দামের তীব্র ওঠানামা হলে, ব্রিনব্যান্ড এবং হুল সূচক একই সাথে লেনদেনের সংকেত জারি করতে পারে। সংকেত ক্রমিকতা নিশ্চিত করা প্রয়োজন, ক্রস সংকেত বিচার ভুল এড়াতে। ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে।
কোডটি সরাসরি 100% খোলার পরিমাণ সেট করে। বাস্তবে স্থাপনের সময়, পজিশন ম্যানেজমেন্টকে সামঞ্জস্য করতে হবে, পুরো পজিশন খোলার জন্য নয়, যা ক্ষতির বিস্তার হতে পারে।
ব্রিনব্যান্ড এবং হুলের সূচকগুলির জন্য প্যারামিটারগুলি পরীক্ষা করা যেতে পারে, যা আরও বেশি চক্রের স্টককে সামঞ্জস্য করে।
ট্রেডিং ভলিউম বা অস্থিরতা বাড়ানোর জন্য একটি ফিল্টার ব্যবহার করুন, যাতে পুনরুদ্ধারের সময় ভুল সংকেতগুলি এড়ানো যায়।
অপ্টিমাইজ করা স্টপ স্ট্র্যাটেজি, স্লাইড স্টপ সেট করা বা স্টপ স্টপ সেট করা
পজিশন ম্যানেজমেন্টের নিয়মগুলি সংশোধন করুন, পুনরায় প্রবেশের শর্তগুলি যুক্ত করুন যাতে ক্ষতির বিস্তার এড়ানো যায়।
এই কৌশলটি ব্রিনব্যান্ডের ব্রেকডাউন কৌশল এবং হেরের সূচকের প্রবণতা অনুসরণ কৌশলকে সমন্বিত করে, ট্রেডিং সিগন্যাল গঠনের দ্বৈত প্রভাব অর্জনের জন্য। এই কৌশলটি মূলত কোনও উল্লেখযোগ্য পরিবর্তন না হওয়ার পূর্বশর্তে মাঝারি-শর্ট-লাইন স্টকগুলির জন্য শক্তিশালী অভিযোজনযোগ্যতা রয়েছে। তবে বাস্তবে স্থাপনের সময়, স্টক বৈশিষ্ট্যগুলির জন্য প্যারামিটার অপ্টিমাইজেশন করা এবং পজিশন ম্যানেজমেন্ট, স্টপ লস কৌশল ইত্যাদি যথাযথভাবে সামঞ্জস্য করা প্রয়োজন, যাতে কৌশলটি আরও স্থিতিশীল হয়।
/*backtest
start: 2023-11-30 00:00:00
end: 2023-12-07 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Strategy Hull Bollinger", shorttitle="Hull bollinger",overlay=true, calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)
n=input(title="period",defval=3)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
i = input(1)
PP = close[i]
length1 = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=10, step=0.2)
basis = sma(src, length1)
dev = mult * stdev(src, length1)
upper = basis + dev
lower = basis - dev
TP = input(500) * 10
SL = input(500) * 10
TS = input(20) * 10
TO = input(10) * 10
CQ = 100
TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
TOP = (TO > 0) ? TO : na
longCondition = crossover(n1,lower)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(n1,upper)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)
strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)