এই কৌশলটি একটি সময় ভিত্তিক প্রস্থান প্রক্রিয়া সঙ্গে প্রবণতা অনুসরণ একত্রিত করে। মূল ধারণা ঝুঁকি নিয়ন্ত্রণের জন্য একটি বছরের শেষের জোরপূর্বক তরলীকরণ প্রক্রিয়া অন্তর্ভুক্ত করার সময় 60 দিনের চলমান গড় সঙ্গে মূল্য সম্পর্ক পর্যবেক্ষণ করে বাজার প্রবণতা ক্যাপচার করা হয়। দীর্ঘ পজিশন প্রবেশ করা হয় যখন বন্ধ মূল্য একটি ইতিবাচক ঢাল সঙ্গে 60 দিনের এমএ উপরে বিরতি, এবং সব পজিশন প্রতি বছরের শেষ ট্রেডিং দিনে বন্ধ করা হয়।
কৌশলটি বেশ কয়েকটি মূল উপাদানের উপর ভিত্তি করেঃ ১. প্রবণতা নির্ধারণঃ প্রবণতার দিকনির্দেশ নিশ্চিত করার জন্য ১৪ দিনের ঢাল গণনা সহ মধ্যমেয়াদী প্রবণতা সূচক হিসাবে ৬০ দিনের সহজ চলমান গড় (এসএমএ) ব্যবহার করে। ২. এন্ট্রি সিগন্যালঃ যখন মূল্য ইতিবাচক ঢাল দিয়ে ৬০ দিনের এমএ-র ঊর্ধ্বে চলে যায়, তখন কেনার সংকেত উৎপন্ন হয়, যা একটি সম্ভাব্য আপট্রেন্ডকে নির্দেশ করে। ৩. প্রস্থান প্রক্রিয়া: ক্রস-ইয়ার পজিশন ঝুঁকি এড়াতে প্রতি বছরের শেষ ট্রেডিং দিনে সমস্ত পজিশন বন্ধ করে নির্দিষ্ট সময়ের ভিত্তিতে প্রস্থান বাস্তবায়ন করে। ৪. ট্রেডিং টাইম ম্যানেজমেন্টঃ শুধুমাত্র বৈধ ট্রেডিং দিনে অপারেশনগুলি নিশ্চিত করার জন্য তারিখের পরিসীমা নিয়ন্ত্রণ এবং ট্রেডিং দিনের বৈধতা অন্তর্ভুক্ত করে।
এই কৌশলটি ট্রেন্ড অনুসরণ এবং সময় পরিচালনার সাথে একত্রিত করে একটি তুলনামূলকভাবে শক্তিশালী ট্রেডিং সিস্টেম তৈরি করে। এর সহজ এবং পরিষ্কার যুক্তি এটি বোঝা এবং বাস্তবায়ন করা সহজ করে তোলে, ভাল ব্যবহারিক উপযোগিতা সরবরাহ করে। যথাযথ পরামিতি অপ্টিমাইজেশান এবং সম্পূরক ঝুঁকি নিয়ন্ত্রণ ব্যবস্থাগুলির সাথে, কৌশলটি বাস্তব ট্রেডিং অবস্থার মধ্যে স্থিতিশীল রিটার্ন উত্পন্ন করার সম্ভাবনা দেখায়।
/*backtest start: 2025-01-09 00:00:00 end: 2025-01-16 00:00:00 period: 3m basePeriod: 3m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Buy above 60-day MA, Sell at year-end", overlay=true, pyramiding=1) // Define inputs for start and end dates startDate = input(defval=timestamp("2010-01-01"), title="Start Date") endDate = input(defval=timestamp("2024-12-31"), title="End Date") // Define 60-day moving average length = input.int(defval=60, title="MA Length", minval=1) ma = ta.sma(close, length) slope = ta.sma(ma, 14) - ta.sma(ma, 14)[1] // Check if current bar is within the specified date range withinDateRange = true // Function to check if a day is a trading day (Monday to Friday) isTradingDay(day) => true // Check if current bar is the last trading day of the year // Check if current bar is the last trading day of the year isLastTradingDayOfYear = false yearNow = year(time) if (month == 12 and dayofmonth == 31) isLastTradingDayOfYear := isTradingDay(time) else if (month == 12 and dayofmonth == 30) isLastTradingDayOfYear := isTradingDay(time) and not isTradingDay(time + 86400000) else if (month == 12 and dayofmonth == 29) isLastTradingDayOfYear := isTradingDay(time) and not isTradingDay(time + 86400000) and not isTradingDay(time + 86400000 * 2) // Plot moving average plot(ma, color=color.blue, linewidth=2) // Buy when closing price crosses above 60-day MA and up trend if (withinDateRange and ta.crossover(close, ma) and slope > 0) strategy.entry("Buy", strategy.long) // Sell all positions at the last trading day of the year if (isLastTradingDayOfYear) strategy.close_all(comment="Sell at year-end") // Plot buy and sell signals //plotshape(series=ta.crossover(close, ma), location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") //plotshape(series=isLastTradingDayOfYear, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")