ডুয়াল মুভিং এভারেজ ক্রসওভার কৌশল একটি সাধারণ প্রবণতা অনুসরণকারী কৌশল। এটি বিভিন্ন সময়ের সাথে দুটি চলমান গড় গণনা করে এবং বাজারের প্রবণতার দিক এবং গতি ধরে রাখার জন্য তাদের ক্রসওভারকে ট্রেডিং সংকেত হিসাবে ব্যবহার করে।
কৌশলটি মূলত দুটি চলমান গড়ের উপর ভিত্তি করে। প্রথম চলমান গড়ের একটি ছোট সময়কাল রয়েছে এবং দামের পরিবর্তনের প্রতিক্রিয়া দ্রুত করতে পারে। দ্বিতীয় চলমান গড়ের একটি দীর্ঘ সময়কাল রয়েছে এবং কিছু গোলমাল ফিল্টার করতে পারে। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড় অতিক্রম করে, এটি একটি ক্রয় সংকেত হিসাবে বিবেচিত হয়। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে, এটি একটি বিক্রয় সংকেত হিসাবে বিবেচিত হয়।
বিশেষত, এই কৌশলটি একটি 10-অবধি এক্সপোনেন্সিয়াল চলমান গড় (মূল্য 1) এবং একটি 20-অবধি এক্সপোনেন্সিয়াল চলমান গড় (মূল্য 2) গণনা করে। যদি বর্তমান বারটির খোলা এবং বন্ধের দাম উভয়ই দুটি চলমান গড়ের চেয়ে বেশি হয় তবে একটি ক্রয় সংকেত উত্পন্ন হয়। যদি খোলা এবং বন্ধের দাম উভয়ই দুটি চলমান গড়ের চেয়ে কম হয় তবে একটি বিক্রয় সংকেত উত্পন্ন হয়।
এই নকশাটি যখন একটি প্রবণতা গঠনের শুরু হয় এবং প্রবণতা অনুসরণ করে তখন এটি আগে প্রবেশের অনুমতি দেয়। যখন প্রবণতা বিপরীত হয়, এটি কার্যকরভাবে ঝুঁকিগুলি নিয়ন্ত্রণ করতে দ্রুত বাজার থেকে বেরিয়ে আসতে পারে।
কৌশলটি তুলনামূলকভাবে সহজ এবং ব্যবহারিক, দ্বৈত এমএ ক্রসওভারের সাথে প্রবণতা ক্যাপচার করে এটিকে একটি মৌলিক পরিমাণ কৌশল করে তোলে। তবে এর কিছু ঝুঁকিও রয়েছে এবং বিভিন্ন বাজারের ব্যবস্থার জন্য আরও অপ্টিমাইজেশনের প্রয়োজন। এটি আরও শক্তিশালী করার জন্য পরামিতি, স্টপ, ফিল্টার ইত্যাদি উন্নত করার জায়গা রয়েছে।
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //study(title="MA River CC v1", overlay = true) strategy("MA River CC v1", overlay=true) src = input(close, title="Source") price = request.security(syminfo.tickerid, timeframe.period, src) ma1 = input(10, title="1st MA Length") type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"]) ma2 = input(20, title="2nd MA Length") type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"]) price1 = if (type1 == "SMA") sma(price, ma1) else ema(price, ma1) price2 = if (type2 == "SMA") sma(price, ma2) else ema(price, ma2) //plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0) plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0) plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0) buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2) sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2) buy_close = sell_entry sell_close = buy_entry //longCondition = crossover(price1, price2) if(buy_entry) strategy.entry("Long", strategy.long) if(sell_entry) strategy.entry("Short", strategy.short) strategy.close("Long" , when=buy_close) strategy.close("Short",when=sell_close)