মাল্টি-ইন্ডিকেটর বোলিংজার ব্যান্ড ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১১-১৫ ১৫ঃ৩০ঃ৪৩
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি ট্রেডিং সিদ্ধান্ত নেওয়ার জন্য বোলিংজার ব্যান্ড, আরএসআই এবং এমএসিডি এর মতো একাধিক প্রযুক্তিগত সূচককে একত্রিত করে। এটি প্রথমে চার্টে বোলিংজার ব্যান্ডগুলি প্লট করে এবং এন্ট্রি সিগন্যালগুলির জন্য ব্যান্ডের ব্রেকআউট ব্যবহার করে। আরএসআই এবং এমএসিডি তারপরে এন্ট্রিগুলির জন্য অতিরিক্ত ফিল্টার হিসাবে ব্যবহৃত হয়। কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য ব্যান্ড এবং সূচকগুলির উপর ভিত্তি করে স্টপ লস নিয়মও সেট করে। সামগ্রিকভাবে এটি একাধিক সূচকের শক্তি ব্যবহার করে একটি বিস্তৃত কৌশল।

কৌশলগত যুক্তি

  1. কেন্দ্রীয় রেখা, 1 std dev এবং 2 std dev ব্যান্ড সহ 34-period Bollinger Bands গ্রাফ করুন।

  2. উপরের বন্ডের উপরে যখন বন্ধ হয় তখন লং প্রবেশ করুন, নিম্ন ব্যান্ডের নীচে যখন বন্ধ হয় তখন সংক্ষিপ্ত প্রবেশ করুন।

  3. কেন্দ্রীয় রেখার নিচে ক্লোজ ক্রসিং হলে লং পজিশন বন্ধ করুন, কেন্দ্রীয় রেখার উপরে ক্লোজ ক্রসিং হলে শর্ট পজিশন বন্ধ করুন।

  4. দীর্ঘ সময়ের জন্য RSI>70 এবং সংক্ষিপ্ত সময়ের জন্য RSI<30 ব্যবহার করুন।

  5. আরএসআই ৫০ এর উপরে গেলে শর্ট পজিশন বন্ধ করুন, আরএসআই ৫০ এর নিচে গেলে লং পজিশন বন্ধ করুন।

  6. এন্ট্রিগুলির জন্য অতিরিক্ত ফিল্টার হিসাবে MACD ক্রসওভার ব্যবহার করুন, দীর্ঘ জন্য MACD ক্রসওভার, সংক্ষিপ্ত জন্য MACD ক্রসওভার।

  7. এমএসিডি ক্রসওভারে লং পজিশন বন্ধ করুন, এমএসিডি ক্রসওভারে শর্ট পজিশন বন্ধ করুন।

  8. লেনদেনের আগে তিনটি সূচককে সমন্বয় করতে হবে, একাধিক ফিল্টার মিথ্যা সংকেত হ্রাস করে।

সুবিধা

একাধিক সূচক থেকে সংকেত একত্রিত করা মিথ্যা সংকেত হ্রাস করে এবং লাভজনকতা বৃদ্ধি করে। বোলিংজার ব্যান্ডগুলি মূল্যের ব্রেকআউট সংকেত সরবরাহ করে, আরএসআই অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় অঞ্চলগুলি এড়ায়, এমএসিডি প্রবণতা পরিবর্তনগুলি ক্যাপচার করে।

ব্যান্ড এবং সূচকগুলির উপর ভিত্তি করে কঠোর স্টপ লস নিয়মগুলি প্রতিটি ব্যবসায়ের ক্ষতি সীমাবদ্ধ করে। এর ফলে উচ্চতর মুনাফা, জয় হার এবং কম সর্বাধিক ড্রডাউন হয়।

একক সূচক কৌশলগুলির তুলনায়, সূচকগুলির সংমিশ্রণ কর্মক্ষমতা উন্নত করে। একাধিক ফিল্টার খারাপ সংকেতগুলি নির্মূল করে। স্টপ লস প্রক্রিয়া ক্ষতির প্রভাব নিয়ন্ত্রণ করে।

সামগ্রিকভাবে, এই কৌশলটি ট্রেন্ডিং মার্কেটে দুর্দান্ত, সূচক বিশদ ব্যবহার করে হুইপসা এড়ানোর সময় বড় পদক্ষেপগুলি ধরতে পারে। ঝুঁকি নিয়ন্ত্রণ উচ্চতর লিভারেজ নিরাপদে ব্যবহার করতে দেয়।

ঝুঁকি

প্রধান ঝুঁকিগুলি হলঃ

  1. সূচক থেকে মিথ্যা সংকেতগুলির সম্ভাবনা। প্যারামিটারগুলি অপ্টিমাইজ করা মিথ্যা সংকেতগুলি হ্রাস করতে পারে তবে দূর করতে পারে না।

  2. ব্যাপ্তি-সীমাবদ্ধ বাজার থেকে মুনাফা অর্জনের অক্ষমতা। স্টপ লস ট্রিগার হতে পারে যার ফলে একীকরণের সময় ক্ষতি হতে পারে। স্টপ লস নিয়মগুলি আরও বেশি সময় ধরে ট্রেড রাখার জন্য শিথিল করা যেতে পারে।

  3. পিছিয়ে পড়া সূচকগুলি মিসড এন্ট্রি সুযোগের দিকে পরিচালিত করে। আরও উন্নত নেতৃস্থানীয় সূচকগুলি দ্রুত বাঁকগুলি ধরতে সহায়তা করতে পারে।

  4. গ্যাপিং দামগুলি স্টপগুলিকে অবৈধ করে। ট্রেইলিং স্টপগুলি ব্যবহার করা বা গড় হ্রাস করা হ্রাসগুলিকে আরও ভালভাবে নিয়ন্ত্রণ করতে পারে।

  5. নির্দিষ্ট পরামিতিগুলি বিভিন্ন বাজারের জন্য সামঞ্জস্যের প্রয়োজন হতে পারে। মেশিন লার্নিং স্বয়ংক্রিয় পরামিতি অপ্টিমাইজেশান সক্ষম করতে পারে।

  6. অপ্রতুল পরীক্ষার ফলে অতিরিক্ত ফিটিং হয়। স্থিতিশীলতা নিশ্চিত করার জন্য কৌশলটি বৃহত্তর ডেটা সেটগুলিতে বাজারে পরীক্ষা করা দরকার।

