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