दो मूविंग एवरेजों के अंतर पर आधारित ट्रेडिंग रणनीति
अवलोकन
यह रणनीति दो मूविंग एवरेज के अंतर पर आधारित ट्रेडिंग सिग्नल उत्पन्न करती है। यह तेज़ चक्र और धीमे चक्र की दो मूविंग एवरेज की गणना करती है। जब तेज़ रेखा नीचे से ऊपर की ओर धीमी रेखा को पार करती है, तो खरीद संकेत उत्पन्न होता है; जब तेज़ रेखा ऊपर से नीचे की ओर धीमी रेखा को पार करती है, तो बिक्री संकेत उत्पन्न होता है।
सिद्धांत विश्लेषण
इस रणनीति का मुख्य तर्क दो मूविंग एवरेज SMA(len1) और SMA(len2) तथा उनके अंतर dif की गणना करना है। यहाँ len1 अल्पकालिक मूविंग एवरेज अवधि और len2 दीर्घकालिक मूविंग एवरेज अवधि को दर्शाता है। अल्पकालिक मूविंग एवरेज मूल्य परिवर्तनों पर अधिक तेज़ी से प्रतिक्रिया करता है, जबकि दीर्घकालिक मूविंग एवरेज दीर्घकालिक प्रवृत्ति को बेहतर ढंग से दर्शाता है।
जब अल्पकालिक मूविंग एवरेज नीचे से ऊपर की ओर दीर्घकालिक मूविंग एवरेज को पार करता है, तो यह दर्शाता है कि अल्पकालिक मूल्य दीर्घकालिक प्रवृत्ति से अधिक बढ़ने लगा है, और तब खरीदा जा सकता है; जब यह ऊपर से नीचे की ओर दीर्घकालिक मूविंग एवरेज को पार करता है, तो यह दर्शाता है कि अल्पकालिक मूल्य दीर्घकालिक प्रवृत्ति से कम होने लगा है, और तब बेचा जा सकता है।
गलत संकेतों को कम करने के लिए, रणनीति में ट्रेडिंग सिग्नल लाइन के रूप में out3 को शामिल किया गया है। out3 अल्पकालिक मूविंग एवरेज और मूल्य के मध्य मान के अंतर का SMA चिकनाईकरण है। केवल जब out3 dif को पार करता है तब ट्रेडिंग सिग्नल उत्पन्न होता है।
विशेष रूप से, long चर out3 के dif को ऊपर की ओर पार करने पर सकारात्मक होता है, जो खरीद संकेत है; short चर out3 के dif को नीचे की ओर पार करने पर नकारात्मक होता है, जो बिक्री संकेत है। strategy.entry long संकेत के अनुसार खरीद ऑर्डर उत्पन्न करता है, और strategy.close short संकेत के अनुसार बिक्री बंद करने का ऑर्डर उत्पन्न करता है।
लाभ विश्लेषण
यह एक बहुत ही सरल और सहज प्रवृत्ति अनुसरण रणनीति है। यह दो अलग-अलग मूविंग एवरेज अवधियों के क्रॉसओवर का उपयोग करके प्रवृत्ति परिवर्तन बिंदुओं को पकड़ती है, जो एकल मूविंग एवरेज प्रणाली की तुलना में अधिक विश्वसनीय हो सकती है। और ट्रेडिंग सिग्नल लाइन फिल्टर को शामिल करने से अस्थिर बाजार में उत्पन्न झूठे संकेतों से कुछ हद तक बचा जा सकता है।
मूविंग स्टॉप लॉस जैसे तरीकों की तुलना में, यह प्रवृत्ति अनुसरण की अवधारणा का उपयोग करती है, जिससे अधिकतम लाभ कमाया जा सकता है और प्रवृत्ति लंबी होने पर स्टॉप लॉस द्वारा बाहर नहीं किया जाता। साथ ही यह घाटे को नियंत्रित करती है और प्रवृत्ति के उलटने पर समय पर स्थिति बंद कर देती है।
इस रणनीति में कम पैरामीटर हैं, इसे समझना और समायोजित करना आसान है, और यह एल्गोरिथम ट्रेडिंग सीखने वाले शुरुआती लोगों के लिए एक अच्छी प्रारंभिक रणनीति है।
जोखिम और सुधार
इस रणनीति का सबसे बड़ा जोखिम दो मूविंग एवरेज की अवधि मापदंडों के अनुचित होने से गलत ट्रेडिंग सिग्नल उत्पन्न होना है। यदि अल्पकालिक मूविंग एवरेज अवधि len1 बहुत लंबी है, तो प्रवृत्ति के शुरुआती चरण के अवसर चूक जाएंगे; यदि बहुत छोटी है, तो झूठे संकेतों की संभावना बढ़ जाएगी। यदि दीर्घकालिक मूविंग एवरेज len2 बहुत लंबा है, तो स्थिति समायोजन में देरी होगी; यदि बहुत छोटा है, तो बाजार की अस्थिरता से प्रभावित होने की संभावना है।
len1 और len2 के मापदंडों को समायोजित करके सर्वोत्तम संयोजन पाया जा सकता है, या अवधि को गतिशील रूप से समायोजित करने के लिए अनुकूली मूविंग एवरेज को शामिल करने का प्रयास किया जा सकता है। इसके अलावा, फ़िल्टर मापदंडों को अनुकूलित करके झूठे संकेतों को कम किया जा सकता है।
प्रवृत्ति अनुसरण रणनीतियों में प्रति ट्रेड घाटे के आकार को नियंत्रित करने पर भी ध्यान देना चाहिए; स्टॉप लॉस पॉइंट सेट करके या स्थिति प्रबंधन शामिल करके अनुकूलन किया जा सकता है।
सारांश
दो मूविंग एवरेज अंतर रणनीति एक बहुत ही विशिष्ट प्रवृत्ति अनुसरण रणनीति का प्रतिनिधित्व करती है। इसकी सरल दो मूविंग एवरेज क्रॉसओवर प्रणाली स्थिर सिग्नल स्रोत प्रदान करती है, और फ़िल्टर के साथ मिलकर बाजार की अस्थिरता से प्रभावी रूप से बचा जा सकता है। मूविंग एवरेज अवधि मापदंडों को अनुकूलित करके बेहतर रणनीति प्रदर्शन प्राप्त किया जा सकता है। यह रणनीति एल्गोरिथम ट्रेडिंग सीखने के लिए शुरुआती रणनीति के रूप में बहुत उपयुक्त है।
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")- 1

