चलती औसत क्रॉसओवर रणनीति सरल चलती औसत (एसएमए) पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। यह विभिन्न अवधि एसएमए क्रॉसओवर होने पर खरीद और बिक्री संकेत उत्पन्न करती है।
विशेष रूप से, यह रणनीति 9-अवधि और 45-अवधि एसएमए की गणना करती है। जब कीमत दोनों एसएमए लाइनों से ऊपर जाती है, तो एक खरीद संकेत उत्पन्न होता है। जब कीमत दोनों लाइनों से नीचे जाती है, तो एक बिक्री संकेत ट्रिगर होता है।
इस रणनीति का मूल तर्क चलती औसत के
विशेष रूप से, यह रणनीति 9-अवधि और 45-अवधि सरल चलती औसत का उपयोग करती है। 9-अवधि रेखा अल्पकालिक रुझानों का प्रतिनिधित्व करती है जबकि 45-अवधि रेखा दीर्घकालिक आंदोलनों को पकड़ती है। जब कीमत दोनों एसएमए लाइनों के ऊपर पार करती है, तो यह इंगित करती है कि कीमत दोनों अल्पकालिक और दीर्घकालिक दोनों ऊपर की ओर चैनल में है, इस प्रकार एक लंबी प्रविष्टि को ट्रिगर करती है। विपरीत क्रॉसओवर कमजोर अपसाइड गति का सुझाव देता है और निकास संकेतों को प्रेरित करता है।
कोड परिप्रेक्ष्य से, रणनीति पहले 9-अवधि और 45-अवधि एसएमए मूल्यों की गणना करती है। फिर यह दो एमए लाइनों के बीच स्वर्ण क्रॉस और मृत क्रॉस का पता लगाने के लिए ta.crossover और ta.crossunder फ़ंक्शन का उपयोग करती है। जब खरीद और बिक्री संकेत ट्रिगर किए जाते हैं, तो प्लॉटशेप फ़ंक्शन मूल्य चार्ट पर त्रिकोण और उलटे त्रिकोण खींचते हैं।
इसके अतिरिक्त, व्यापार निकास को प्रबंधित करने के लिए स्टॉप-लॉस तर्क लागू किया जाता है। विशेष रूप से, पिछले बार की उच्च और निम्न कीमतों को नए ट्रेडों को खोलने के बाद स्टॉप-लॉस मूल्य के रूप में निकाला जाता है। इससे रणनीति को लाभ में लॉक करने और भारी नुकसान को रोकने की अनुमति मिलती है।
दोहरी चलती औसत सेटअप अल्पकालिक शोर को फ़िल्टर करते हुए मध्यम से दीर्घकालिक रुझान शिफ्ट को कैप्चर करता है, जिससे सिग्नल की गुणवत्ता में सुधार होता है।
स्टॉप-लॉस तंत्र जोखिमों और मुनाफे में ताले को प्रभावी ढंग से नियंत्रित करता है।
सरल और लागू करने में आसान तर्क, शुरुआती लोगों के लिए उपयुक्त।
संयुग्मित लाभ के लिए उच्च पूंजी उपयोग।
डबल एमए रणनीतियाँ अस्थिर बाजारों के दौरान झटके और अमान्य संकेत उत्पन्न करती हैं।
रूढ़िवादी स्टॉप लॉस प्लेसमेंट प्रभावी रूप से रुझानों को ट्रैक करने में असमर्थ।
अपर्याप्त पैरामीटर चयन से ओवरट्रेडिंग या अपर्याप्त ट्रेडिंग आवृत्ति हो सकती है।
प्रचंड रुझानों के उलट-पुलट के अनुकूल होने में असमर्थ।
समाधान:
झूठे संकेतों को कम करने के लिए एमए मापदंडों का अनुकूलन करें
प्रवृत्ति के अनुसार गतिशील रुकावटें लागू करें
अन्य संकेतक का उपयोग करके फ़िल्टर जोड़ें
प्रमुख उलट के आसपास मैनुअल ओवरराइड
रणनीति में और सुधारः
रुझानों को बेहतर ढंग से पकड़ने के लिए अनुकूलन या घातीय एमए का प्रयोग करें।
अस्थिरता फ़िल्टर जोड़ें ताकि बाजारों के दौरान झूठे संकेतों से बचा जा सके।
सर्वोत्तम पैरामीटर संयोजनों के लिए पैरामीटर अनुकूलन करें.
स्टॉप-लॉस लॉजिक में ट्रेंड-फॉलोइंग तंत्र को शामिल करें।
प्रमुख स्तरों के आसपास संकेतों से बचने के लिए समर्थन-प्रतिरोध विश्लेषण जोड़ें।
सिग्नल की गुणवत्ता को फ़िल्टर करने के लिए मशीन लर्निंग का लाभ उठाएं।
चलती औसत क्रॉसओवर प्रणाली एक सरल लेकिन प्रभावी प्रवृत्ति अनुसरण दृष्टिकोण है। शोर को फ़िल्टर करके और मध्य अवधि के रुझानों को ट्रैक करके, यह गुणवत्ता संकेत उत्पन्न करता है। उचित स्टॉप लॉस के साथ, यह जोखिम-प्रबंधित प्रवृत्ति व्यापार को सक्षम करता है। सरल तर्क भी इसे शुरुआती लोगों के लिए व्यवहार में लाने के लिए आदर्श बनाता है। आगे के अनुकूलन इस रणनीति को समग्र मात्रा प्रणालियों के एक प्रभावी घटक के रूप में एकीकृत कर सकते हैं।
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy", overlay=true) // Input parameters fast_length = input(9, title="Fast SMA Length") slow_length = input(45, title="Slow SMA Length") // Calculate moving averages fast_sma = ta.sma(close, fast_length) slow_sma = ta.sma(close, slow_length) // Buy condition buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma) // Sell condition sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma) // Calculate stop loss levels prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on) prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on) // Plot signals on the chart plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy exit conditions long_stop_loss = sell_condition ? prev_low : na short_stop_loss = buy_condition ? prev_high : na strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss) strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss) strategy.entry("Long", strategy.long, when=buy_condition) strategy.entry("Short", strategy.short, when=sell_condition)