इस रणनीति में बोलिंगर बैंड्स, आरएसआई संकेतक और बहु-समय-सीमा विश्लेषण शामिल हैं ताकि मध्यम से दीर्घकालिक रुझानों की दिशा को कैप्चर किया जा सके। यह कम जोखिम वाले प्रवेश के लिए आरएसआई ओवरबॉट / ओवरसोल्ड संकेतों के साथ संयुक्त बोलिंगर बैंड्स ब्रेकआउट के माध्यम से प्रवृत्ति उलट बिंदुओं की पहचान करता है। इस बीच, उच्च समय सीमाओं को बाजारों को फ़िल्टर करने और फंसने से बचने के लिए लागू किया जाता है।
मूल्य ब्रेकआउट निर्धारित करने के लिए बोलिंगर बैंड लागू करें। मध्य बैंड N दिनों में समापन मूल्य का चलती औसत है। ऊपरी और निचले बैंड को मध्य बैंड के दोनों ओर एक मानक विचलन की दूरी पर रखा जाता है। ऊपरी बैंड से ऊपर तोड़ना तेजी का संकेत देता है जबकि निचले बैंड से नीचे तोड़ना मंदी का संकेत देता है।
ओवरबॉट/ओवरसोल्ड स्तरों की पहचान करने के लिए आरएसआई संकेतक को शामिल करें। 70 से ऊपर का आरएसआई ओवरबॉट स्थितियों का सुझाव देता है जबकि 30 से नीचे की स्थिति ओवरसोल्ड स्थितियों का सुझाव देती है। 70 से ऊपर का आरएसआई अपसाइड ब्रेकआउट अपसाइड गति के कमजोर होने की पुष्टि करता है। 30 से नीचे का आरएसआई डाउनसाइड ब्रेकआउट डाउनसाइड गति के कमजोर होने की पुष्टि करता है।
झूठे ब्रेकआउट को फ़िल्टर करने के लिए उच्च समय सीमा का उपयोग करें। जब दैनिक समय सीमा पर ब्रेकआउट सिग्नल दिखाई देता है, तो फंसने से बचने के लिए 4 घंटे या उच्च समय सीमा से अतिरिक्त पुष्टि की आवश्यकता होती है।
मल्टी-इंडिकेटर एकीकरण रणनीति की स्थिरता और लाभप्रदता को बढ़ाता है।
आरएसआई को शामिल करने से झूठे ब्रेकआउट से होने वाले नुकसान को कम किया जा सकता है।
मल्टी टाइमफ्रेम विश्लेषण प्रभावी रूप से विभिन्न बाजारों को फ़िल्टर करता है और फंसने से रोकता है।
ऑप्टिमाइज्ड ब्रेकआउट सिग्नल निर्धारण (तीन लगातार बारों पर ब्रेकआउट) प्रविष्टियों से पहले पर्याप्त ट्रेंड परिपक्वता सुनिश्चित करता है।
वर्टेक्स इंडिकेटर प्रारंभिक रूप से नवोदित रुझान की दिशा निर्धारित करता है।
अपर्याप्त बोलिंगर बैंड्स पैरामीटरकरण से गलत ओवरबॉट/ओवरसोल्ड सिग्नल होते हैं।
विभिन्न उत्पादों के लिए आरएसआई पैरामीटर के उचित मानों को अलग से निर्धारित किया जाना चाहिए।
ब्रेकआउट सिग्नल झूठे ब्रेकआउट साबित हो सकते हैं। तदनुसार स्टॉप लॉस को चौड़ा करने पर विचार करें।
पर्याप्त स्टॉप लॉस मार्जिन बनाए रखें, उदाहरण के लिए 3 गुना एटीआर।
बोलिंगर बैंड और आरएसआई के लिए ऑटो-ट्यून पैरामीटर के लिए मशीन लर्निंग एल्गोरिदम लागू करें।
अस्थिरता मेट्रिक्स के आधार पर स्टॉप लॉस स्तरों का अनुकूलन करें।
परिवर्तित बाजार स्थितियों के आधार पर जोखिमों को कैलिब्रेट करने के लिए स्थिति आकार मॉड्यूल को शामिल करें।
धन प्रबंधन के सिद्धांतों के आधार पर प्रति व्यापार अधिकतम हानि को सीमित करें।
विभिन्न ट्रेडिंग सत्रों में सिग्नल की स्थिरता का मूल्यांकन करें।
यह रणनीति जोखिमों को नियंत्रित करने के लिए प्रवृत्ति निर्धारण, ओवरबॉट/ओवरसोल्ड स्थितियों और कई समय सीमाओं की व्यापक रूप से जांच करती है, जबकि आकर्षक जोखिम-लाभ प्रोफाइल के लिए उच्च गुणवत्ता वाले मध्यम से दीर्घकालिक रुझानों को पकड़ने के लिए इष्टतम प्रवेश समय की तलाश करती है। और भी बेहतर निवेश प्रदर्शन प्राप्त करने के लिए पैरामीटर अनुकूलन, स्टॉप लॉस तंत्र आदि के माध्यम से आगे के सुधारों का पता लगाया जा सकता है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m 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/ // © Noway0utstorm //@version=5 strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true) length = input(20, title="Length") mult = input(2.0, title="Multiplier") source = close basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upperBand = basis + dev lowerBand = basis - dev isClosedBar = ta.change(time("15")) var bool closeAboveUpperBand = false var bool closeBelowLowerBand = false // Vortex Indicator Settings period_ = input.int(14, title='Period', minval=2) VMP = math.sum(math.abs(high - low[1]), period_) VMM = math.sum(math.abs(low - high[1]), period_) STR = math.sum(ta.atr(1), period_) VIP = VMP / STR VIM = VMM / STR // lengthrsi = input(14, title="RSI Length") overboughtLevel = input(70, title="Overbought Level") oversoldLevel = input(30, title="Oversold Level") sourcersi = close rsiValue = ta.rsi(sourcersi, lengthrsi) shouldShort = rsiValue > overboughtLevel shouldLong = rsiValue < oversoldLevel if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3]) if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel strategy.entry("Short", strategy.short) closeAboveUpperBand := false // Reset the condition when entering a new Short position if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel strategy.entry("Long", strategy.long) closeBelowLowerBand := false // Reset the condition when entering a new Long position if strategy.position_size > 0 // Check if there is an open Long position closeAboveUpperBand := close > upperBand // Update the condition based on close price if closeAboveUpperBand strategy.close("Long",disable_alert=true) // Close the Long position if close price is above upper band if strategy.position_size < 0 // Check if there is an open Short position closeBelowLowerBand := close < lowerBand // Update the condition based on close price if closeBelowLowerBand strategy.close("Short",disable_alert=true) // Close the Short position if close price is below lower band // Plots plot(basis, color=color.orange, title="Basis") p1 = plot(upperBand, color=color.blue, title="Upper Band") p2 = plot(lowerBand, color=color.blue, title="Lower Band") fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))