চলমান গড় ক্রসওভার কৌশলটি সহজ চলমান গড়ের (এসএমএ) উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। এটি বিভিন্ন সময়কালের এসএমএ ক্রসওভারের সময় ক্রয় এবং বিক্রয় সংকেত তৈরি করে।
বিশেষত, এই কৌশলটি 9-অবধি এবং 45-অবধি এসএমএ গণনা করে। যখন দাম উভয় এসএমএ লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দাম উভয় লাইনের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত ট্রিগার হয়।
এই কৌশলটির মূল যুক্তিটি চলমান গড়ের
বিশেষত, এই কৌশলটি 9-অবধি এবং 45-অবধি সহজ চলমান গড় ব্যবহার করে। 9-অবধি লাইনটি স্বল্পমেয়াদী প্রবণতা উপস্থাপন করে যখন 45-অবধি লাইন দীর্ঘমেয়াদী চলনগুলি ক্যাপচার করে। যখন দাম উভয় এসএমএ লাইনের উপরে অতিক্রম করে, এটি নির্দেশ করে যে দামটি স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী উভয়ই উপরের চ্যানেলে রয়েছে, তাই একটি দীর্ঘ প্রবেশের সূচনা করে। বিপরীত ক্রসওভার দুর্বল আপসাইড গতির ইঙ্গিত দেয় এবং প্রম্পট প্রস্থান সংকেত।
কোড দৃষ্টিকোণ থেকে, কৌশলটি প্রথমে 9-পরিয়ড এবং 45-পরিয়ড এসএমএ মানগুলি গণনা করে। এটি তারপরে দুটি এমএ লাইনের মধ্যে সোনার ক্রস এবং মৃত ক্রস সনাক্ত করতে ta.crossover এবং ta.crossunder ফাংশনগুলি ব্যবহার করে। যখন কিনুন এবং বিক্রয় সংকেতগুলি ট্রিগার হয়, তখন প্লটশপ ফাংশনগুলি মূল্য চার্টে ত্রিভুজ এবং বিপরীত ত্রিভুজ আঁকে।
এছাড়াও, স্টপ-লস লজিকটি ট্রেড প্রস্থানগুলি পরিচালনা করতে প্রয়োগ করা হয়। বিশেষত, পূর্ববর্তী বারটির উচ্চ এবং নিম্ন দামগুলি নতুন বাণিজ্য খোলার পরে স্টপ-লস দাম হিসাবে বের করা হয়। এটি কৌশলটিকে লাভগুলি লক করতে এবং বিশাল ক্ষতিগুলি রোধ করতে দেয়।
দ্বৈত চলমান গড় সেটআপটি স্বল্পমেয়াদী শব্দগুলি ফিল্টার করে, সংকেতের গুণমান উন্নত করে মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা পরিবর্তনগুলি ক্যাপচার করে।
স্টপ-লস প্রক্রিয়াটি কার্যকরভাবে ঝুঁকি এবং লাভের লকগুলি নিয়ন্ত্রণ করে।
সহজ এবং সহজেই বাস্তবায়নযোগ্য যুক্তি, নতুনদের জন্য উপযুক্ত।
যৌগিক লাভের জন্য উচ্চ মূলধন ব্যবহার।
ডাবল এমএ কৌশলগুলি অস্থির বাজারের সময় হুইপস এবং অবৈধ সংকেত তৈরি করে।
সংরক্ষণশীল স্টপ লস প্লেসমেন্ট কার্যকরভাবে ট্রেন্ড ট্র্যাক করতে অক্ষম।
অপ্টিমাম প্যারামিটার নির্বাচন ওভারট্রেডিং বা অপর্যাপ্ত ট্রেডিং ফ্রিকোয়েন্সি হতে পারে।
বিপুল প্রবণতা পাল্টাতে অক্ষম।
সমাধান:
মিথ্যা সংকেত হ্রাস করার জন্য এমএ পরামিতি অপ্টিমাইজ করুন
প্রবণতা অনুসরণকারী গতিশীল স্টপ বাস্তবায়ন করুন
অন্যান্য সূচক ব্যবহার করে ফিল্টার যোগ করুন
প্রধান বিপরীত দিকে ম্যানুয়াল ওভাররাইড
কৌশলটির আরও উন্নতিঃ
প্রবণতা আরও ভালভাবে ধরার জন্য অভিযোজনমূলক বা এক্সপোনেন্সিয়াল এমএ ব্যবহার করুন।
ভোল্টেবিলিটি ফিল্টার যোগ করুন যাতে বাজারের সময় মিথ্যা সংকেত না পাওয়া যায়।
সেরা প্যারামিটার সমন্বয় জন্য পরামিতি অপ্টিমাইজেশান সঞ্চালন।
স্টপ-লস লজিকের মধ্যে ট্রেন্ড-ফলো-আপ প্রক্রিয়া অন্তর্ভুক্ত করা।
মূল স্তরের আশেপাশে সিগন্যাল এড়ানোর জন্য সমর্থন-প্রতিরোধ বিশ্লেষণ যুক্ত করুন।
সিগন্যালের গুণগত মানকে আরও ভালভাবে ফিল্টার করার জন্য মেশিন লার্নিং ব্যবহার করুন।
চলমান গড় ক্রসওভার সিস্টেম একটি সহজ কিন্তু কার্যকর প্রবণতা অনুসরণ পদ্ধতি। গোলমাল ফিল্টারিং এবং মাঝারি মেয়াদী প্রবণতা ট্র্যাকিং দ্বারা, এটি মানের সংকেত উত্পন্ন করে। সঠিক স্টপ লস সহ, এটি ঝুঁকি পরিচালিত প্রবণতা ট্রেডিং সক্ষম করে। সহজ যুক্তি এটিও শিক্ষানবিশদের জন্য অনুকূল করে তোলে। আরও অপ্টিমাইজেশন সামগ্রিক পরিমাণ সিস্টেমের একটি কার্যকর উপাদান হিসাবে এই কৌশলটি একীভূত করতে পারে।
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy", overlay=true) // Input parameters fast_length = input(9, title="Fast SMA Length") slow_length = input(45, title="Slow SMA Length") // Calculate moving averages fast_sma = ta.sma(close, fast_length) slow_sma = ta.sma(close, slow_length) // Buy condition buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma) // Sell condition sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma) // Calculate stop loss levels prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on) prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on) // Plot signals on the chart plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy exit conditions long_stop_loss = sell_condition ? prev_low : na short_stop_loss = buy_condition ? prev_high : na strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss) strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss) strategy.entry("Long", strategy.long, when=buy_condition) strategy.entry("Short", strategy.short, when=sell_condition)