এই কৌশলটি একটি হাইব্রিড সিস্টেম যা গড় বিপরীতমুখী এবং প্রবণতা অনুসরণকারী পদ্ধতিগুলিকে একত্রিত করে, আরএসআই, বলিংজার ব্যান্ড এবং একাধিক ইএমএ সূচক ব্যবহার করে বাজারের অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয়ের সুযোগগুলি ক্যাপচার করে। কৌশলটি প্রবণতা নিশ্চিতকরণ এবং পরিসীমা-সীমাবদ্ধ বাজার সনাক্তকরণকে অন্তর্ভুক্ত করে ঐতিহ্যগত প্রযুক্তিগত বিশ্লেষণকে উন্নত করে, উল্লেখযোগ্যভাবে নির্ভুলতা উন্নত করে।
কৌশলটি ট্রেড সংকেতগুলির জন্য একটি ট্রিপল যাচাইকরণ প্রক্রিয়া ব্যবহার করে। প্রাথমিকভাবে, এটি আরএসআই (৩০ এর নীচে বা ৭০ এর উপরে) ব্যবহার করে ওভারকপ/ওভারসোল্ড শর্তগুলি সনাক্ত করে। দ্বিতীয়ত, এটি বোলিংজার ব্যান্ডের ব্রেকআউট ব্যবহার করে সংকেতগুলি নিশ্চিত করে। অবশেষে, এটি ১০০/৫০ দিনের ইএমএর আপেক্ষিক অবস্থান এবং অস্থিরতা ব্যবহার করে বাজারের প্রবণতা যাচাই করে। তিনটি শর্ত একত্রিত হলেই ট্রেডগুলি কার্যকর করা হয়। কৌশলটি ব্যাপ্তি-সীমাবদ্ধ বাজারের সনাক্তকরণের জন্য ইএমএর অস্থিরতা মূল্যায়নকেও অন্তর্ভুক্ত করে।
কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সমন্বয়ের মাধ্যমে স্থিতিশীলতা এবং নমনীয়তার মধ্যে ভারসাম্য অর্জন করে। পরিষ্কার যুক্তি এবং সংক্ষিপ্ত বাস্তবায়নের সাথে এটি ব্যবহারিক মূল্য প্রদর্শন করে। যথাযথ পরামিতি অপ্টিমাইজেশন এবং ঝুঁকি ব্যবস্থাপনার মাধ্যমে কৌশলটি বিভিন্ন বাজারের অবস্থার মধ্যে ধারাবাহিক পারফরম্যান্সের সম্ভাবনা দেখায়।
/*backtest start: 2024-01-01 00:00:00 end: 2024-11-11 00:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTC Dominance Analysis Strategy (Improved)", overlay=true) // Input Parameters rsi_period = input(14, title="RSI Period") bb_period = input(20, title="Bollinger Band Period") bb_std_dev = input(2.0, title="Bollinger Std Dev") ema_period = input(100, title="100 EMA Period") ema_30_period = input(30, title="30 EMA Period") ema_50_period = input(50, title="50 EMA Period") // RSI Calculation rsi_value = ta.rsi(close, rsi_period) // Bollinger Bands Calculation basis = ta.sma(close, bb_period) dev = bb_std_dev * ta.stdev(close, bb_period) upper_bb = basis + dev lower_bb = basis - dev // EMA Calculation ema_100 = ta.ema(close, ema_period) ema_30 = ta.ema(close, ema_30_period) ema_50 = ta.ema(close, ema_50_period) // Determine EMA trends range_bound_ema = math.abs(ema_100 - ta.sma(ema_100, 10)) < ta.stdev(ema_100, 10) uptrend_ema = ema_100 > ema_50 downtrend_ema = ema_100 < ema_50 // Long Condition: All 3 conditions must be met // 1. RSI < 30 // 2. BTC Dominance < lower Bollinger Band // 3. 100 EMA must be range-bound or in an uptrend (but NOT in a downtrend) long_condition = (rsi_value < 30) and (close < lower_bb) and (range_bound_ema or uptrend_ema) // Short Condition: All 3 conditions must be met // 1. RSI > 70 // 2. BTC Dominance > upper Bollinger Band // 3. 100 EMA must be range-bound or in a downtrend (but NOT in an uptrend) short_condition = (rsi_value > 70) and (close > upper_bb) and (range_bound_ema or downtrend_ema) // Plot Buy and Sell Signals for Debugging plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Execute Buy Trade if (long_condition) strategy.entry("Buy", strategy.long) // Execute Sell Trade if (short_condition) strategy.entry("Sell", strategy.short) // Plot Bollinger Bands and EMA plot(upper_bb, color=color.red, title="Upper Bollinger Band") plot(lower_bb, color=color.green, title="Lower Bollinger Band") plot(ema_100, color=color.blue, title="100 EMA") plot(ema_50, color=color.orange, title="50 EMA") // plot(rsi_value, "RSI", color=color.purple) // Display background color for Buy and Sell signals bgcolor(long_condition ? color.new(color.green, 90) : na, title="Buy Background") bgcolor(short_condition ? color.new(color.red, 90) : na, title="Sell Background")