यह रणनीति मुख्य रूप से वर्तमान दिन के लिए समर्थन और प्रतिरोध स्तर के रूप में पिछले ट्रेडिंग दिन की उच्च, निम्न और बंद कीमतों का उपयोग करती है। जब प्रतिरोध स्तर टूट जाता है तो यह लंबा हो जाता है और जब समर्थन स्तर बैकटेस्ट किया जाता है तो यह छोटा हो जाता है। यह एक विशिष्ट ब्रेकआउट रणनीति से संबंधित है।
कोड पहले समर्थन और प्रतिरोध स्तरों की गणना करने के लिए एक फ़ंक्शन calculateSupportResistance को परिभाषित करता है, जो पिछले ट्रेडिंग दिन की उच्च, निम्न और बंद कीमतों को वर्तमान दिन के समर्थन और प्रतिरोध स्तरों के रूप में निकालता है।
तो मुख्य तर्क में, इस फ़ंक्शन इन तीन मूल्य स्तरों को प्राप्त करने और उन्हें प्लॉट करने के लिए कहा जाता है।
बैकटेस्टिंग लॉजिक में, यदि बंद मूल्य पिछले दिन के निचले स्तर से कम है, जबकि वर्तमान मूल्य उस निम्न स्तर से अधिक है, तो यह एक ब्रेकआउट बनाता है, यह लंबा जाता है। यदि बंद मूल्य पिछले दिन के उच्च स्तर से अधिक है, जबकि वर्तमान मूल्य उस उच्च स्तर से कम है, तो यह एक ब्रेकआउट बनाता है, यह छोटा हो जाता है।
इस ब्रेकआउट मॉडल के माध्यम से, प्रवृत्ति का न्याय और ट्रेडिंग संकेतों का उत्पादन लागू किया जाता है।
पिछले ट्रेडिंग दिनों के डेटा का उपयोग वर्तमान दिन के समर्थन और प्रतिरोध स्तरों का निर्माण करने के लिए करें, पैरामीटर अनुकूलन समस्या से बचें
समर्थन और प्रतिरोध स्तर वास्तविक बाजार व्यापार डेटा से आते हैं, कुछ संदर्भ मूल्य के साथ
सरल और सीधा बैकटेस्टिंग मॉडल, समझने और लागू करने में आसान
समर्थन और प्रतिरोध के स्तरों का दृश्य प्रदर्शन कीमतों की धारणा बनाता है
ब्रेकआउट की वास्तविक समय की निगरानी, समय पर ट्रेडिंग के अवसरों का पता लगाना
समर्थन और प्रतिरोध स्तर समय के साथ बदलते हैं, वैधता निर्धारित करना मुश्किल है
रुझान की दिशा का अनुमान लगाने में असमर्थता, अनुपलब्ध उलटफेर का जोखिम
झूठे ब्रेकआउट से आसानी से प्रभावित, समय से पहले प्रवेश का जोखिम
ब्रेकआउट की निरंतरता निर्धारित करने में असमर्थ, प्रारंभिक स्टॉप लॉस की संभावना
भारी बाजार उतार-चढ़ाव के तहत व्यक्तिगत समर्थन और प्रतिरोध विफलता की अधिक संभावना है
विरोधी उपाय:
ब्रेकआउट की वैधता का आकलन करने के लिए अधिक कारकों का संयोजन करें
रुझानों को पकड़ने के लिए स्टॉप लॉस रेंज का उचित विस्तार करें
बैचों में खुले पद, व्यक्तिगत उतार-चढ़ाव के प्रभाव को कम करें
स्तर निर्धारित करने के लिए 5 दिन, 10 दिन लाइनों की तरह और अधिक ऐतिहासिक डेटा जोड़ें
ब्रेकआउट वैधता का न्याय करने के लिए वॉल्यूम जैसे अन्य संकेतक शामिल करें
वास्तविक अस्थिरता के आधार पर स्टॉप लॉस सेट करें
पूंजी प्रबंधन को अनुकूलित करना, एकल हानि को नियंत्रित करना
कुल मिलाकर यह एक विशिष्ट ब्रेकआउट रणनीति है, सरल और सहज ज्ञान युक्त है। पिछले दिन के डेटा के साथ वर्तमान दिन के समर्थन और प्रतिरोध का निर्माण करके और लंबे / छोटे के लिए उन स्तरों के ब्रेकआउट का बैकटेस्टिंग करके। पेशेवरों को समझना और सीधे स्तरों को देखने में आसान है; विपक्ष झूठे ब्रेकआउट जोखिम और दृढ़ता की अनिश्चितता हैं। अगले कदम ब्रेकआउट वैधता में सुधार, जोखिमों को नियंत्रित करना, पूंजी प्रबंधन को अनुकूलित करना आदि हैं।
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Support and Resistance with Backtesting", overlay=true) // Function to calculate support and resistance levels calculateSupportResistance() => highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on) lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on) closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on) [highPrevDay, lowPrevDay, closePrevDay] // Call the function to get support and resistance levels [supResHigh, supResLow, supResClose] = calculateSupportResistance() // Plotting support and resistance levels plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High") plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low") plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close") // Backtesting logic backtestCondition = close[1] < supResLow and close > supResLow strategy.entry("Long", strategy.long, when=backtestCondition) // Plotting buy/sell arrows for backtesting plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)