रिवर्सल मोमेंटम ब्रेकआउट रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो मूल्य उलट और गति संकेतक का उपयोग करके ट्रेडिंग संकेत उत्पन्न करती है।
इस रणनीति का मुख्य तर्क एक निर्दिष्ट बैकवॉक विंडो (जैसे 20 दिन) के दौरान उच्चतम और निम्नतम कीमतों की गणना करके बाजार उलट बिंदुओं की पहचान करना है। विशिष्ट तर्क हैः
पिछले 20 दिनों के दौरान उच्चतम मूल्य (window_high) और निम्नतम मूल्य (window_low) की गणना करें।
यदि आज का उच्चतम पिछले 20 दिनों के उच्चतम से अधिक है (नया 20 दिन का उच्चतम), उच्च उलट निगरानी अवधि दर्ज करें और काउंटर को 5 दिनों पर सेट करें।
यदि कोई नया उच्च नहीं होता है, तो काउंटर को प्रत्येक दिन 1 से घटाएं। जब काउंटर 0 तक पहुंच जाता है, तो उच्च उलट निगरानी अवधि समाप्त हो जाती है।
सबसे कम कीमत के लिए निर्णय तर्क समान है. यदि एक नया निम्न होता है, तो निम्न उलट निगरानी अवधि दर्ज करें.
रिवर्स मॉनिटरिंग पीरियड्स के भीतर लंबी और छोटी पोजीशन ली जाती हैं। प्रमुख रिवर्स पॉइंट्स के पास रिवर्स सिग्नल बड़ी चाल को पकड़ने की अनुमति देते हैं।
यह रणनीति ऐतिहासिक आंकड़ों पर संकेत उत्पन्न करने से बचने के लिए व्यापार शुरू करने का समय भी निर्धारित करती है।
रिवर्सल मोमेंटम ब्रेकआउट रणनीति के निम्नलिखित मुख्य फायदे हैंः
रिवर्स ट्रेंड के लिए उपयुक्त रिवर्स अवसरों को कैप्चर करता है। बाजार अक्सर एक निरंतर अपट्रेंड या डाउनट्रेंड के बाद कुछ डिग्री रिवर्स दिखाते हैं। इस रणनीति का उद्देश्य इन मोड़ बिंदुओं को कैप्चर करना है।
गति संकेतक, अपेक्षाकृत संवेदनशील। एक खिड़की पर उच्चतम और निम्नतम कीमतों का ट्रैक करने से मूल्य उलटने के रुझानों और समय को संवेदनशील रूप से पहचाना जा सकता है।
रिवर्स मॉनिटरिंग पीरियड्स में झूठे संकेतों से बचा जाता है। संकेत केवल प्रमुख रिवर्स बिंदुओं के आसपास उत्पन्न होते हैं, कुछ शोर को फ़िल्टर करते हैं।
बाजार की दिशा के अनुसार लंबी और छोटी स्थिति की अनुमति देता है।
अपेक्षाकृत सरल तर्क, लागू करने में आसान मुख्य रूप से मूल्य और सरल गति संकेतक पर निर्भर करता है, कोड करने में आसान है।
इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः
गलत उल्टा होने की भविष्यवाणी। यदि बाजार दिशा में रुझान रखता है तो रणनीति में घाटा हो सकता है।
समग्र बाजार के रुझानों पर विचार नहीं किया गया है। व्यक्तिगत स्टॉक रिवर्स जरूरी नहीं कि बाजार रिवर्स का प्रतिनिधित्व करते हैं। बाजार विश्लेषण को संयुक्त किया जाना चाहिए।
संभावित रूप से बड़ी निकासी. वास्तविक उलट-पुलट के बिना निकासी बढ़ सकती है।
डेटा फिटिंग पूर्वाग्रह. प्रदर्शन बैकटेस्ट से काफी भिन्न हो सकता है.
पैरामीटर संवेदनशीलता. खिड़की अवधि, काउंटर पैरामीटर आदि स्थिरता को प्रभावित करते हैं।
संबंधित जोखिम नियंत्रण विधियों में स्टॉप लॉस को अनुकूलित करना, बाजार कारकों को शामिल करना, पैरामीटर संयोजनों को समायोजित करना और स्थिरता सत्यापित करना शामिल है।
मुख्य अनुकूलन दिशाओं में निम्नलिखित शामिल हैंः
बाजार के संकेतकों को शामिल करें। प्रतिकूल परिवेश से बचने के लिए बाजार की ताकत का आकलन करें।
बहु-कारक स्टॉक चयन. ध्वनि मौलिकता और अतिमूल्यन के साथ शेयरों का चयन करें.
पैरामीटर अनुकूलन. अनुकूलित पैरामीटर संयोजन खोजने के लिए विंडो अवधि और काउंटर पैरामीटर समायोजित करें.
अधिकतम ड्रॉडाउन को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियाँ जोड़ें, जैसे कि ट्रेलिंग स्टॉप, अस्थिरता स्टॉप।
कीमतों के उलट-फेर की मशीन लर्निंग पूर्वानुमान सटीकता को बढ़ाएं।
रिवर्सल मोमेंटम ब्रेकआउट रणनीति कीमत और गति को ट्रैक करके रिवर्सल अवसरों की पहचान करती है। यह संवेदनशील रूप से प्रतिक्रिया करती है और रिवर्सल रुझानों और समय की पहचान करती है। लेकिन इसमें ऐसे जोखिम हैं जिनके लिए उचित अनुकूलन और जोखिम नियंत्रण की आवश्यकता होती है। कुल मिलाकर, जब पूरी तरह से समझा और अनुकूलित किया जाता है, तो यह मात्रात्मक व्यापार प्रणाली का एक प्रभावी घटक बन सकता है।
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) window = input.int(20, title="New Highs and Lows Window", minval=1) decay = input.int(5, title="Decay", minval=1) startDate = input(timestamp("1 Jan 2023"), title = "Start Date") allowShort = input.bool(false, title = "Allow shorting") var int highDecayCounter = 0 var bool isHighPeriod = false var int lowDecayCounter = 0 var bool isLowPeriod = false inTradeWindow = true window_high = ta.highest(close, window) window_low = ta.lowest(low, window) // Logic for Highs if window_high > ta.highest(close, window)[1] highDecayCounter := decay isHighPeriod := true else if highDecayCounter > 0 highDecayCounter := highDecayCounter - 1 else isHighPeriod := false // Logic for Lows if window_low < ta.lowest(low, window)[1] lowDecayCounter := decay isLowPeriod := true else if lowDecayCounter > 0 lowDecayCounter := lowDecayCounter - 1 else isLowPeriod := false // Strategy Execution if inTradeWindow if isHighPeriod and highDecayCounter == decay strategy.entry("Long", strategy.long) if isHighPeriod and highDecayCounter == 0 strategy.close("Long") if isLowPeriod and lowDecayCounter == decay and allowShort strategy.entry("Short", strategy.short) if isLowPeriod and lowDecayCounter == 0 and allowShort strategy.close("Short") // Plotting plot(window_high, color=color.green) plot(window_low, color=color.red)