এই কৌশলটি একটি সমন্বিত ট্রেডিং সিস্টেম যা গতির সূচক আরএসআই এবং প্রবণতা সূচক ইএমএকে একত্রিত করে। 1 মিনিট এবং 5 মিনিটের সময় ফ্রেম উভয়ই পরিচালনা করে, এটি আরএসআই ওভারকোপড / ওভারসোল্ড সংকেত এবং ট্রিপল ইএমএ প্রবণতা নির্ধারণের উপর ভিত্তি করে ট্রেডিং সিদ্ধান্ত নেয়। কৌশলটি প্রবণতা অনুসরণ এবং গড় বিপরীত বৈশিষ্ট্য উভয়কেই অন্তর্ভুক্ত করে, যা এটিকে বিভিন্ন বাজারের পরিবেশে ট্রেডিং সুযোগগুলি ক্যাপচার করতে সক্ষম করে।
এই কৌশলটি ট্রেন্ড বিচারের বেঞ্চমার্ক হিসাবে 21/50/200 দিনের ট্রিপল ইএমএ ব্যবহার করে, একটি সংশোধিত আরএসআই সূচক (চেবিশেভ পদ্ধতি ব্যবহার করে গণনা করা) এর সাথে একত্রিত হয়ে বাজারের ওভারবয়ড / ওভারসোল্ড শর্তগুলি সনাক্ত করতে। 1 মিনিটের সময়সীমার উপর, এটি শর্ট পজিশন শুরু করে যখন আরএসআই 94 এর উপরে ভেঙে যায় এবং 4 এর নীচে পড়ে যায়, যখন আরএসআই 50 এ ফিরে আসে তখন ব্রেক ইভেন স্টপগুলি সেট করে। 5 মিনিটের সময়সীমার উপর, এটি 200 দিনের ইএমএ এর নীচে পড়ার পরে দাম রিবাউন্ড হলে লম্বা অবস্থান শুরু করে, যখন আরএসআই ওভারবয়ড হয় বা মধ্যম নীচে ভেঙে যায় তখন অবস্থানগুলি বন্ধ করে। পজিশন ম্যানেজমেন্ট ভেরিয়েবলগুলি পজিশনলং এবং ইনপজিশনশর্ট পুনরাবৃত্তি এন্ট্রিগুলি রোধ করে।
কৌশলটি একাধিক প্রযুক্তিগত সূচক এবং মাল্টি-টাইমফ্রেম বিশ্লেষণের সংমিশ্রণের মাধ্যমে ট্রেডিং স্থিতিশীলতা এবং নির্ভরযোগ্যতা বৃদ্ধি করে। যদিও কিছু ঝুঁকি বিদ্যমান, তবে সঠিক অবস্থান পরিচালনা এবং স্টপ-লস প্রক্রিয়াগুলির মাধ্যমে এগুলি কার্যকরভাবে নিয়ন্ত্রণ করা যেতে পারে। কৌশলটির উল্লেখযোগ্য অপ্টিমাইজেশান সম্ভাবনা রয়েছে এবং অতিরিক্ত প্রযুক্তিগত সূচক এবং অপ্টিমাইজেশন পরামিতি প্রবর্তন করে এর কার্যকারিতা আরও উন্নত করা যেতে পারে।
/*backtest start: 2023-11-12 00:00:00 end: 2024-07-10 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined RSI Primed and 3 EMA Strategy", overlay=true) // Input for EMA lengths emaLength1 = input(21, title="EMA Length 1") emaLength2 = input(50, title="EMA Length 2") emaLength3 = input(200, title="EMA Length 3") // Input for RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(94, title="RSI Overbought Level") rsiNeutral = input(50, title="RSI Neutral Level") rsiOversold = input(4, title="RSI Oversold Level") // Calculate EMAs ema1 = ta.ema(close, emaLength1) ema2 = ta.ema(close, emaLength2) ema3 = ta.ema(close, emaLength3) // Calculate RSI using Chebyshev method from RSI Primed rsi(source) => up = math.max(ta.change(source), 0) down = -math.min(ta.change(source), 0) rs = up / down rsiValue = down == 0 ? 100 : 100 - (100 / (1 + rs)) rsiValue rsiValue = rsi(close) // Plot EMAs plot(ema1, color=color.red, title="EMA 21") plot(ema2, color=color.white, title="EMA 50") plot(ema3, color=color.blue, title="EMA 200") // Plot RSI for visual reference hline(rsiOverbought, "Overbought", color=color.red) hline(rsiNeutral, "Neutral", color=color.gray) hline(rsiOversold, "Oversold", color=color.green) plot(rsiValue, color=color.blue, title="RSI") // Trading logic with position management var bool inPositionShort = false var bool inPositionLong = false // Trading logic for 1-minute timeframe if (rsiValue > rsiOverbought and not inPositionShort) strategy.entry("Sell", strategy.short) inPositionShort := true if (rsiValue < rsiOversold and inPositionShort) strategy.close("Sell") inPositionShort := false if (ta.crossover(rsiValue, rsiNeutral) and inPositionShort) strategy.exit("Break Even", "Sell", stop=close) // Trading logic for 5-minute timeframe var float lastBearishClose = na if (close < ema3 and close[1] >= ema3) // Check if the current close is below EMA200 lastBearishClose := close if (not na(lastBearishClose) and close > lastBearishClose and not inPositionLong) strategy.entry("Buy", strategy.long) inPositionLong := true if (rsiValue > rsiOverbought and inPositionLong) strategy.close("Buy") inPositionLong := false if (ta.crossunder(rsiValue, rsiNeutral) and inPositionLong) strategy.exit("Break Even", "Buy", stop=close) lastBearishClose := na // Reset after trade execution