চলমান গড় ক্রসওভার কৌশল হল চলমান গড়ের উপর ভিত্তি করে একটি ট্রেডিং কৌশল। এটি একটি দ্রুত চলমান গড় এবং একটি ধীর চলমান গড় ক্রসওভারকে ক্রয় এবং বিক্রয় সংকেত হিসাবে ব্যবহার করে। যখন দ্রুত এমএ নীচে থেকে ধীর এমএ এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত এমএ উপরে থেকে ধীর এমএ এর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
কৌশলটি একটি নির্দিষ্ট সময়ের সহজ চলমান গড় গণনা করতে এসএমএ ফাংশন ব্যবহার করে যেমন দ্রুত এমএ এবং ধীর এমএ। ডিফল্ট দ্রুত এমএ সময়কাল 18 দিন, যা পরামিতিগুলির মাধ্যমে সামঞ্জস্য করা যেতে পারে।
যখন দ্রুত এমএ নীচে থেকে ধীর এমএ এর উপরে অতিক্রম করে, ক্রসওন্ডার ফাংশন ক্রসওভার সংকেত সনাক্ত করে এবং একটি ক্রয় সংকেত উত্পন্ন করে। যখন দ্রুত এমএ উপরে থেকে ধীর এমএ এর নীচে অতিক্রম করে, ক্রসওভার ফাংশন ক্রসওভার সংকেত সনাক্ত করে এবং একটি বিক্রয় সংকেত উত্পন্ন করে।
এই কৌশলটি ট্র্যাক সংকেত এবং প্রস্থান সংকেতগুলির মাধ্যমে স্বয়ংক্রিয় ট্রেডিং উপলব্ধি করে। দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করলে লং এন্ট্রি ট্রিগার হয় এবং দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করলে সংক্ষিপ্ত এন্ট্রি ট্রিগার হয়। সংশ্লিষ্ট প্রস্থান সংকেতগুলি বিপরীত ক্রসওভারেও উত্পন্ন হয়।
এমএ ক্রসওভার কৌশল একটি ক্লাসিক এবং সহজ প্রবণতা অনুসরণকারী কৌশল। এটি মূলত সহজ যুক্তি এবং বাস্তবায়নের সাথে ট্রেডিং সংকেত হিসাবে এমএ ক্রসওভারগুলি ব্যবহার করে। এটি পরামিতি টিউনিংয়ের মাধ্যমে অভিযোজিত হতে পারে। তবে এটিতে দোল এবং প্রবণতা বিপরীতমুখী, উচ্চ সংকেত ফ্রিকোয়েন্সি ইত্যাদির মতো অসুবিধা রয়েছে। এগুলি ফিল্টার, গতিশীল পরামিতি, স্টপ লস ইত্যাদির মাধ্যমে উন্নত করা যেতে পারে। কৌশলটির বিস্তৃত অপ্টিমাইজেশন স্থান এবং দিক রয়েছে এবং এটি মৌলিক পরিমাণগত ট্রেডিং কৌশলগুলির মধ্যে একটি।
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-17 04:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MA Close Strategy", shorttitle = "MA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100) MASource = input(defval = open, title = "MA Source") MaLength = input(defval = 18, title = "MA Period", minval = 1) StartYear = input(2018, "Backtest Start Year") StartMonth = input(1, "Backtest Start Month") StartDay = input(1, "Backtest Start Day") UseStopLoss = input(true,"UseStopLoss") stopLoss = input(50, title = "Stop loss percentage(0.1%)") window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false MA = sma(MASource,MaLength) plot(MA, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50) long = crossunder(MA, close) short = crossover(MA, close) if (long) strategy.entry("LongId", strategy.long, when = long) strategy.exit("ExitLong", from_entry = "LongId", when = short) if (short) strategy.entry("ShortId", strategy.short, when = short) strategy.exit("ExitShort", from_entry = "ShortId", when = long) if (UseStopLoss) strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick) strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)