यह ब्रेकआउट सिद्धांत पर आधारित एक लंबी/लघु मात्रात्मक ट्रेडिंग रणनीति है। यह पिछले 100 ट्रेडिंग दिनों में उच्चतम क्लोजर मूल्य की गणना करता है और यह निर्धारित करता है कि क्या ब्रेकआउट उस स्तर से अधिक है। यदि ब्रेकआउट का पता लगाया जाता है, तो एक लंबा संकेत ट्रिगर किया जाता है। लंबे समय में प्रवेश करने के बाद, स्थिति को 25 बार के बाद स्टॉप लॉस द्वारा बंद कर दिया जाएगा।
इस रणनीति का मूल तर्क तकनीकी विश्लेषण में
विशेष रूप से इस रणनीति पाइन स्क्रिप्ट अंतर्निहित समारोह का उपयोग करता हैta.highest()
पिछले 100 बार के दौरान उच्चतम बंद की गणना करने के लिए। यह तब तुलना करता है कि क्या वर्तमान बार की बंद कीमत उस स्तर से अधिक है। यदि बंद मूल्य 100 दिनों के उच्चतम बंद मूल्य को तोड़ता है और पार करता है, तो एक लंबा प्रवेश संकेत ट्रिगर किया जाता है।
एक बार लंबी स्थिति में प्रवेश करने के बाद, रणनीति स्थिति को बंद करने के लिए एक स्टॉप लॉस शर्त सेट करती है।ta.barssince()
लंबे समय में प्रवेश करने के बाद से बार्स की संख्या गिनने के लिए, यह 25 बार के बाद स्थिति को बंद करने के लिए मजबूर करेगा।
प्रविष्टि तर्क को इस प्रकार संक्षेप में प्रस्तुत किया जा सकता हैः
इस रणनीति का सबसे बड़ा फायदा यह है कि ट्रेंड-फॉलोइंग ट्रेडों की अपेक्षाकृत उच्च सफलता दर के साथ मूल्य उलट बिंदुओं को कैप्चर किया जा सकता है। इसके अलावा, स्टॉप लॉस लॉजिक एकल ट्रेड हानि राशि को प्रभावी ढंग से नियंत्रित कर सकता है।
इसके ठोस लाभ इस प्रकार हैंः
1. प्रवृत्ति का पालन करना, सफलता की दर अधिक
ब्रेकआउट थ्योरी का मानना है कि कीमत एक महत्वपूर्ण स्तर से अधिक होने के बाद, यह एक नई प्रवृत्ति शुरू कर सकती है। यह रणनीति इस तर्क के आधार पर डिज़ाइन की गई है, इसलिए कीमत उलट बिंदुओं को पकड़ने और प्रवृत्ति-अनुसरण से लाभान्वित होने की अपेक्षाकृत उच्च संभावना के साथ।
2. रोक हानि के साथ नियंत्रित जोखिम
यह रणनीति 25 बार के बाद एक जबरन स्टॉप लॉस एक्जिट को अधिकतम एकल व्यापार हानि तक सेट करती है, जिससे भारी नुकसान से बचा जा सकता है। इसलिए समग्र जोखिम नियंत्रित है।
3. मध्यम से दीर्घ अवधि के लिए उपयुक्त
डिफ़ॉल्ट होल्डिंग अवधि 25 बार, लगभग 1 महीने है। यह आवृत्ति मध्यम से दीर्घकालिक रणनीतियों के लिए उपयुक्त है, whipsaws के लिए बहुत कम नहीं है, और जोखिम बढ़ाने के लिए बहुत लंबा नहीं है।
4. कुछ मापदंड, अनुकूलित करने में आसान
मुख्य रूप से दो समायोज्य मापदंड हैं। कुछ मापदंडों के साथ यह परीक्षण करना और वास्तविक व्यापार के लिए इष्टतम मापदंडों को ढूंढना आसान है।
5. विभिन्न उत्पादों में स्थानांतरित करने योग्य
यह रणनीति कुछ उत्पादों के विशिष्ट संकेतकों पर उत्तर नहीं देती है। इसका तर्क शेयरों, विदेशी मुद्रा, वस्तुओं, क्रिप्टोकरेंसी आदि पर लागू होता है। इसलिए यह उत्पादों के बीच स्विच करने के लिए लचीला है।
हालांकि इस रणनीति के कुछ फायदे हैं, लेकिन वास्तविक व्यापार में इसका उपयोग करते समय कुछ जोखिम भी हैं, मुख्य रूप सेः
1. खोने वाली स्थिति रखने का जोखिम
लाभदायक पदों का अनुसरण करने के लिए रणनीति में ट्रेलिंग स्टॉप लॉस नहीं है। यदि मूल्य प्रवृत्ति अपेक्षित रूप से आगे नहीं बढ़ती है, या ब्रेकआउट गलत ब्रेकआउट साबित होता है, तो पूर्व-सेट स्टॉप लॉस बिंदु पर जबरन निकास से बड़ा नुकसान हो सकता है। यह सबसे बड़ा जोखिम है।
2. पैरामीटर ट्यूनिंग की आवश्यकता हो सकती है
डिफ़ॉल्ट पैरामीटर इष्टतम नहीं हो सकते हैं. उन्हें विशिष्ट उत्पाद और बाजार व्यवस्थाओं के लिए सबसे अच्छा फिट खोजने के लिए लाइव ट्रेडिंग के दौरान अनुकूलित करने की आवश्यकता है. इससे अतिरिक्त काम जोड़ा जाता है.
3. बाजारों के साथ प्रदर्शन सहसंबंध
यह रणनीति निरंतर मूल्य रुझानों पर बहुत अधिक निर्भर करती है। यह रेंज-बाउंड व्यवस्थाओं के दौरान अच्छी तरह से काम नहीं करती है। यदि विप्सॉ बाजारों का सामना किया जाता है, तो जबरन बाहर निकलना अक्सर अस्थिर लाभ / नुकसान का कारण बनता है।
इस रणनीति को अधिक मजबूत और वास्तविक तैनाती के लिए लाभदायक बनाने के लिए, निम्नलिखित पहलुओं से कुछ सुधार किए जा सकते हैंः
1. ट्रेलिंग स्टॉप लॉस तंत्र जोड़ें
लाभदायक पदों का अनुसरण करने के लिए ट्रेलिंग स्टॉप लॉस लॉजिक जोड़ें, फ्लोटिंग मुनाफे के आधार पर गतिशील रूप से स्टॉप लॉस बिंदु को अपडेट करके। यह एकल ट्रेडों के अधिकतम नुकसान को सीमित कर सकता है।
2. बाजारों पर आधारित अनुकूलन पैरामीटर
बाजार की ताकत के आधार पर ब्रेकआउट अवधि और होल्डिंग अवधि जैसे मापदंडों को अनुकूलित करें, एटीआर जैसे मीट्रिक का उपयोग करके मात्रात्मक रूप से समायोजित करें। यह गतिशील रूप से मापदंडों को समायोजित कर सकता है।
**3. ट्रेंड फ़िल्टर को मिलाएं **
रणनीति लागू करते समय अनिश्चित रुझानों का बेहतर फ़िल्टरिंग, पूर्व में रुझान विश्लेषण के माध्यम से, या तो विवेकपूर्ण या मात्रात्मक रूप से। केवल एक स्पष्ट प्रवृत्ति देखने पर ट्रेड करें।
4. विभिन्न उत्पादों और अंतराल पर परीक्षण
विभिन्न उत्पादों (उदाहरण के लिए सूचकांक, कमोडिटी, विदेशी मुद्रा, क्रिप्टो) और अंतराल (उदाहरण के लिए दैनिक, 60m बार) पर अनुकूलित मापदंडों और नियमों का परीक्षण करने से यह रणनीति अधिक मजबूत और व्यापक रूप से लागू होगी।
स्टॉप लॉस के साथ यह ब्रेकआउट रिवर्स रणनीति ट्रेंड पहचान और स्थिति प्रबंधन पर स्पष्ट नियमों के साथ लागू करना आसान है। हम इसकी ताकत और जोखिमों का विश्लेषण करते हैं, इसकी लाभप्रदता और प्रयोज्य को बढ़ाने के लिए सुझाव प्रदान करते हैं। आगे अनुकूलन के साथ, यह एक ठोस मात्रात्मक ट्रेडिंग रणनीति बन सकती है।
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © All_Verklempt //@version=5 strategy("Breakout Strategy", overlay=true) // Input variable for breakout period breakoutPeriod = input.int(100, title="Breakout Period", minval=1) // Calculate the highest close of the past breakout period highestClose = ta.highest(close, breakoutPeriod) // Input variables for start and end dates startYear = input.int(2022, title="Start Year", minval=1900) startMonth = input.int(1, title="Start Month", minval=1, maxval=12) startDay = input.int(1, title="Start Day", minval=1, maxval=31) endYear = input.int(2023, title="End Year", minval=1900) endMonth = input.int(12, title="End Month", minval=1, maxval=12) endDay = input.int(31, title="End Day", minval=1, maxval=31) // Convert start and end dates to timestamp startDate = timestamp(startYear, startMonth, startDay, 00, 00) endDate = timestamp(endYear, endMonth, endDay, 23, 59) // Entry condition: Breakout and higher close within the specified date range enterLong = close > highestClose[1] and close > close[1] // Exit condition: Close the long position after twenty-five bars exitLong = ta.barssince(enterLong) >= 25 // Strategy logic if (enterLong) strategy.entry("Long", strategy.long) if (exitLong) strategy.close("Long")