मूविंग एवरेज क्रॉसओवर ट्रेडिंग रणनीति तेजी से ईएमए (फास्टलेंथ) और धीमी ईएमए (स्लो लेंथ) लाइनों के क्रॉसओवर की गणना करके खरीद और बिक्री संकेत उत्पन्न करती है। जब तेजी से रेखा धीमी रेखा के ऊपर पार करती है, तो एक खरीद संकेत उत्पन्न होता है। जब तेजी से रेखा धीमी रेखा के नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है। यह रणनीति सरल और व्यावहारिक है, जो मध्यम और अल्पकालिक व्यापार के लिए उपयुक्त है।
यह रणनीति दो चलती औसत रेखाओं, तेज रेखा और धीमी रेखा का उपयोग करती है। तेज रेखा पैरामीटर ईएमएफास्टलेंथ 9 दिन की रेखा के लिए डिफ़ॉल्ट है, और धीमी रेखा पैरामीटर ईएमएस्लो लेंथ 26 दिन की रेखा के लिए डिफ़ॉल्ट है। बाजार खरीदने और बेचने के संकेतों का निर्धारण करने के लिए दो ईएमए लाइनों के क्रॉसओवर की गणना करें:
विशिष्ट ट्रेडिंग सिग्नल और रणनीति नियम निम्नलिखित हैं:
तो यह रणनीति दो चलती औसत रेखाओं के स्वर्ण क्रॉस और मृत क्रॉस के आधार पर व्यापार करती है।
जोखिमों से निपटने के लिए, अनुकूलित किए जा सकने वाले मापदंडों में चलती औसत चक्र, व्यापारिक विविधता, लाभ लेने और स्टॉप लॉस अनुपात आदि शामिल हैं। जोखिमों को कम करने के लिए व्यापक परीक्षण की आवश्यकता है।
इस रणनीति का चलती औसत क्रॉसओवर विचार सरल और व्यावहारिक है। इसे निम्नलिखित तरीकों से अनुकूलित किया जा सकता हैः
इन अनुकूलन परीक्षणों के माध्यम से, रणनीति के व्यावहारिक प्रभाव और स्थिरता में काफी सुधार किया जा सकता है।
मूविंग एवरेज क्रॉसओवर रणनीति का विचार सरल है, लेकिन व्यावहारिक अनुप्रयोग के लिए निरंतर अनुकूलन की आवश्यकता होती है। यह रणनीति ट्रेडिंग सिग्नल और बुनियादी ट्रेडिंग नियमों को उत्पन्न करने का तर्क देती है। इस आधार पर, इसे एक उपयोगी मात्रात्मक रणनीति बनने के लिए काफी अनुकूलित किया जा सकता है। मूविंग एवरेज के अनुप्रयोग से हमें रणनीतियों के लिए विचार भी मिलते हैं, जिसके आधार पर हम नवाचार और सुधार कर सकते हैं।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Cross by MarketAlpha", overlay=true) EMAfastLength = input(defval = 9, minval = 2) EMAslowLength = input(defval = 26, minval = 2) Targetpercentage = input(defval = 0.15, title = "Profit Target in percentage", minval = 0.05) StopLosspercentage = input(defval = 0.20, title = "Stop Loss in percentage", minval = 0.05) profitpoints = close*Targetpercentage stoplosspoints = close*StopLosspercentage price = close FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2000) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" emafast = ema(price, EMAfastLength) emaslow = sma(price, EMAslowLength) plot(emafast,color=green) plot(emaslow,color=red) enterLong() => crossover(emafast, emaslow) strategy.entry(id = "MarketAlpha Long", long = true, when = window() and enterLong()) strategy.exit("Exit Long", from_entry = "MarketAlpha Long", profit = profitpoints,loss = stoplosspoints) enterShort() => crossunder(emafast, emaslow) strategy.entry(id = "MarketAlpha Short", long = false, when = window() and enterShort()) strategy.exit("Exit Short", from_entry = "MarketAlpha Short", profit = profitpoints,loss = stoplosspoints)