এই কৌশলটি ব্রেইন বন্ড এবং দৈনিক তীব্রতা সূচকের উপর ভিত্তি করে একটি গড় মূল্য প্রত্যাবর্তন কৌশল। এটি মূল্যকে ব্রেইন বন্ডের ট্র্যাকের বাইরে নিয়ে যায়, যা ট্রেডিং ভলিউম সূচকের সাথে মিলিত হয়। কৌশলগত সুবিধাগুলির মধ্যে রয়েছেঃ দামের গড় প্রত্যাবর্তনের বৈশিষ্ট্যগুলি ব্যবহার করে লাভ, সংমিশ্রণটি সূচককে ফিল্টারিং সংকেত দেয়। তবে বড় প্রত্যাহার, লাভের দীর্ঘ সময় ইত্যাদির ঝুঁকিও রয়েছে।
এই কৌশলটি প্রথমে ব্রাইন বন্ডের মধ্যপন্থী, উপরের এবং নীচের ট্র্যাক গণনা করে; মধ্যপন্থীটি বন্ধের মূল্যের সহজ চলমান গড় বা সূচকীয় চলমান গড়; উপরের ট্র্যাকটি স্ট্যান্ডার্ড ডিফারেন্স গণনা করে এবং মধ্যপন্থীটির নীচে স্ট্যান্ডার্ড ডিফারেন্সের দ্বিগুণ যোগ করে; যখন দামটি নীচের ট্র্যাকটি ভেঙে যায় তখন গড়ের রিটার্নের সুযোগ হিসাবে বিবেচনা করে, বহু পজিশন গ্রহণ করে; যখন দামটি ট্র্যাকটি ভেঙে যায় তখন দামের অত্যধিক বিচ্যুতির গড় হিসাবে বিবেচনা করে, খালি পজিশন গ্রহণ করে।
সহায়ক বিচার সূচক হিসাবে, কৌশলটি দিনব্যাপী তীব্রতা সূচক চালু করেছে। এই সূচকটি মূল্যের তথ্য এবং লেনদেনের পরিমাণের তথ্যকে একত্রিত করে। যখন সূচকটি ধনাত্মক হয় তখন এটি ক্রয় শক্তির বৃদ্ধিকে নির্দেশ করে, যা একটি বহু-পজিশন সংকেত। যখন সূচকটি নেতিবাচক হয় তখন এটি বিক্রয় শক্তির বৃদ্ধিকে নির্দেশ করে, যা একটি খালি অবস্থান সংকেত।
খোলা পজিশনের ক্ষেত্রে, কৌশলটি একই সাথে মূল্যকে ব্রাইন বন্ডের ট্র্যাক থেকে বেরিয়ে আসার প্রয়োজন, এবং দিনের তীব্রতার সূচকের বিচারক সূচক। স্টপ লসের ক্ষেত্রে, কৌশলটি একটি সময় স্টপ লস গ্রহণ করে, যদি নির্দিষ্ট চক্র অতিক্রম করার পরে লাভ না হয় তবে স্টপ লসটি বেরিয়ে আসে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল যে, এটি মূল্যের গড় ঘূর্ণনশীল বৈশিষ্ট্য ব্যবহার করে মুনাফা অর্জন করে। যখন দামের বৃহত্তর বিচ্যুতি ঘটে, তখন পরিসংখ্যানগত নিয়ম অনুসারে, দাম গড়ের মধ্যবর্তী অক্ষের দিকে ঘূর্ণনশীল হওয়ার সম্ভাবনা বেশি, যা কৌশলটির কার্যকারিতার জন্য একটি তাত্ত্বিক ভিত্তি প্রদান করে।
আরেকটি সুবিধা হল যে কৌশলটি মূল্য সংকেতগুলি ফিল্টার করার জন্য একটি ট্রেডিং ইন্ডিকেটর যোগ করে। ট্রেডিং ইন্ডিকেটরগুলি মূল্য সংকেতগুলির কার্যকারিতা প্রমাণ করে। এটি কিছু দামের তীব্র উদ্বেগ এবং কম ট্রেডিংয়ের ক্ষেত্রে ভুল সংকেতগুলি এড়ায়।
যদিও এই কৌশলটি মূল্যের গড় প্রত্যাবর্তনের সম্ভাব্য ঘটনার উপর নির্ভর করে লাভের জন্য, তবে বাজারের দামের এলোমেলো বিচরণও স্টপ লসকে ট্রিগার করতে পারে, যার ফলে ক্ষতি হয়। এটি একটি গড় মূল্য প্রত্যাবর্তন কৌশল যা সাধারণভাবে ঝুঁকিপূর্ণ।
আরেকটি প্রধান ঝুঁকি হল যে, মূল্যের গড়ের দিকে প্রত্যাবর্তন নিজেই একটি দীর্ঘ সময় চক্রের প্রক্রিয়া। বিনিয়োগকারীদের জন্য, তহবিল একটি নির্দিষ্ট সময়ের জন্য আটকে থাকতে পারে। এই সময় ঝুঁকি বিনিয়োগকারীদের অন্যান্য ভাল বিনিয়োগের সুযোগগুলি হারাতে পারে।
এই কৌশলটি নিম্নলিখিত কয়েকটি দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ
বিভিন্ন বাজারের উদ্বায়ী পরিবেশের জন্য ব্রিনব্যান্ড প্যারামিটার, নিয়মিত চক্র, স্ট্যান্ডার্ড ডিফারেন্স সূচকগুলি অনুকূলিত করুন
অন্যান্য ধরণের চলমান গড়ের চেষ্টা করুন, যেমন লিনিয়ার ওয়েটেড চলমান গড় যা মসৃণতা বাড়ায়
অন্যান্য ধরণের পরিমাণের সূচক চেষ্টা করুন, আরও ভাল পরিমাণ নিশ্চিতকরণ সংকেত খুঁজুন
একক আদেশের সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস স্টপ প্যাকেজিং কৌশল যুক্ত করুন
সামগ্রিকভাবে, এই কৌশলটি একটি আদর্শ গড়-মূল্য প্রত্যাবর্তন কৌশল। সম্ভাব্যতার ইভেন্টের উপর নির্ভর করে লাভ, তবে ঝুঁকিও সমানভাবে সুস্পষ্ট। প্যারামিটার সমন্বয় এবং সূচক অপ্টিমাইজেশনের মাধ্যমে আরও ভাল ফলাফল পাওয়া যেতে পারে। তবে বিনিয়োগকারীদের জন্য, কৌশলটির বৈশিষ্ট্যগুলি সঠিকভাবে বোঝা গুরুত্বপূর্ণ।
/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Bollinger Bands Strategy with Intraday Intensity Index // by SparkyFlary //For Educational Purposes //Results can differ on different markets and can fail at any time. Profit is not guaranteed. strategy(title="Bollinger Bands Strategy with Intraday Intensity Index", shorttitle="Bollinger Bands Strategy", overlay=true) BBlength = input(20, title="Bollinger Bands length") BBmaType = input("SMA", title="Bollinger Bands MA type", type=input.string, options=["SMA", "EMA"]) BBprice = input(close, title="source") timeStop = input(10, title="Time-based stop length") BBmult = input(2.0, title="Bollinger Bands Standard Deviation") withIII = input(true, title="with Intraday Intensity Index?") IIIlength = input(21, title="Intraday Intensity Index length") //function for choosing moving averages f_ma(type, src, len) => float result = 0 if type == "SMA" result := sma(src, len) if type == "EMA" result := ema(src, len) result //Intraday Intensity Index k1 = (2 * close - high - low) * volume k2 = high != low ? high - low : 1 i = k1 / k2 iSum = sum(i, IIIlength) //Bollinger Bands BBbasis = f_ma(BBmaType, BBprice, BBlength) BBdev = BBmult * stdev(BBprice, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev plot(BBupper, title="Bollinger Bands Upper Line") plot(BBlower, title="Bollinger Bands Lower Line") plot(BBbasis, title="Bollinger Bands Mid line", color=color.maroon) //Strategy buy = close[1]<BBlower[1] and close>BBlower and (withIII ? iSum>0 : 1) sell = close>BBbasis or buy[timeStop] or (strategy.openprofit>0 and buy==0 and buy[1]==0 and buy[2]==0 and buy[3]==0) short = close[1]>BBupper[1] and close<BBupper and (withIII ? iSum<0 : 1) cover = close<BBbasis or short[timeStop] or (strategy.openprofit>0 and short==0 and short[1]==0 and short[2]==0 and short[3]==0) strategy.entry(id="enter long", long=true, when=buy) strategy.close(id="enter long", comment="exit long", when=sell) strategy.entry(id="enter short", long=false, when=short) strategy.close(id="enter short", comment="exit short", when=cover)