
এই কৌশলটি পিবি সূচক এবং বুলিন ব্যান্ডের ট্র্যাকিংয়ের গড় মান গণনা করে এবং পিবি সূচক এবং বুলিন ব্যান্ডের ট্র্যাকিংয়ের মধ্যে গোল্ডেন ফোরক সম্পর্ক নির্ধারণ করে, একটি কেনা এবং বিক্রি সংকেত তৈরি করে। যখন পিবি সূচকটি বুলিন ব্যান্ডের ট্র্যাকিং বা ট্র্যাকিংয়ের মধ্যবর্তী স্থানটি ভেঙে দেয় তখন একটি কেনা সংকেত তৈরি করে। যখন পিবি সূচকটি নীচে চলে যায় তখন বুলিন ব্যান্ডের ট্র্যাকিং বা ট্র্যাকিংয়ের মধ্যবর্তী স্থানটি ভেঙে দেয় তখন একটি বিক্রয় সংকেত তৈরি করে।
কৌশলটির কেন্দ্রীয় সূচক হ’ল গড় পিবি সূচক। গড় পিবি সূচকটি গড়রেখার সিস্টেমের স্থিতিশীলতা এবং পিবি সূচকের সংবেদনশীলতা একত্রিত করে, যা দামের পরিবর্তনের প্রবণতা প্রকাশের জন্য দুটি ভিন্ন পিরিয়ড গড়রেখার পার্থক্য ব্যবহার করে, যাতে খালি অবস্থার বিচার করা যায়।
এই কৌশলটি একই সাথে স্টক মূল্যের ওভারবয় ও ওভারসেলের জন্য ব্রিন ব্যান্ডের সূচক ব্যবহার করে। ব্রিন ব্যান্ডের সূচকটি মধ্যম, উপরের এবং নীচের ত্রিভুজযুক্ত তিনটি কার্ভের সমন্বয়ে গঠিত। মধ্যম ট্র্যাকটি n দিনের চলমান গড়; উপরের এবং নীচের ট্র্যাকটি মধ্যম ট্র্যাক এবং historicalতিহাসিক ওঠানামা দ্বারা গণনা করা হয়। যখন স্টক মূল্য উপরের ট্র্যাকের কাছাকাছি থাকে তখন ওভারবয় অঞ্চল, যখন নীচের ট্র্যাকের কাছাকাছি থাকে তখন ওভারসেল অঞ্চল, এবং মধ্যম ট্র্যাকের কাছাকাছি যুক্তিসঙ্গত মূল্যের অঞ্চল।
সংক্ষেপে, এই কৌশলটি গড় পিবি সূচকগুলি ব্যবহার করে শেয়ারের দামের উত্থান-পতনের প্রবণতা নির্ধারণের জন্য এবং ব্রিন ব্যান্ডের সূচকগুলিকে অতিরিক্ত ওভারসোলের জন্য ব্যবহার করে, উভয় সূচকের সম্পর্কের মধ্যে ক্রয়-বিক্রয় পয়েন্টগুলি সন্ধান করে, যা একটি সাধারণ সংখ্যাসূচক সূচক ব্যবসায়ের কৌশল।
এই কৌশলটির প্রধান সুবিধাগুলি হলঃ
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
উপরোক্ত ঝুঁকির জন্য, অপ্টিমাইজড প্যারামিটার সেট, কঠোর ক্ষতি বন্ধ, বৃহত্তর পরিবেশগত কারণগুলি বিবেচনা করা, এবং কৃত্রিম পর্যবেক্ষণ ইত্যাদির মাধ্যমে ঝুঁকি এড়ানো যায়।
এই কৌশলটি নিম্নলিখিত দিকগুলিকে অনুকূলিত করতে পারেঃ
এই কৌশলটির সামগ্রিক কার্যকারিতা ভাল, গড় মানের পিবি সূচককে কেন্দ্র করে, ব্রিনের বন্ডের সাহায্যে ক্রয়-বিক্রয় পয়েন্ট নির্ধারণ করা হয়, অপারেশন সহজ, উচ্চ সংবেদনশীলতা, ব্যাক-টেস্টিং পারফরম্যান্স দুর্দান্ত। প্যারামিটার সেটিংয়ের ক্রমাগত অপ্টিমাইজেশন, অন্যান্য সূচক সহায়ক এবং কঠোর ক্ষতি বন্ধের মতো পদক্ষেপগুলি যুক্ত করে কৌশলটির লাভজনকতা এবং স্থায়িত্ব আরও বাড়িয়ে তুলতে পারে, যা পরীক্ষামূলকভাবে পরীক্ষা এবং প্রয়োগের জন্য উপযুক্ত।
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("BandPass EOS", overlay=false, initial_capital = 1000)
src = input(close, "Source", input.source)
Period1 = input(41, "Fast Period", input.integer)
Period2 = input(54, "Slow Period", input.integer)
showBG = input(false, "Show crosses on background?", input.bool)
UseReversalStop = input(true, "Use additional triggers?", input.bool)
//Super Passband Filter
a1 = 0.0
a2 = 0.0
PB = 0.0
RMS = 0.0
if bar_index > Period1
a1 := 5 / Period1
a2 := 5 / Period2
PB := (a1 - a2) * src + (a2 * (1 - a1) - a1 * (1 - a2)) * src[1] +
(1 - a1 + 1 - a2) * nz(PB[1]) - (1 - a1) * (1 - a2) * nz(PB[2])
for i = 0 to 49 by 1
RMS := RMS + PB[i] * PB[i]
RMS
RMS := sqrt(RMS / 40)
RMS
z = 0
buy = PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z)
sell = PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z)
signal = buy ? 1 : sell ? -1 : 0
bg = buy ? color.green : sell ? color.red : color.white
bg := showBG ? bg : na
upperFill = PB>RMS ? color.lime : na
lowerFill = PB<-RMS ? color.red : na
p1 = plot(PB,"PB",color.red)
p2 = plot(RMS,"+RMS",color.blue)
p3 = plot(-RMS,"-RMS",color.blue)
bgcolor(bg)
fill(p1,p2,upperFill)
fill(p1,p3,lowerFill)
hline(0)
//PERIOD
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
lcolor = PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z)
scolor = PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z)
c1 = (PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z))
c2 = (PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z))
plot (c1 ? PB : na, style = plot.style_circles, color = color.red, linewidth = 3)
plot (c2 ? PB : na, style = plot.style_circles, color = color.green, linewidth = 3)
if (PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z))
strategy.entry("long", strategy.long, when = testPeriod())
if (PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z))
strategy.entry("short", strategy.short, when = testPeriod())