এই কৌশলটি ব্যবসায়ের সিদ্ধান্তের ভিত্তি হিসাবে বিভিন্ন সময়ের সাথে দুটি এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) ব্যবহার করে। দ্রুত ইএমএতে স্বল্পমেয়াদী দামের ওঠানামা ক্যাপচার করার জন্য 30 এর একটি সময়সীমা রয়েছে। মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতার দিক পরিমাপ করতে ধীর ইএমএতে 100 এর একটি সময়সীমা রয়েছে।
এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
কিছু ঝুঁকিও রয়েছেঃ
কিছু অপ্টিমাইজেশান দিকনির্দেশঃ
/*backtest start: 2023-01-21 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("EMA Strategy v2", shorttitle = "EMA Strategy v2", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10) // === Inputs === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 30, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = close, title = "Slow MA Source") maSlowLength = input(defval = 100, title = "Slow MA Period", minval = 1) // invert trade direction tradeInvert = input(defval = false, title = "Invert Trade Direction?") // risk management useStop = input(defval = true, title = "Use Initial Stop Loss?") slPoints = input(defval = 0, title = "Initial Stop Loss Points", minval = 1) useTS = input(defval = true, title = "Use Trailing Stop?") tslPoints = input(defval = 0, title = "Trail Points", minval = 1) useTSO = input(defval = false, title = "Use Offset For Trailing Stop?") tslOffset = input(defval = 0, title = "Trail Offset Points", minval = 1) // === Vars and Series === fastMA = ema(maFastSource, maFastLength) slowMA = ema(maSlowSource, maSlowLength) plot(fastMA, color=blue) plot(slowMA, color=purple) goLong() => crossover(fastMA, slowMA) killLong() => crossunder(fastMA, slowMA) strategy.entry("Buy", strategy.long, when = goLong()) strategy.close("Buy", when = killLong()) // Shorting if using goShort() => crossunder (fastMA, slowMA) killShort() => crossover(fastMA, slowMA) //strategy.entry("Sell", strategy.short, when = goShort()) //strategy.close("Sell", when = killShort()) if (useStop) strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 ) strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.58)