ডায়নামিক মুভিং এভারেজ ক্রসওভার স্ট্র্যাটেজি একটি প্রচলিত ট্রেন্ড অনুসরণকারী কৌশল। এটি দ্রুত চলমান গড় (ফাস্ট এমএ) এবং ধীর চলমান গড় (স্লো এমএ) গণনা করে এবং বাজারে প্রবণতা বিপরীত পয়েন্টগুলি ক্যাপচার করার জন্য তাদের মধ্যে ক্রসগুলি সনাক্ত করে ক্রয় এবং বিক্রয় সংকেত তৈরি করে।
এই কৌশলটির মূল যুক্তি হলঃ যখন দ্রুত চলমান গড় নীচে থেকে ধীর চলমান গড়ের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন দ্রুত চলমান গড় উপরে থেকে ধীর চলমান গড়ের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
চলমান গড়গুলি কার্যকরভাবে বাজারের গোলমাল ফিল্টার করতে পারে এবং মূল্যের প্রবণতা ক্যাপচার করতে পারে। দ্রুত চলমান গড়টি আরও সংবেদনশীল এবং প্রবণতার পরিবর্তনগুলি সময়মতো ক্যাপচার করতে পারে; ধীর চলমান গড়টি আরও স্থিতিশীল এবং স্বল্পমেয়াদী অস্থিরতার প্রভাবকে কার্যকরভাবে ফিল্টার করতে পারে। যখন দ্রুত এবং ধীর এমএগুলির একটি সোনার ক্রস থাকে (নীচে থেকে উঠছে), এটি ইঙ্গিত দেয় যে বাজারটি একটি উত্থান পর্যায়ে প্রবেশ করেছে; যখন তারা একটি মৃত্যু ক্রস (উপরে থেকে নেমে যাচ্ছে) দেখায়, এটি ইঙ্গিত করে যে বাজারটি একটি মন্দা পর্যায়ে প্রবেশ করেছে।
এই কৌশলটি যখন চলমান গড়গুলি অতিক্রম করে তখন অবিলম্বে ট্রেডিং সংকেত জারি করবে, বাজারের প্রবণতা অনুসরণ করতে এবং বৃহত্তর মুনাফা অর্জনের জন্য একটি প্রবণতা-অনুসন্ধান কৌশল গ্রহণ করবে। একই সাথে, কৌশলটি ঝুঁকিগুলি কঠোরভাবে নিয়ন্ত্রণ করতে স্টপ লস এবং মুনাফা গ্রহণ করে।
প্যারামিটারগুলি অপ্টিমাইজ করা, চলমান গড়ের সময়কাল সামঞ্জস্য করা, ফিল্টার শর্তাদি যোগ করা ইত্যাদির মাধ্যমে উন্নতি করা যেতে পারে।
ডায়নামিক মুভিং এভারেজ ক্রসওভার কৌশল সামগ্রিকভাবে বেশ ভাল সম্পাদন করে। পরামিতিগুলি অনুকূল করে আরও উন্নতি করা যেতে পারে। কৌশলটি বাস্তবায়ন করা সহজ এবং শিক্ষানবিশদের অনুশীলনের জন্য উপযুক্ত। তবে মিথ্যা সংকেতগুলির ঝুঁকি সম্পর্কে সতর্ক হওয়া উচিত এবং আরও ভাল সম্পাদন করতে অন্যান্য সূচকগুলির সাথে একসাথে ব্যবহার করা দরকার।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Average Crossover", shorttitle="SMAC", overlay=true) // Define input parameters fast_length = input.int(9, title="Fast MA Length") slow_length = input.int(21, title="Slow MA Length") stop_loss = input.float(1, title="Stop Loss (%)", minval=0, maxval=100) take_profit = input.float(2, title="Take Profit (%)", minval=0, maxval=100) // Calculate moving averages fast_ma = ta.sma(close, fast_length) slow_ma = ta.sma(close, slow_length) // Define conditions for long and short signals long_condition = ta.crossover(fast_ma, slow_ma) short_condition = ta.crossunder(fast_ma, slow_ma) // Plot moving averages on the chart plot(fast_ma, title="Fast MA", color=color.blue) plot(slow_ma, title="Slow MA", color=color.red) // Execute long and short trades if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Set stop loss and take profit levels stop_loss_price = close * (1 - stop_loss / 100) take_profit_price = close * (1 + take_profit / 100) strategy.exit("Take Profit/Stop Loss", stop=stop_loss_price, limit=take_profit_price) // Plot signals on the chart plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)