এই কৌশলটি মাল্টি-টাইমফ্রেম এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এবং ২০০-পরিয়ড ইএমএ ফিল্টারের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। মূল ধারণাটি হ'ল বাজারের প্রবণতার দিকটি সনাক্ত করতে এবং প্রবণতা বাড়ার সময় এবং দাম ২০০-পরিয়ড ইএমএ এর উপরে থাকলে লং পজিশন স্থাপন করার জন্য বিভিন্ন সময়সীমার উপর ইএমএ ব্যবহার করা। এটি নিশ্চিত করে যে কেবলমাত্র শক্তিশালী আপট্রেন্ডের সময় ট্রেডগুলি প্রবেশ করা হয়, যার লক্ষ্য হ'ল সংজ্ঞায়িত স্টপ-লস এবং লাভ গ্রহণের প্রক্রিয়াগুলির সাথে ঝুঁকি পরিচালনা করার সময় টেকসই আপট্রেন্ডগুলি ক্যাপচার করা।
কৌশলটি তিনটি টাইমফ্রেম ব্যবহার করেঃ 5 মিনিট, 15 মিনিট, এবং 30 মিনিট, প্রতিটি জন্য দ্রুত এবং ধীর ইএমএ গণনা করে। প্রতিটি সময় ফ্রেমের জন্য দ্রুত এবং ধীর ইএমএগুলির তুলনা করে, প্রবণতা দিক নির্ধারণ করা যেতে পারে। তিনটি সময় ফ্রেমের প্রবণতা সংকেতগুলি একটি সমন্বিত প্রবণতা সংকেত পেতে যোগ করা হয়। যখন সমন্বিত প্রবণতা সংকেত 3 হয় (সমস্ত সময় ফ্রেমে একটি আপট্রেন্ড নির্দেশ করে) এবং বর্তমান বন্ধের মূল্য 5 মিনিটের সময় ফ্রেমে 200-পেরিওড ইএমএ এর উপরে থাকে, তখন কৌশলটি একটি দীর্ঘ অবস্থানে প্রবেশ করে। যখন সমন্বিত প্রবণতা সংকেত 3 এর নীচে পড়ে বা মূল্য 5 মিনিটের 200-পেরিওড ইএমএ এর নীচে পড়ে তখন অবস্থানটি বন্ধ হয়।
এই কৌশলটি 200-পরিয়ডের ইএমএকে প্রবণতা ফিল্টার হিসাবে ব্যবহার করে একাধিক সময়সীমার উপর ইএমএগুলির তুলনা করে প্রবণতার দিক নির্ধারণ করে। এটি যখন প্রবণতা স্পষ্টভাবে ঊর্ধ্বমুখী হয় এবং দাম দীর্ঘমেয়াদী চলমান গড়ের উপরে থাকে তখন এটি দীর্ঘ অবস্থান স্থাপন করে, শক্তিশালী আপট্রেন্ডগুলি ক্যাপচার করার লক্ষ্যে। কঠোর প্রবেশ এবং প্রস্থান শর্ত এবং স্থির স্টপ-লস এবং লাভের স্তরগুলি ঝুঁকি পরিচালনা করতে সহায়তা করে। তবে কৌশলটি প্রবণতা পাল্টা পয়েন্টে ধীরে ধীরে প্রতিক্রিয়া জানাতে পারে এবং স্থির স্টপ-লস এবং লাভের স্তরের কারণে হঠাৎ বাজারের অস্থিরতার সাথে মোকাবিলা করার ক্ষেত্রে সীমাবদ্ধতা রয়েছে। ভবিষ্যতে, কৌশলটির অভিযোজনযোগ্যতা এবং স্থিতিশীলতা আরও সময়সীমা প্রবর্তন করে, স্টপ-লস এবং লাভ গ্রহণের স্তরগুলি অপ্টিমাইজ করে, অতিরিক্ত ট্রেডিং সংকেতগুলি অন্তর্ভুক্ত করে, প্যারামিটারগুলি অপ্টিমাইজ করে ইত্যাদি উন্নত করা যেতে পারে। এটি ঝুঁকি নিয়ন্ত্রণের সময় কৌশলটিকে আরও ভালভাবে বাজার সুযোগগুলি দখল করতে সক্ষম করবে।
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1) // Inputs fast_length = input.int(9, title="Fast EMA Length", minval=1) slow_length = input.int(21, title="Slow EMA Length", minval=1) filter_length_200 = input.int(200, title="200 EMA Length", minval=1) stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100 take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100 // Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) // Calculate 200 EMA for the 5-minute timeframe ema_200_5min = ta.ema(close, filter_length_200) // Determine the trend for each timeframe trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1 trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1 trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1 // Combine trend signals combined_trend = trend_5min + trend_15min + trend_30min // Define entry and exit conditions with 200 EMA filter enter_long = combined_trend == 3 and close > ema_200_5min exit_long = combined_trend < 3 or close < ema_200_5min // Plot EMAs for the 5-minute timeframe plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min") plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min") plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min") // Strategy execution if (enter_long) strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc)) if (exit_long) strategy.close("Long")