यह एक विशिष्ट चलती औसत क्रॉसओवर ट्रेडिंग रणनीति है। यह ट्रेडिंग संकेतों के रूप में तेज और धीमी गति से चलती औसत के क्रॉसओवर बिंदुओं का उपयोग करता है। जब तेजी से चलती औसत नीचे से धीमी गति से चलती औसत से ऊपर पार करती है, तो इसे खरीद संकेत माना जाता है। जब तेजी से चलती औसत ऊपर से धीमी गति से चलती औसत से नीचे पार करती है, तो इसे बिक्री संकेत माना जाता है। यह रणनीति दो चलती औसत को जोड़ती है और प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकती है और रुझानों की पहचान कर सकती है।
इस रणनीति के मुख्य चरण इस प्रकार हैंः
तेजी से चलती औसत अवधि fastMA और धीमी गति से चलती औसत अवधि slowMA सेट करें।
इनपुट प्रकार प्रकार के आधार पर तेजी से चलती औसत तेजी से और धीमी गति से चलती औसत धीमी गति से गणना करें। प्रकार = 1 सरल चलती औसत है, प्रकार = 2 घातीय चलती औसत है।
सेट बैकटेस्ट समय सीमा शुरू और समाप्त करें.
क्रॉसओवर फंक्शन को परिभाषित करें: जब तेज धीमी से ऊपर जाता है, तो खरीद संकेत उत्पन्न करता है; जब तेज धीमी से नीचे जाता है, तो बिक्री संकेत उत्पन्न करता है।
जब क्रॉसओवर फ़ंक्शन ट्रिगर हो जाता है, तो यदि बैकटेस्ट समय सीमा के भीतर, तो ओपन लॉन्ग या क्लोज शॉर्ट ऑर्डर जारी करें।
जब बैकटेस्ट विंडो समाप्त हो जाती है या क्रॉसओवर फ़ंक्शन नीचे पार हो जाता है, तो बंद करने का आदेश जारी करें।
तेजी से चलती औसत तेजी से और धीमी गति से चलती औसत धीमी गति से ग्राफ करें।
यह रणनीति होल्डिंग अवधि के भीतर प्रवृत्ति निर्धारित करने और तदनुसार ट्रेडिंग संकेत उत्पन्न करने के लिए तेज और धीमी गति से चलती औसत के क्रॉसओवर का उपयोग करती है। बैकटेस्ट समय विंडो वास्तविक ट्रेडिंग का अनुकरण करती है।
इस रणनीति के फायदे:
चलती औसत रुझानों को निर्धारित करने और यादृच्छिक उतार-चढ़ावों को फ़िल्टर करने में प्रभावी हैं।
तेज और धीमे चलती औसत का संयोजन रुझान परिवर्तनों की पहचान कर सकता है।
चलती औसत के मापदंडों को विभिन्न अवधि के रुझानों के अनुकूल समायोजित किया जा सकता है।
सरल और घातीय चलती औसत के बीच लचीला विकल्प।
बैकटेस्ट कार्यक्षमता रणनीति मापदंडों का परीक्षण और अनुकूलन करने की अनुमति देती है।
सरल और स्पष्ट तर्क, समझने और लागू करने में आसान।
चलती औसत चार्ट बनाने से रुझानों और प्रभावों का दृश्य निर्धारण हो सकता है।
इस रणनीति के कुछ जोखिमः
सीमा-सीमित अवधि के दौरान झूठे संकेत उत्पन्न कर सकता है।
मूविंग एवरेज में लेगिंग इफेक्ट होता है, यह मोड़ बिंदुओं को मिस कर सकता है।
केवल चलती औसत क्रॉसओवर पर निर्भर करता है, कोई अन्य संकेतक या फ़िल्टर नहीं।
व्यापार लागतों को ध्यान में नहीं रखता है।
कोई स्टॉप लॉस रणनीति नहीं।
अनुचित पैरामीटर सेटिंग्स रणनीति के प्रदर्शन को प्रभावित कर सकती हैं।
बैकटेस्ट समय सीमा का अनुचित चयन ओवरफिटिंग का कारण बन सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
संकेतों की पुष्टि करने और सटीकता में सुधार के लिए एमएसीडी, आरएसआई जैसे अन्य संकेतक जोड़ें।
एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस रणनीति जोड़ें।
विभिन्न अवधियों के लिए चलती औसत मापदंडों का अनुकूलन करें।
बाजार स्थितियों के आधार पर स्थिति आकार जोड़ें।
ट्रेडिंग लागतों पर विचार करें, प्रवेश और निकास बिंदुओं को समायोजित करें।
ओवरफिटिंग से बचने के लिए लंबे समय तक परीक्षण करें।
निरंतर पैमाना अनुकूलन आगे विश्लेषण का उपयोग करके चलता है।
चलती औसत क्रॉसओवर रणनीति एक सरल और व्यावहारिक प्रवृत्ति के बाद की रणनीति है। यह यादृच्छिक उतार-चढ़ाव को फ़िल्टर कर सकती है और प्रवृत्ति की दिशाओं की पहचान कर सकती है। लेकिन इसमें कुछ समस्याएं भी हैं जैसे कि लागिंग प्रभाव, और इसे अन्य संकेतकों के साथ जोड़ा जाना चाहिए। निरंतर अनुकूलन और परीक्षण रणनीति प्रदर्शन में सुधार कर सकते हैं और इसे लाइव ट्रेडिंग के लिए अधिक विश्वसनीय बना सकते हैं। कुल मिलाकर, यह रणनीति प्रवृत्ति निर्धारण के लिए अपेक्षाकृत कम आवश्यकताओं वाले निवेशकों के लिए उपयुक्त है।
/*backtest start: 2023-09-13 00:00:00 end: 2023-09-20 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // strategy("MavCrossover v2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) // Revision: 1 // Author: @ToS_MavericK // === INPUT SMA === fastMA = input(defval = 13, title = "FastMA", minval = 1, step = 1) slowMA = input(defval = 144, title = "SlowMA", minval = 1, step = 1) Type = input(defval = 1, title = "Type (1 = SMA, 2 = EMA)", minval = 1, maxval = 2, step = 1) SlowMAIsFactor = input(false) slowMA := SlowMAIsFactor == true ? round(fastMA * slowMA) : slowMA // === INPUT BACKTEST RANGE === FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromYear = input(defval = 2018, title = "From Year", minval = 2012) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToYear = input(defval = 2020, title = "To Year", minval = 2012) // === FUNCTION EXAMPLE === 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" // === MA SETUP === fast = Type == 1 ? sma(close, fastMA) : ema(close, fastMA) slow = Type == 1 ? sma(close, slowMA) : ema(close, slowMA) // === EXECUTION === strategy.entry("L", strategy.long, when = crossover(fast, slow) and window()) // buy long when "within window of time" AND crossover strategy.close("L", when = crossunder(fast, slow) or time > finish) // sell long when window ends OR crossunder plot(fast, title = 'FastMA', color = yellow, linewidth = 2, style = line) // plot FastMA plot(slow, title = 'SlowMA', color = aqua, linewidth = 2, style = line) // plot SlowMA