এমএসিডি মুভিং এভারেজ বুল বিয়ার রূপান্তর কৌশলটি মার্কেট প্রবণতা বিপরীত হয়েছে কিনা তা নির্ধারণ করতে এমএসিডি সূচকের ডিআইএফএফ এবং ডিইএ লাইনগুলি গণনা করে, যার ফলে ট্রেডিং সংকেত উত্পন্ন হয়। ডিআইএফএফ ডিইএর উপরে অতিক্রম করলে এটি দীর্ঘ হয় এবং ডিআইএফএফ ডিইএর নীচে অতিক্রম করলে এটি সংক্ষিপ্ত হয়। কৌশলটি মিথ্যা ব্রেকআউট এড়াতে মূল্য ইএমএ ফিল্টারগুলিও অন্তর্ভুক্ত করে।
কৌশলটি মূলত এমএসিডি সূচকের ডিআইএফএফ এবং ডিইএ লাইনের উপর ভিত্তি করে। এমএসিডি হ'ল মুভিং এভারেজ কনভার্জেন্স ডিভার্জেন্স, যা ডিআইএফএফ, ডিইএ এবং এমএসিডি লাইনের সমন্বয়ে গঠিত। তাদের মধ্যে, ডিআইএফএফ স্বল্পমেয়াদী ইএমএ এবং দীর্ঘমেয়াদী ইএমএর মধ্যে পার্থক্যকে উপস্থাপন করে, ডিইএ ডিআইএফএফ সংকেত যাচাই করতে ব্যবহৃত ডিআইএফএফ এর ইএমএ এবং এমএসিডি ডিআইএফএফ এবং ডিইএর মধ্যে পার্থক্যকে উপস্থাপন করে, যা বিচ্যুতি সনাক্ত করতে ব্যবহৃত হয়।
যখন ডিআইএফএফ ডিইএ এর উপরে ভেঙে যায়, তখন এর অর্থ স্বল্পমেয়াদী চলমান গড় শক্তিশালী হতে শুরু করে এবং বাজারটি উত্থানমুখী হয়ে ওঠে। যখন ডিআইএফএফ ডিইএ এর নীচে ভেঙে যায়, তখন এটি সংক্ষিপ্ত মেয়াদী চলমান গড় দুর্বল হয়ে ওঠে এবং বাজার bearish হয়ে যায়। অতএব, এই কৌশলটি দীর্ঘ হয় যখন ডিআইএফএফ ডিইএ এর উপরে অতিক্রম করে এবং নীচে অতিক্রম করার সময় শর্ট হয়।
এছাড়াও, কৌশলটি মিথ্যা ব্রেকআউট এড়ানোর জন্য মূল্যের ইএমএ ফিল্টারগুলি অন্তর্ভুক্ত করে। এটি কেবলমাত্র যখন ডিআইএফএফ ডিইএ এর উপরে ভেঙে যায় এবং দাম পূর্ববর্তী দীর্ঘ মূল্যের নীচে থাকে এবং কেবলমাত্র যখন ডিআইএফএফ ডিইএ এর নীচে ভেঙে যায় এবং দাম পূর্ববর্তী সংক্ষিপ্ত মূল্যের উপরে থাকে তখনই এটি দীর্ঘ হয়।
এমএসিডি মুভিং এভারেজ বুল বিয়ার রূপান্তর কৌশলটি এমএসিডি সূচক এবং মূল্য ইএমএ ফিল্টারগুলিকে একত্রিত করে যাতে কেবলমাত্র এমএসিডি দ্বারা উত্পন্ন মিথ্যা সংকেতগুলি এড়ানো যায়, যার ফলে ট্রেডিং পারফরম্যান্স উন্নত হয়। এই কৌশলটি দ্রুত বাজারের প্রবণতা পরিবর্তনগুলি সনাক্ত করে এবং স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত।
এর প্রধান সুবিধাগুলো হল:
এমএসিডি মুভিং এভারেজ বুল বিয়ার কনভার্শন স্ট্র্যাটেজিতেও কিছু ঝুঁকি রয়েছেঃ
ঝুঁকি অপ্টিমাইজ করার প্রধান উপায় হলঃ
ম্যাকড মুভিং এভারেজ বুল বিয়ার কনভার্শন কৌশল নিম্নলিখিত মাত্রায় আরও অপ্টিমাইজ করা যেতে পারেঃ
এমএসিডি মুভিং এভারেজ বুল বিয়ার রূপান্তর কৌশলটি ডিআইএফএফ এবং ডিইএ ক্রসওভার সংকেত দ্বারা উত্থান / হ্রাস বাজারে প্রবেশের চিহ্নিত করে এবং মিথ্যা সংকেতগুলি সরিয়ে ফেলার জন্য মূল্য ইএমএ ফিল্টারগুলি ব্যবহার করে, কার্যকরভাবে বাজারের প্রবণতা বিপরীত পয়েন্টগুলি নির্ধারণ করে। সহজ এবং পরিষ্কার যুক্তির সাথে, এটি স্বল্পমেয়াদী এবং মাঝারি মেয়াদী ব্যবসায়ের জন্য উপযুক্ত রূপান্তর পয়েন্টগুলি দ্রুত সনাক্ত করে। অপ্টিমাইজ করার পরবর্তী পদক্ষেপগুলির মধ্যে রয়েছে পরামিতিগুলি সামঞ্জস্য করা, ফিল্টারগুলি উন্নত করা এবং কৌশলটিকে আরও শক্তিশালী করার জন্য ব্যবসায়ের ফ্রিকোয়েন্সি নিয়ন্ত্রণ করা।
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("macd_strategy", shorttitle="macd", overlay=true, pyramiding=1, max_bars_back=5000, calc_on_order_fills = false, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type =strategy.commission.percent, commission_value=0.00075) [diff, dea, _] = macd(close, 12, 26, 7) dea_close = ema(diff, 3) price = ema(close, 9) plot(price) cross_over_price = na cross_over_signal = na cross_over_price := cross_over_price[1] cross_over_signal := cross_over_signal[1] cross_under_price = na cross_under_signal = na cross_under_price := cross_under_price[1] cross_under_signal := cross_under_signal[1] if (crossover(diff,dea)) cross_over_price := price[1] cross_over_signal := diff if (crossunder(diff,dea)) cross_under_price := price[1] cross_under_signal := diff if dea > 0 cross_over_price = na cross_over_signal = na else cross_under_price = na cross_under_signal = na if diff > 0 if cross_under_price > cross_under_price[1]*1 and cross_under_signal < cross_under_signal[1]*0.95 strategy.entry("S", strategy.short, comment="S") else if cross_over_price < cross_over_price[1]*1 and cross_over_signal > cross_over_signal[1]*0.95 strategy.entry("B", strategy.long, comment="B") // strategy.exit("exit_s", "S", stop = strategy.position_avg_price*1.05, when=strategy.position_size < 0) // strategy.exit("exit_b", "B", stop = strategy.position_avg_price*0.95, when=strategy.position_size > 0) strategy.close_all(when=(strategy.position_size < 0 and (dea < 0 or diff > cross_under_signal*1 or crossover(diff, dea)) or (strategy.position_size > 0 and (dea > 0 or diff < cross_over_signal*1 or crossunder(diff, dea)))))