यह रणनीति एक सरल ट्रेडिंग रणनीति है जो तेजी से चलती औसत और धीमी गति से चलती औसत के क्रॉसिंग पर आधारित है। यह खरीद और बेचने के संकेत देने के लिए चलती औसत के स्वर्ण-चिकित्सक का उपयोग करता है। तेजी से चलती औसत पर धीमी गति से चलती औसत को पार करते समय, अधिक करें; तेजी से चलती औसत के नीचे धीमी गति से चलती औसत को पार करते समय, खाली करें। इस रणनीति का उद्देश्य विभिन्न आवधिक चलती औसत के बीच क्रॉसिंग का उपयोग करके मूल्य प्रवृत्ति के मोड़ को पकड़ना है, जिससे स्टॉक ट्रेडिंग की अनुमति मिलती है।
यह रणनीति मुख्य रूप से एक व्यापार संकेत के रूप में एक तेजी से एक्सपोनेंशियल मूविंग एवरेज (ईएमए) और धीमी गति से सरल मूविंग एवरेज (एसएमए) के क्रॉसिंग पर आधारित है। सबसे पहले, तेजी से ईएमए और धीमी गति से एसएमए की गणना की जाती है, तेजी से ईएमए चक्र 13 पर सेट किया जाता है, धीमी गति से एसएमए चक्र 30 पर सेट किया जाता है। फिर, जब तेजी से ईएमए धीमी गति से एसएमए से गुजरता है, तो एक मल्टी सिग्नल जारी किया जाता है; जब तेजी से ईएमए धीमी गति से एसएमए से गुजरता है, तो एक खाली सिग्नल जारी किया जाता है।
विशेष रूप से, रणनीति maFast और maSlow चर के माध्यम से तेजी से ईएमए और धीमी गति से SMA की गणना करती है। इसके बाद, यह खरीदने और बेचने के समय को निर्धारित करने के लिए enterLong और exitLong चर को परिभाषित करता है। जब maFast> maSlow, यानी तेजी से ईएमए पर धीमी गति से SMA से गुजरता है, तो enterLong=true सेट करें, और एक बहु सिग्नल जारी करें; जब maSlow> maFast, यानी तेजी से ईएमए के नीचे धीमी गति से SMA से गुजरता है, तो exitLong=true सेट करें, और एक समतल सिग्नल जारी करें। अंत में, रणनीति strategy.entry फ़ंक्शन के माध्यम से एक सिंगल स्थिति को पूरा करती है।
इस प्रकार, जब अल्पकालिक कीमतों में वृद्धि की प्रवृत्ति लंबी अवधि की प्रवृत्ति से मजबूत होती है, तो तेजी से ईएमए धीमी गति से एसएमए को पार कर खरीद संकेत उत्पन्न करता है; जब अल्पकालिक कीमतों में गिरावट की प्रवृत्ति लंबी अवधि की प्रवृत्ति से मजबूत होती है, तो तेजी से ईएमए धीमी गति से एसएमए को पार कर बिक्री संकेत उत्पन्न करता है। विभिन्न आवधिक मूल्य प्रवृत्तियों के मोड़ को पकड़कर, आप अपेक्षाकृत कम बिंदुओं पर खरीद सकते हैं और अपेक्षाकृत उच्च बिंदुओं पर बेच सकते हैं।
इस चलती औसत क्रॉसिंग रणनीति के निम्नलिखित फायदे हैंः
सरल, सरल, समझने और लागू करने में आसान। एक चलती औसत एक सामान्य और प्रभावी तकनीकी संकेतक है, जिसका क्रॉसिंग सिद्धांत सरल और सहज है। यह रणनीति को समझना और लागू करना आसान बनाता है।
उच्च लचीलापन, अनुकूलन योग्य पैरामीटर. रणनीति को अनुकूलित करने की अनुमति देता है कि कितनी बार तेजी से ईएमए और धीमी गति से एसएमए की अवधि होती है। रणनीति को अनुकूलित करने के लिए, विभिन्न बाजारों के अनुसार पैरामीटर को समायोजित किया जा सकता है।
विश्वसनीय ट्रेडिंग सिग्नल. एक चलती औसत बाजार के शोर को प्रभावी ढंग से फ़िल्टर कर सकता है, और इसके क्रॉसिंग से एक अधिक विश्वसनीय ट्रेडिंग सिग्नल उत्पन्न होता है. एक धीमी गति से औसत क्रॉसिंग बड़े रुझानों के मोड़ को पकड़ सकता है।
विभिन्न बाजार स्थितियों के लिए लागू। यह रणनीति ट्रेंडिंग बाजार और स्टॉक बाजार के लिए लागू की जा सकती है, और पैरामीटर को समायोजित करके विभिन्न स्थितियों के लिए अनुकूलित की जा सकती है।
अन्य सूचक संयोजनों के साथ उपयोग करने में आसान। एक चलती औसत क्रॉसिंग रणनीति को अन्य तकनीकी संकेतकों जैसे कि आरएसआई के साथ संयोजन में लचीला बनाया जा सकता है, जिससे एक अधिक शक्तिशाली रणनीति बनाई जा सकती है।
इस रणनीति के कुछ जोखिम भी हैं:
अधिक दुर्लभ सिग्नल उत्पन्न करना। जब बाजार की प्रवृत्ति स्पष्ट नहीं होती है, तो चलती औसत बार-बार क्रॉसिंग हो सकती है, जिससे बार-बार खरीदने और बेचने के संकेत मिलते हैं, जिससे ट्रेडिंग लागत और स्लाइड पॉइंट की हानि बढ़ जाती है।
अस्थिर बाजारों में कैद होने के लिए आसान है। जब बाजार संरेखित अस्थिरता में होते हैं, तो चलती औसत में अधिक अनिश्चितता के क्रॉस सिग्नल हो सकते हैं, जिससे झूठे व्यापारिक संकेतों का खतरा होता है।
पैरामीटर चुनने में कठिनाई। चलती औसत अवधि के पैरामीटर का चयन रणनीति के प्रभाव पर बहुत बड़ा प्रभाव डालता है। सर्वोत्तम पैरामीटर का चयन करने के लिए बहुत अधिक दोहराव परीक्षण की आवश्यकता होती है।
सिग्नल में देरी होती है। चूंकि चलती औसत स्वयं में देरी होती है, इसलिए इसका क्रॉस सिग्नल अक्सर देर से होता है, और यह सबसे अच्छा प्रवेश समय से चूक सकता है।
स्टॉप लॉस रणनीति अपूर्ण. इस रणनीति में स्टॉप लॉजिक की कमी है, जो अधिक घाटे वाली गेंदों को उत्पन्न कर सकती है.
इस चलती औसत क्रॉसिंग रणनीति को निम्नलिखित तरीकों से भी अनुकूलित किया जा सकता हैः
अन्य तकनीकी संकेतकों जैसे आरएसआई के फिल्टर सिग्नल को जोड़ने से झूठे संकेतों को कम किया जा सकता है। आरएसआई उच्च स्तर पर अधिक नहीं करता है, आरएसआई निम्न स्तर पर खाली नहीं करता है, आदि।
मिश्रित चलती औसत जोड़ें, तीन या अधिक अलग-अलग अवधि के चलती औसत की पुष्टि के संकेतों का उपयोग कर सकते हैं। उदाहरण के लिए, 50 दिन की रेखा को जोड़ने के लिए, अल्पकालिक में मध्यम और मध्यम में दीर्घकालिक पहनने के लिए।
स्टॉप-लॉस रणनीतियों को शामिल करना, जैसे कि पैरालाइट एसएआर, समय पर स्टॉप-लॉस और जोखिम नियंत्रण प्रदान कर सकता है। आप बाजार में उतार-चढ़ाव के आधार पर अनुकूलित चलती स्टॉप-लॉस भी सेट कर सकते हैं।
पैरामीटर का अनुकूलन करें, पैदल आगे विश्लेषण और मशीन सीखने जैसे तरीकों का उपयोग करके पैरामीटर का अनुकूलन करें, ताकि यह विभिन्न बाजार स्थितियों के लिए अधिक उपयुक्त हो।
घड़ी के नक्शे का संचालन, K लाइन इकाई दिशा आदि आकृति निर्णय जोड़ने, सिग्नल की गुणवत्ता में सुधार कर सकते हैं, अनावश्यक रिवर्स खोलने को कम कर सकते हैं।
परिमाणात्मकता के संकेतक, जैसे कि लेनदेन की मात्रा, झूठे टूटने से बचने में मदद करती है। परिमाणात्मकता की पुष्टि से संकेत अधिक विश्वसनीय हो सकते हैं।
एक चलती औसत क्रॉसिंग रणनीति एक सरल और व्यावहारिक मात्रात्मक ट्रेडिंग रणनीति है। यह व्यापार संकेतों को उत्पन्न करने के लिए तेजी से ईएमए और धीमी गति से एसएमए के क्रॉसिंग का उपयोग करती है। यह रणनीति लागू करने में आसान है और अन्य तकनीकी संकेतकों के साथ संयोजन में आसान है। हालांकि, इसमें कुछ कमियां भी हैं, जैसे कि लगातार व्यापार, अस्थिर बाजारों में आसानी से पकड़े जाने की संभावना। कुछ पैरामीटर और नियम अनुकूलन के माध्यम से, इस रणनीति की व्यावहारिकता और लाभप्रदता को बढ़ाया जा सकता है। कुल मिलाकर, एक चलती औसत क्रॉसिंग रणनीति को सीखने और लागू करने के लिए एक मात्रात्मक व्यापारी के लायक है।
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Moving Average Cross EMA SMA", overlay=true, initial_capital=10000, currency='USD',default_qty_type=strategy.percent_of_equity,default_qty_value=100)
// Based on strategy by lsills @ https://www.tradingview.com/script/oI8loEZ8-Moving-Average-Cross-Strategy/
// Strategy has several logic alternatives - comment out the undesired logic sections below, only 1 logic section can be active
// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval = close, title = "Fast EMA Source")
maFastLength = input(defval = 13, title = "Fast EMA Period", minval = 1)
// long Sma
maSlowSource = input(defval = close, title = "Slow SMA Source")
maSlowLength = input(defval = 30, title = "Slow SMA Period", minval = 1)
// longer Sma
maSlowerSource = input(defval = close, title = "Slower SMA Source")
maSlowerLength = input(defval = 30, title = "Slower SMA Period", minval = 1)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)
// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)
slower = plot(maSlower, title = "Slower MA", color = teal, linewidth = 2, style = line, transp = 30)
// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
enterLong = maFast> maSlow
exitLong = maSlow> maFast
// === LOGIC === Complex 1 - switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met
//enterLong = variance(maFast,maSlowLength) < 0.6 and close[0] > maFast and crossover(maFast, maSlow) and 1.1* maSlow > maSlower and rsi>rsi[2]
//exitLong = variance(maFast,maSlowLength) < 0.6 and close[0] < maSlow and crossover(maSlow, maFast) and maSlow/1.1 < maSlower and rsi<rsi[2]
// === LOGIC === Complex 2- switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met
//enterLong = maFast> maSlow and 1.1* maSlow > maSlower and rsi>rsi[1] and close > close[3] //and close > close[2]
//exitLong = maSlow> maFast and maSlow/1.1 < maSlower and rsi<rsi[1] and close < close[3] // and close < close[2]
// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)
// === FILL ====
fill(fast, slow, color = maFast > maSlow ? green : red)