এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) ক্রসওভার একটি সাধারণ ট্রেডিং সিগন্যাল। এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য একটি দ্রুত ইএমএ এবং একটি ধীর ইএমএর ক্রসওভার ব্যবহার করে। বিশেষত, যখন দ্রুত ইএমএ ধীর ইএমএর উপরে অতিক্রম করে, তখন একটি দীর্ঘ অবস্থান নেওয়া হয়; যখন দ্রুত ইএমএ ধীর ইএমএর নীচে অতিক্রম করে, তখন একটি শর্ট অবস্থান নেওয়া হয়।
এই কৌশলটি 20 দিনের ইএমএকে দ্রুত ইএমএ হিসাবে, 50 দিনের ইএমএকে মাঝারি ইএমএ হিসাবে এবং 200 দিনের ইএমএকে ধীর ইএমএ হিসাবে ব্যবহার করে। যখন 20 দিনের ইএমএ এবং 50 দিনের ইএমএ উভয়ই 200 দিনের ইএমএর উপরে অতিক্রম করে, তখন একটি দীর্ঘ অবস্থান নেওয়া হয়; যখন উভয়ই নীচে অতিক্রম করে, তখন একটি শর্ট অবস্থান নেওয়া হয়। এটি কিছু মিথ্যা সংকেত ফিল্টার করতে সহায়তা করে।
চলমান গড় ক্রসওভার কৌশলটি বোঝা সহজ এবং এটি মৌলিক পরিমাণগত ট্রেডিং কৌশলগুলির মধ্যে একটি। এই বাস্তবায়নটি একটি ভূমিকা উদাহরণ হিসাবে ভালভাবে কাজ করে। তবে লাইভ ট্রেডিংয়ে পরামিতিগুলির অপ্টিমাইজেশান প্রয়োজন হবে এবং সংকেতগুলি ফিল্টার করতে এবং কর্মক্ষমতা উন্নত করতে আরও উন্নত প্রযুক্তিগত সূচক যুক্ত করা উচিত।
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rt-maax //@version=5 strategy(title = "rt maax EMA cross strategy", shorttitle = "rt maax ema ", overlay = true, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 100000, currency = currency.USD, default_qty_type = strategy.cash, default_qty_value = 100000, commission_type = "percent", commission_value = 0.27) fastema = ta.ema (close , 50) fema=ta.ema(close,20) slowema= ta.ema(close,200) price = close // === INPUT BACKTEST RANGE === fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12) fromDay = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31) fromYear = input.int(defval = 2021, title = "From Year", minval = 1970) thruMonth = input.int(defval = 10, title = "Thru Month", minval = 1, maxval = 12) thruDay = input.int(defval = 25, title = "Thru Day", minval = 1, maxval = 31) thruYear = input.int(defval = 2112, title = "Thru Year", minval = 1970) // === INPUT SHOW PLOT === showDate = input(defval = true, title = "Show Date Range") // === FUNCTION EXAMPLE === longCondition1= ta.crossover (fema , fastema) longcondition2= fema> slowema longcondition3=fastema>slowema if (longCondition1 and longcondition2 and longcondition3 ) stoploss=low*0.97 takeprofit=high*1.12 strategy.entry("Long Entry", strategy.long) strategy.exit ("exit","long",stop=stoploss,limit=takeprofit) shortCondition1 = ta.crossunder (fema , fastema ) shortcondition2= fastema< slowema shortcondition3= fema< slowema if (shortCondition1 and shortcondition2 and shortcondition3 ) stoploss=low*0.97 takeprofit=high*1.5 strategy.entry("Short Entry", strategy.short) strategy.exit("exit","short",stop=stoploss,limit=takeprofit)