इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
कुछ जोखिम भी मौजूद हैंः
कुछ अनुकूलन दिशाएंः
यह रणनीति दोहरे ईएमए क्रॉसओवर पर आधारित एक ट्रेडिंग सिस्टम का निर्माण करती है, जो बाजार की प्रवृत्ति निर्धारित करने के लिए तेज़ और धीमे ईएमए संबंधों का उपयोग करती है। सिग्नल जनरेशन सरल और स्पष्ट है। यह कुछ शोर को फ़िल्टर करता है और रुझानों के साथ जाता है, जो मध्यम से दीर्घकालिक प्रवृत्ति व्यापार के लिए उपयुक्त है। मल्टी-इंडिकेटर अनुकूलन और जोखिम नियंत्रण के माध्यम से सार्वभौमिकता और दक्षता में सुधार के लिए जगह है।
/*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)