এই কৌশলটি প্রবণতা সনাক্ত এবং অনুসরণ করার জন্য চলমান গড় এবং আপেক্ষিক শক্তি সূচকগুলির পূর্ণ সুবিধা গ্রহণ করে। প্রবণতা নির্ধারণ এবং সঠিক প্রবেশ / প্রস্থান সময় নির্ধারণের জন্য এটির কেবল দুটি সূচকের প্রয়োজন। কৌশলটি স্বল্পমেয়াদী বাজারের গোলমাল এড়ানোর সময় মাঝারি থেকে দীর্ঘমেয়াদী মূল্য প্রবণতা ক্যাপচার করার লক্ষ্যে।
কৌশলটি বিভিন্ন সময়কালের সাথে তিনটি ইএমএ ব্যবহার করে, যার মধ্যে ইএমএ-এ সর্বাধিক সময়কাল, ইএমএ-বি মাঝারি এবং ইএমএ-সি দীর্ঘতম। যখন স্বল্পতম ইএমএ-এ দীর্ঘতম ইএমএ-বি এর উপরে অতিক্রম করে, এটি একটি আপগ্রেড প্রবণতা সংকেত দেয়, সুতরাং দীর্ঘ চলে। বিপরীতভাবে, যখন ইএমএ-এ ইএমএ-বি এর নীচে অতিক্রম করে, এটি একটি ডাউনগ্রেড প্রবণতা সংকেত দেয়, সুতরাং শর্ট যায়। মিথ্যা সংকেতগুলি ফিল্টার করতে, এটি দীর্ঘতম ইএমএ-সিও ব্যবহার করে - কেবলমাত্র দামটি ইএমএ-সি ভেঙে যাওয়ার পরে প্রবেশ বিবেচনা করে।
কৌশলটি প্রস্থান পয়েন্টগুলি সনাক্ত করতে আরএসআই ব্যবহার করে। যখন লং হয়, তখন এটি অবস্থানটি বন্ধ করে দেয় যদি আরএসআই 70 এর উপরে অতিক্রম করে। যখন সংক্ষিপ্ত হয়, তখন এটি বেরিয়ে আসে যদি আরএসআই 30 এর নীচে পড়ে। এটি ট্রেন্ড মুনাফা লক করে এবং ক্ষতির আরও প্রসারিত হতে বাধা দেয়।
এই ঝুঁকিগুলি RSI পরামিতিগুলিকে অনুকূল করে, ফিল্টারগুলি যুক্ত করে এবং প্রবণতা বিশ্লেষণের সাথে একত্রিত করে হ্রাস করা যেতে পারে।
এই কৌশলটি প্রবণতা সনাক্তকরণ এবং ক্যাপচার করার জন্য প্রবণতা অনুসরণ এবং দোলক সূচকগুলির সংমিশ্রণ করে। সহজ পরামিতি এবং যৌক্তিক অপ্টিমাইজেশান সহ, এটি সরলতা বজায় রেখে ব্যাপকভাবে উন্নত করা যেতে পারে। এটি মাঝারি থেকে দীর্ঘমেয়াদী বিনিয়োগকারীদের জন্য উপযুক্ত একটি খুব ব্যবহারিক প্রবণতা অনুসরণকারী টেম্পলেট।
/*backtest start: 2023-08-26 00:00:00 end: 2023-09-25 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ //@author Alorse //@version=5 // strategy(title='Tendency EMA + RSI [Alorse]', shorttitle='Tendece EMA + RSI [Alorse]', overlay=true, pyramiding=0, currency=currency.USD, default_qty_type=strategy.percent_of_equity, initial_capital=1000, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.01) // Bollinger Bands len = input.int(14, minval=1, title='Length', group='RSI') src = input.source(close, 'Source', group='RSI') rsi = ta.rsi(src, len) // Moving Averages len_a = input.int(10, minval=1, title='EMA A Length', group='Moving Averages') out_a = ta.ema(close, len_a) plot(out_a, title='EMA A', color=color.purple) len_b = input.int(20, minval=1, title='EMA B Length', group='Moving Averages') out_b = ta.ema(close, len_b) plot(out_b, title='EMA B', color=color.orange) len_c = input.int(100, minval=1, title='EMA C Length', group='Moving Averages') out_c = ta.ema(close, len_c) plot(out_c, title='EMA B', color=color.green) // Strategy Conditions stratGroup = 'Strategy' showLong = input.bool(true, title='Long entries', group=stratGroup) showShort = input.bool(false, title='Short entries', group=stratGroup) closeAfterXBars = input.bool(true, title='Close after X # bars', tooltip='If trade is in profit', group=stratGroup) xBars = input.int(24, title='# bars') entryLong = ta.crossover(out_a, out_b) and out_a > out_c and close > open exitLong = rsi > 70 entryShort = ta.crossunder(out_a, out_b) and out_a < out_c and close < open exitShort = rsi < 30 bought = strategy.opentrades[0] == 1 and strategy.position_size[0] > strategy.position_size[1] entry_price = ta.valuewhen(bought, open, 0) var int nPastBars = 0 if strategy.position_size > 0 nPastBars := nPastBars + 1 nPastBars if strategy.position_size == 0 nPastBars := 0 nPastBars if closeAfterXBars exitLong := nPastBars >= xBars and close > entry_price ? true : exitLong exitLong exitShort := nPastBars >= xBars and close < entry_price ? true : exitShort exitShort // Long Entry strategy.entry('Long', strategy.long, when=entryLong and showLong) strategy.close('Long', when=exitLong) // Short Entry strategy.entry('Short', strategy.short, when=entryShort and showShort) strategy.close('Short', when=exitShort)