এই কৌশলটি মূল্যের বিপরীতমুখী পয়েন্টগুলি নির্ধারণের জন্য একটি শক্তিশালী ওভারল্যাপিং ব্যান্ডের সূচক ব্যবহার করে, দামগুলি ওভারল্যাপিং ব্যান্ডের নীচের অংশে পৌঁছানোর সময় অতিরিক্ত কাজ করে এবং সবুজ কে লাইনের উপস্থিতিতে পজিশন বন্ধ করে দেয়, যার উদ্দেশ্য হল ওভারল্যাপিং ব্যান্ডের নীচে একটি রিবাউন্ডের সুযোগ ধরা।
ক্রমাগত তরঙ্গদৈর্ঘ্যের বেস এবং ডেভ, এবং upperBB এবং lowerBB-এর উপরের সীমা গণনা করুন।
এসএমএ গড় এবং এসএমএ থেকে নির্দিষ্ট শতাংশের বিচ্যুতির জন্য উপরের এবং নীচের ট্র্যাকের upex2 এবং dnex2 গণনা করুন।
উপরের বিবি, নিম্ন বিবি এবং উপরের বিবি-র গড় মানের সাথে Upex2, Dnex2 গণনা করে Upex3 এবং Dnex3 কার্ভ তৈরি করুন।
উপরের বিবি-র বৃহত্তর মানকে নতুন উপরের রেলের উপেক্স এবং নিম্ন বিবি-র ছোট মানকে নতুন নিম্ন রেলের ডেনেক্স হিসাবে গ্রহণ করুন।
যখন দাম dnex এর নিচে থাকে, তখন বেশি প্রবেশ করুন; যখন K লাইন সবুজ হয় (খুব বড়) তখন বন্ধ করুন।
বর্ধিত তরঙ্গদৈর্ঘ্য সূচকটি মূল তরঙ্গদৈর্ঘ্যের সূচকের সংবেদনশীলতা বাড়ায়, যা মূল্যের বিপরীতমুখী সুযোগকে আরও আগে ধরতে পারে।
K-লাইন সংকেত ফিল্টারিংয়ের সাথে মিলিত, সমন্বয়কালে ঘন ঘন ক্ষতি এড়াতে।
পর্যালোচনা অনুযায়ী, ২০০৮ থেকে ২০১৮ সাল পর্যন্ত এই কৌশলটি স্থিতিশীল লাভজনক ছিল, উপার্জন বক্ররেখা সমতল ছিল এবং সর্বোচ্চ প্রত্যাহারের হার ছিল ২০ শতাংশেরও কম।
কন্ট্রোলযোগ্য ঝুঁকি, যেমনঃ তহবিলের ব্যবহার, ট্রেডিংয়ের সময়, ইত্যাদি।
ওভারলে প্যারামিটার সেটিং ভুল হলে ট্রেডিং ফ্রিকোয়েন্সি বেশি হতে পারে বা সুযোগ নষ্ট হতে পারে।
কিন্তু এই প্রবণতা পাল্টানোর সময়, আপনি লাভবান হতে পারবেন না।
K লাইন ফিল্টারিং সিগন্যাল বিলম্বিত হতে পারে, সময়মত থামাতে সক্ষম হবে না।
১০ বছর ধরে রিটার্নিং ডেটা রয়েছে, তাই নমুনা পরিসীমা বৃদ্ধি করা প্রয়োজন।
“আমি মনে করি, এটা আমার জন্য খুবই গুরুত্বপূর্ণ।
বিভিন্ন প্যারামিটার সমন্বয় পরীক্ষা করুন, ওভারলে প্যারামিটার অপ্টিমাইজ করুন।
অন্যান্য সূচক সংকেতগুলির সাথে মিলিতভাবে, লাভজনক ব্যবসায়ের অনুপাত বাড়ানোর জন্য ফিল্টার করুন।
৩. একটি কমান্ড কৌশল যোগ করুন, যখন দামগুলি শীর্ষের চেয়ে বেশি হয় তখন কমান্ডটি বিবেচনা করুন।
৪. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কন্ডিশন সেট করুন।
৫. বাজার পরিবর্তনের উপর ভিত্তি করে প্যারামিটারগুলিকে অপ্টিমাইজ করার জন্য স্বয়ংক্রিয়ভাবে প্যারামিটারিং পদ্ধতি বিকাশ করা।
৬. উড়োজাহাজ ও ফাঁক-বিচ্ছিন্নতার বৈশিষ্ট্যগুলির জন্য অনুকূলিত প্রবেশের নিয়ম।
৭. রিটার্নিং সময়সীমা প্রসারিত করুন, পরামিতি স্থিতিশীলতা পরীক্ষা করুন।
এই কৌশলটি দামের বিপরীতমুখী পয়েন্ট নির্ধারণের জন্য বর্ধিত ওভারব্রিজ ব্যবহার করে, ওভারব্রিজের নীচের রেলের কাছাকাছি অবস্থানে বেশি কাজ করে এবং কে-লাইন ফিল্টারিং সিগন্যালের সাথে দ্রুত স্টপ, রিটার্নিংয়ের সাথে ভাল কাজ করে। তবে এই কৌশলটি কেবলমাত্র বহুদিকের কাজ করে, Optimization নমুনা পরিসীমা সীমিত, মূল প্যারামিটারগুলিকে আরও অপ্টিমাইজ করা দরকার, বাজারের পরিবেশ পরিবর্তিত হলে উপার্জন হ্রাসের ঝুঁকি থাকতে পারে। পরবর্তী পদক্ষেপটি হ’ল একাধিক ফিল্টারিং সংকেত প্রবর্তন করা দরকার। লাভজনক ব্যবসায়ের অনুপাত বাড়ানো, ডিসকাউন্টের সুযোগ বাড়ানো এবং কৌশলগুলির অভিযোজনযোগ্যতা এবং স্থিতিশীলতা বাড়ানোর জন্য প্যারামিটার সমন্বয়গুলির স্থায়িত্ব পরীক্ষা করার জন্য দীর্ঘতর ফিডব্যাক চক্র ব্যবহার করা।
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Advanced Bollinger Bands Strategy v1.0", shorttitle = "ABB str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
p = input(20, "bars")
d = input(25, "percent")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
mult = input(2.0, minval=0.001, maxval=50)
basis = sma(close, p)
dev = mult * stdev(close, p)
source = close
upperBB = basis + dev
lowerBB = basis - dev
b1 = plot(basis, color=gray, linewidth=1)
p1 = plot(upperBB, color=aqua, linewidth=1)
p2 = plot(lowerBB, color=aqua, linewidth=1)
//SMAs
sma = sma(close, p)
upex2 = sma * ((100 + d) / 100)
dnex2 = sma * ((100 - d) / 100)
upex3 = (upex2 + upperBB) / 2
dnex3 = (dnex2 + lowerBB) / 2
upex = max(upperBB, upex3)
dnex = min(lowerBB, dnex3)
//exit = (high > sma and low < sma)
exit = close > open
//Lines
col = showlines ? blue : na
plot(upex, linewidth = 3, color = col, transp = 0)
plot(sma, linewidth = 3, color = col, transp = 0)
plot(dnex, linewidth = 3, color = col, transp = 0)
//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[p]))
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)
if exit
strategy.close_all()