এমএসিডি ট্রেন্ড অনুসরণকারী কৌশল হল এমএসিডি সূচক ভিত্তিক একটি পরিমাণগত ট্রেডিং কৌশল। এই কৌশলটি বাজারের প্রবণতা নির্ধারণ এবং মূল্য প্রবণতা ট্র্যাক করার জন্য এমএসিডি গোল্ডেন ক্রস এবং ডেথ ক্রস সংকেতগুলি সনাক্ত করে।
এমএসিডি ট্রেন্ড ফলোিং স্ট্র্যাটেজির মূল যুক্তি হলঃ
এই প্রবণতা অনুসরণ প্রক্রিয়াটির মাধ্যমে, কৌশলটি বাজারের প্রবণতাগুলির সময়মতো পরিবর্তনগুলি ধরতে এবং মুনাফা করতে পারে।
এমএসিডি ট্রেন্ড অনুসরণকারী কৌশল নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
এমএসিডি ট্রেন্ড ফলোিং স্ট্র্যাটেজিতে নিম্নলিখিত ঝুঁকি রয়েছেঃ
উপরের ঝুঁকি মোকাবেলায় নিম্নলিখিত অপ্টিমাইজেশান ব্যবস্থা গ্রহণ করা যেতে পারেঃ
এমএসিডি ট্রেন্ড অনুসরণকারী কৌশল নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
মিথ্যা সংকেত হার কমাতে MACD সূচক পরামিতি অপ্টিমাইজ করুন। MACD এর বিভিন্ন চক্র পরামিতি পরীক্ষা করা যেতে পারে।
সংকেত ফিল্টার করার জন্য ট্রেডিং ভলিউমের মতো অন্যান্য সূচক যুক্ত করুন। সর্বনিম্ন ট্রেডিং ভলিউমের শর্তগুলি সেট করা যেতে পারে।
ডায়নামিক ট্রেলিং স্টপ লস মেকানিজম সেট আপ করুন। স্টপ লস পয়েন্টগুলি অস্থিরতার উপর ভিত্তি করে গতিশীলভাবে সামঞ্জস্য করা যেতে পারে।
পজিশন খোলার জন্য সিগন্যাল নির্ধারণের যুক্তিকে অনুকূল করুন। আরও কঠোর ট্রিগার শর্ত সেট করা যেতে পারে।
সিগন্যাল ফিল্টার করার জন্য মেশিন লার্নিং মডেল অন্তর্ভুক্ত করুন। মডেলগুলিকে সিগন্যালের নির্ভরযোগ্যতা বিচার করতে প্রশিক্ষণ দেওয়া যেতে পারে।
সাধারণভাবে, এমএসিডি ট্রেন্ড অনুসরণ কৌশলটি একটি তুলনামূলকভাবে পরিপক্ক পরিমাণগত কৌশল। এটি বাজারের প্রবণতার দিকনির্দেশগুলি নির্ধারণ করতে এমএসিডি সূচকটি ব্যবহার করে এবং স্টপ লস প্রক্রিয়া সহ ঝুঁকিগুলি নিয়ন্ত্রণ করে, যা কার্যকরভাবে মূল্যের প্রবণতা ট্র্যাক করতে পারে। তবে এমএসিডি সূচকের নিজস্ব কিছু ত্রুটিও রয়েছে, মিথ্যা সংকেত উত্পন্ন করা সহজ। সুতরাং এই কৌশলটির আরও অপ্টিমাইজেশনের জন্য রুম রয়েছে, প্রধানত সূচক পরামিতি, স্টপ লস প্রক্রিয়া, সংকেত ফিল্টারিং ইত্যাদির মতো দিকগুলিতে।
/*backtest start: 2023-11-10 00:00:00 end: 2023-12-10 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MACD Cross Strategy", overlay=true) // Get MACD values [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) var float entryLongPrice = na var float entryShortPrice = na var float highestLongProfit = 0 var float highestShortProfit = 0 var float highestMACD = 0 var float lowestMACD = 0 var bool haveOpenedLong = false var bool haveOpenedShort = false var float stoploss = 0.04 // To be adjust for different investment var float minProfit = 0.05 // To be adjust for different investment if macdLine > 0 lowestMACD := 0 highestMACD := math.max(highestMACD, macdLine) haveOpenedShort := false else highestMACD := 0 lowestMACD := math.min(lowestMACD, macdLine) haveOpenedLong := false // Enter long position when MACD line crosses above the signal line if ta.crossover(macdLine, signalLine) and macdLine < highestMACD and macdLine > 0 and haveOpenedLong == false strategy.entry("Long", strategy.long) strategy.exit("Exit Long", from_entry = "Long", stop=close*(1 - stoploss)) entryLongPrice := close haveOpenedLong := true if ta.crossunder(macdLine, signalLine) and macdLine > lowestMACD and macdLine < 0 and haveOpenedShort == false strategy.entry("Short", strategy.short) strategy.exit("Exit Short", from_entry = "Short", stop=close*(1 + stoploss)) entryShortPrice := close haveOpenedShort := true // log.info("entryLongPrice:{0}", entryLongPrice) if strategy.position_size > 0 profit = close - entryLongPrice log.info("profit:{0}", profit) if profit > 0 highestLongProfit := math.max(highestLongProfit, profit) if profit / entryLongPrice > minProfit and highestLongProfit * 0.8 > profit strategy.close("Long") highestLongProfit := 0 if strategy.position_size < 0 profit = entryShortPrice - close if profit > 0 highestShortProfit := math.max(highestShortProfit, profit) log.info("highestShortProfit={0}, profit={1}", highestShortProfit, profit) if profit / entryShortPrice > minProfit and highestShortProfit * 0.8 > profit strategy.close("Short") highestShortProfit := 0