এই কৌশলটির উদ্দেশ্য হ'ল সম্পদের স্বল্পমেয়াদী নিম্নমুখী প্রবণতার বিপরীত পয়েন্টগুলি সনাক্ত করা এবং সেই পয়েন্টগুলিতে একটি নির্দিষ্ট পরিমাণ অর্থ বিনিয়োগ করা। এটি আপট্রেন্ডের শুরু হওয়ার পরে তুলনামূলকভাবে কম মূল্যে স্থির ডলার ব্যয় গড় (ডিসিএ) সক্ষম করে।
এই কৌশলটি একটি মাসিক সময়সীমার উপর কাজ করে। প্রতি মাসে 240 টি 1 ঘন্টা বার রয়েছে, যা প্রবণতা বিপরীত সময় নির্ধারণের জন্য ব্যবহৃত হয়।
বিশেষ করে, কৌশলটি দ্রুত EMA এবং ধীর EMA (EMA_CD) এর মধ্যে পার্থক্য এবং EMA_CD এর সংকেত রেখা গণনা করে। যখন দ্রুত রেখা সংকেত রেখার উপরে অতিক্রম করে, এটি একটি স্বল্পমেয়াদী নিম্নমুখী প্রবণতার সমাপ্তি নির্ধারণ করে এবং একটি ক্রয় সংকেত ট্রিগার করে।
ক্রয় সংকেতের পরে, কৌশলটি মাসের শেষে সমস্ত অবস্থান বন্ধ করে দেবে। তারপরে প্রক্রিয়াটি পরের মাসে পুনরাবৃত্তি হয়, এক মাসের জন্য স্থির পর্যায়ক্রমিক ক্রয় এবং হোল্ডিং সহ।
এটি আমাদের স্বল্পমেয়াদী পতনের শেষে এবং নির্দিষ্ট সময়ের মধ্যে ডলারের মূল্যের গড়ের নীচে মাছ ধরার অনুমতি দেয়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল যে এটি ব্যাপ্তি-সীমাবদ্ধ বাজারগুলিকে ফিল্টার করতে পারে এবং কেবল প্রবণতা বিপরীত পয়েন্টগুলিতে কিনতে পারে, সুতরাং তুলনামূলকভাবে ভাল মূল্যে ডলারের ব্যয় গড়।
এছাড়াও, বিপরীতমুখী পয়েন্টগুলি নির্ধারণের জন্য ইএমএ ব্যবহার করা কেবল মোমবাতি বিপরীতমুখী দেখার তুলনায় আরও স্থিতিশীল এবং নির্ভুল হতে পারে। ইএমএ স্বল্পমেয়াদী বাজার গোলমালকে মসৃণ করতে পারে যা প্রবেশের সময়কে প্রভাবিত করে।
অবশেষে, মাসিক স্টপ লস প্রতি মাসে বিনিয়োগের জন্য পারফরম্যান্সকে লক করে, প্রতি মাসে সর্বোচ্চ ক্ষতি সীমাবদ্ধ করে।
এই কৌশলটির সবচেয়ে বড় ঝুঁকি হ'ল ক্রয়ের পরে দামগুলি হ্রাস পেতে থাকে, যা মাসের শেষে স্টপ লস হতে পারে। এটি সাধারণত ভুল বিপরীত সনাক্তকরণের কারণে ঘটে।
আমরা EMA এর প্যারামিটারগুলোকে অপ্টিমাইজ করতে পারি, বা RSI এর মত অন্যান্য সূচকগুলোকে একত্রিত করতে পারি, যাতে বিপরীত সিগন্যালগুলো নিশ্চিত হয়।
আরেকটি ঝুঁকি হ'ল স্টপ লস স্তর। একটি স্টপ লস যা খুব টাইট হয় তা স্বল্পমেয়াদী ওঠানামা দ্বারা সহজেই বন্ধ হয়ে যেতে পারে। একটি স্টপ লস যা খুব প্রশস্ত হ্রাসকে সীমাবদ্ধ করতে ব্যর্থ হয়। বিভিন্ন স্টপ লস স্তর পরীক্ষা করে সর্বোত্তম পরামিতি খুঁজে পাওয়া দরকার।
কৌশলটি নিম্নলিখিত ক্ষেত্রে উন্নত করা যেতে পারেঃ
বিপরীতমুখী পরিস্থিতি চিহ্নিত করার জন্য সর্বোত্তম প্যারামিটার সংমিশ্রণ খুঁজে পেতে EMA সময়কালকে অনুকূল করুন।
রিভার্স সিগন্যাল নিশ্চিত করার জন্য আরএসআই এর মতো অন্যান্য ফিল্টার যুক্ত করুন।
হ্রাস প্রতিরোধের সর্বোত্তম পয়েন্টটি খুঁজে পেতে বিভিন্ন স্টপ লস স্তর পরীক্ষা করুন।
দামের উপর ভিত্তি করে গতিশীলভাবে স্টপ লেভেল সামঞ্জস্য করতে স্টপ লসের উপরে ট্রেলিং স্টপ যুক্ত করার কথা বিবেচনা করুন।
এই কৌশলটির জন্য কোনটি সবচেয়ে ভাল কাজ করে তা দেখতে প্রতিদিন বা সাপ্তাহিক মত বিভিন্ন সময়সীমা পরীক্ষা করুন।
এই কৌশলটির সামগ্রিক ধারণাটি সহজ এবং পরিষ্কার - স্বল্পমেয়াদী প্রবণতা বিপরীতমুখী এবং প্রতি মাসে বিপরীতমুখী পয়েন্টগুলিতে ডলারের ব্যয় গড় সনাক্ত করতে ইএমএ ব্যবহার করে। এটি কার্যকরভাবে অস্থির বাজারগুলি ফিল্টার করতে এবং তুলনামূলকভাবে কম মূল্যে বিনিয়োগ করতে পারে। অপ্টিমাইজেশনের স্থানটি বেশিরভাগ প্যারামিটার টিউনিং এবং স্টপ লস কৌশলগুলিতে রয়েছে। সামগ্রিকভাবে এটি স্থির সম্পদের বরাদ্দের জন্য একটি দুর্দান্ত কৌশল ধারণা, যা আরও পরীক্ষা এবং উন্নতির মূল্যবান।
/*backtest start: 2023-09-07 00:00:00 end: 2023-10-07 00:00:00 period: 1h 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/ // © BHD_Trade_Bot // @version=5 // strategy( // shorttitle = 'DCA After Downtrend', // title = 'DCA After Downtrend (by BHD_Trade_Bot)', // overlay = true, // calc_on_every_tick = true, // calc_on_order_fills = true, // use_bar_magnifier = true, // pyramiding = 100, // initial_capital = 0, // default_qty_type = strategy.cash, // default_qty_value = 1000, // commission_type = strategy.commission.percent, // commission_value = 0.1) // Backtest Time Period start_year = input(title='Start year' ,defval=2017) start_month = input(title='Start month' ,defval=1) start_day = input(title='Start day' ,defval=1) start_time = timestamp(start_year, start_month, start_day, 00, 00) end_year = input(title='end year' ,defval=2050) end_month = input(title='end month' ,defval=1) end_day = input(title='end day' ,defval=1) end_time = timestamp(end_year, end_month, end_day, 23, 59) window() => true // EMA ema50 = ta.ema(close, 50) ema200 = ta.ema(close, 200) // EMA_CD emacd = ema50 - ema200 emacd_signal = ta.ema(emacd, 20) hist = emacd - emacd_signal // Count n candles after x long entries var int nPastCandles = 0 var int entryNumber = 0 nPastCandles := nPastCandles + 1 // ENTRY CONDITIONS // 8 hours per day => 240 hours per month entry_condition1 = nPastCandles > entryNumber * 240 // End of downtrend entry_condition2 = ta.crossover(emacd, emacd_signal) ENTRY_CONDITIONS = entry_condition1 and entry_condition2 if ENTRY_CONDITIONS and window() entryNumber := entryNumber + 1 entryId = 'Long ' + str.tostring(entryNumber) strategy.entry(entryId, strategy.long) // CLOSE CONDITIONS // Last bar CLOSE_CONDITIONS = barstate.islast if CLOSE_CONDITIONS strategy.close_all() // Draw plot(ema50, color=color.orange, linewidth=3) plot(ema200, color=entry_condition1 ? color.green : color.red, linewidth=3)