উন্নতির সুযোগ

কৌশলটি বিভিন্ন উপায়ে উন্নত করা যেতে পারে:

  1. ভুল সংকেতগুলিকে হ্রাস করার জন্য সেরা সংমিশ্রণগুলি খুঁজে পেতে সূচক পরামিতিগুলি অনুকূলিত করুন। রুট ফোর্স বা অপ্টিমাইজেশন পদ্ধতি ব্যবহার করা যেতে পারে।

  2. স্থির মাঝারি ব্যান্ড স্টপগুলির পরিবর্তে অভিযোজিত স্টপ লস অন্তর্ভুক্ত করুন। স্টপগুলি এটিআর, প্রবণতা ইত্যাদির সাথে মানিয়ে নিতে পারে

  3. পরিবর্তিত অবস্থার মধ্যে অভিযোজনশীল পরামিতি অপ্টিমাইজেশনের জন্য মেশিন লার্নিং ব্যবহার করুন, যেমন রিইনফোর্সমেন্ট লার্নিং।

  4. বিভিন্ন বাজারের পর্যায়ে বিভিন্ন কৌশল ব্যবহার করার জন্য প্রবণতা সনাক্তকরণের নিয়ম যুক্ত করুন। অভিযোজনযোগ্যতা উন্নত করে।

  5. উন্নত মাল্টি-ফ্যাক্টর পূর্বাভাস এবং শীর্ষস্থানীয় সূচকগুলির জন্য আবেগ, সামাজিক মিডিয়া ডেটা অন্তর্ভুক্ত করুন।

  6. ক্রমবর্ধমান বৃদ্ধির জন্য ক্রমবর্ধমান অ্যাকাউন্টের আকারের উপর ভিত্তি করে অবস্থানের আকারের স্কেল করার জন্য যৌগিক ব্যবহার করুন।

  7. বিবিধীকরণের মাধ্যমে পোর্টফোলিওর অস্থিরতা হ্রাস করার জন্য অসঙ্গতিপূর্ণ কৌশলগুলির সাথে সমন্বয়কে অনুকূল করা।

সিদ্ধান্ত

এই কৌশলটি শক্তিশালী প্রবেশ এবং প্রস্থান সংকেতগুলির জন্য একাধিক সূচককে একত্রিত করে এবং কঠোর স্টপ লস শৃঙ্খলা প্রয়োগ করে। একাধিক সূচক ব্যবহার করে মিথ্যা সংকেত হ্রাস পায় যখন স্টপগুলি ক্ষতির মাত্রা নিয়ন্ত্রণ করে। এটি ধারাবাহিক রিটার্ন সরবরাহকারী ট্রেন্ডিং মার্কেটের জন্য ভাল কাজ করে। সূক্ষ্ম সুরক্ষা পরামিতি এবং অভিযোজনযোগ্যতা বাড়ানো কর্মক্ষমতা আরও উন্নত করতে পারে। সামগ্রিকভাবে এটি একটি নির্ভরযোগ্য, স্থিতিশীল এবং দক্ষ ট্রেডিং সিস্টেম।


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.05)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


//Strategy code starts here

long_entry = ta.crossover(src, upper1)
short_entry = ta.crossunder(src, lower1)

strategy.entry("Long", strategy.long, when=long_entry)
strategy.entry("Short", strategy.short, when=short_entry)

if long_entry or close < basis
    strategy.close("Long", "Long") 

if short_entry or close > basis
    strategy.close("Short", "Short") 


//Calculate RSI
rsiLength = input(14)
rsiValue = ta.rsi(src, rsiLength)

// Define RSI conditions for entering and exiting trades
rsiLong = rsiValue > 70
rsiShort = rsiValue < 30


//Enter long position when RSI crosses above 50 and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong)

//Exit long position when RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=rsiShort or close < basis)

//Enter short position when RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort)

//Exit short position when RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=rsiLong or close > basis)



//Calculate MACD
fastLength = input(12)
slowLength = input(26)
macdLength = input(9)
macdValue = ta.macd(src, fastLength, slowLength, macdLength)

// Define MACD conditions for entering and exiting trades
macdLong = ta.crossover(src, macdLength)
macdShort = ta.crossunder(src, macdLength)

//Enter long position when MACD crosses above signal line and RSI and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong and macdLong)

//Exit long position when MACD crosses below signal line or RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=macdShort or rsiShort or close < basis)

//Enter short position when MACD crosses below signal line and RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort and macdShort)

//Exit short position when MACD crosses above signal line or RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=macdLong or rsiLong or close > basis)

আরো