रिवर्स मीन्स ब्रेकथ्रू रणनीति एक बहु-कारक प्रवृत्ति उलट रणनीति है। यह ओवरबॉट और ओवरसोल्ड क्षेत्रों से मूल्य उलट अवसरों को पकड़ने के लिए चलती औसत, बोलिंगर बैंड, सीसीआई, आरएसआई और अन्य तकनीकी संकेतकों को जोड़ती है। रणनीति में वर्तमान और पिछले रुझानों के बीच विसंगतियों का पता लगाने के लिए नियमित विचलन विश्लेषण भी शामिल है, इस प्रकार झूठे ब्रेकआउट से बचा जाता है।
इस रणनीति का मूल तर्क यह है कि जब कीमतें ओवरबॉट या ओवरसोल्ड जोन से उलट जाती हैं तो उचित शॉर्ट या लॉन्ग पोजीशन लें। विशेष रूप से, रणनीति चार पहलुओं से उलट अवसरों का आकलन करती हैः
CCI सूचक या गति सूचक ओवरबॉट या ओवरसोल्ड स्थिति निर्धारित करने के लिए गोल्डन क्रॉस डेड क्रॉस सिग्नल जारी करता है।
आरएसआई सूचक यह आंकता है कि क्या यह ओवरबॉट या ओवरसोल्ड क्षेत्र में है। 65 से ऊपर ओवरबॉट और 35 से नीचे ओवरसोल्ड।
मूल्य सामान्य सीमा से विचलित होता है या नहीं यह निर्धारित करने के लिए बोलिंगर बैंड्स ऊपरी और निचले रेल का उपयोग करें। सामान्य सीमा में लौटने पर कीमतें उलट सकती हैं।
झूठे ब्रेकआउट का पीछा करने से बचने के लिए आरएसआई संकेतक के नियमित विचलन का पता लगाएं।
जब उपरोक्त शर्तें पूरी हो जाती हैं, तो रणनीति रिवर्स दिशा प्रवेश लेगी और जोखिम को नियंत्रित करने के लिए स्टॉप लॉस सेट करेगी।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह अपेक्षाकृत उच्च जीत दर के साथ उलट अवसरों का निर्धारण करने के लिए कई संकेतकों को जोड़ती है। विशेष रूप सेः
कई कारकों का प्रयोग करने से विश्वसनीयता बढ़ जाती है। केवल एक ही संकेतक पर भरोसा करने से बचें और इस प्रकार गलत आकलन को कम करें।
ट्रेंड रिवर्स में जीतने की अधिक संभावना होती है। यह एक अपेक्षाकृत विश्वसनीय ट्रेडिंग विधि है।
विचलन का पता लगाने से झूठे ब्रेकआउट का पीछा करने से बचा जाता है और प्रणालीगत जोखिम कम होता है।
स्टॉप लॉस तंत्र जोखिम को नियंत्रित करता है। एकल टिकट के नुकसान को यथासंभव कम कर सकता है।
इस रणनीति के साथ कुछ जोखिम भी हैंः
पलटाव समय बिंदु पर निर्णय की गलतियों. स्टॉप हानि को ट्रिगर किया जा सकता है. उचित रूप से स्टॉप हानि रेंज का विस्तार करें.
बोलिंगर बैंड्स पैरामीटर अनुचित रूप से सेट, असामान्य के रूप में सामान्य मूल्य कार्रवाई लेता है। पैरामीटर बाजार अस्थिरता को पूरा करना चाहिए।
व्यापार की संख्या अपेक्षाकृत अधिक हो सकती है। व्यापार की आवृत्ति को कम करने के लिए सीसीआई आदि निर्णय सीमा का उचित विस्तार करें।
दीर्घकालिक असंतुलन, यदि मापदंड ऐतिहासिक डेटा के अनुरूप हैं तो न्याय करें।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करें। कृत्रिम अनुभवजन्य त्रुटियों से बचें।
अधिक खरीदी गई और अधिक बेची गई ताकत निर्धारित करने के लिए शेल सूचकांक, व्याप्ति सूचकांक आदि को बढ़ाएं।
रिवर्सल विश्वसनीयता निर्धारित करने के लिए ट्रेडिंग वॉल्यूम संकेतक जोड़ें, जैसे वॉल्यूम, ओपन इंटरेस्ट आदि।
बाजार की भावना को मापने के लिए ब्लॉकचेन डेटा को शामिल करें। रणनीति अनुकूलन क्षमता में सुधार करें।
बाजार की अस्थिरता के आधार पर अनुकूलन स्टॉप लॉस तंत्र की शुरूआत करना।
रिवर्स मीडियन ब्रेकथ्रू रणनीति रिवर्स ट्रेडों को निर्धारित करने के लिए कई संकेतकों को एकीकृत करती है। उचित जोखिम नियंत्रण के साथ, इसमें अपेक्षाकृत बड़ी जीत दर है। रणनीति आगे अनुकूलन के लिए जगह के साथ व्यावहारिक है। उचित पैरामीटर ट्यूनिंग के साथ, इसे काफी आदर्श परिणाम देना चाहिए।
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='BroTheJo Strategy', shorttitle='BTJ INV', overlay=true) // Input settings stopLossInPips = input.int(10, minval=0, title='Stop Loss (in Pips)') ccimomCross = input.string('CCI', 'Entry Signal Source', options=['CCI', 'Momentum']) ccimomLength = input.int(10, minval=1, title='CCI/Momentum Length') useDivergence = input.bool(false, title='Find Regular Bullish/Bearish Divergence') rsiOverbought = input.int(65, minval=1, title='RSI Overbought Level') rsiOversold = input.int(35, minval=1, title='RSI Oversold Level') rsiLength = input.int(14, minval=1, title='RSI Length') plotMeanReversion = input.bool(true, 'Plot Mean Reversion Bands on the chart') emaPeriod = input(200, title='Lookback Period (EMA)') bandMultiplier = input.float(1.6, title='Outer Bands Multiplier') // CCI and Momentum calculation momLength = ccimomCross == 'Momentum' ? ccimomLength : 10 mom = close - close[momLength] cci = ta.cci(close, ccimomLength) ccimomCrossUp = ccimomCross == 'Momentum' ? ta.cross(mom, 0) : ta.cross(cci, 0) ccimomCrossDown = ccimomCross == 'Momentum' ? ta.cross(0, mom) : ta.cross(0, cci) // RSI calculation src = close up = ta.rma(math.max(ta.change(src), 0), rsiLength) down = ta.rma(-math.min(ta.change(src), 0), rsiLength) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down) oversoldAgo = rsi[0] <= rsiOversold or rsi[1] <= rsiOversold or rsi[2] <= rsiOversold or rsi[3] <= rsiOversold overboughtAgo = rsi[0] >= rsiOverbought or rsi[1] >= rsiOverbought or rsi[2] >= rsiOverbought or rsi[3] >= rsiOverbought // Regular Divergence Conditions bullishDivergenceCondition = rsi[0] > rsi[1] and rsi[1] < rsi[2] bearishDivergenceCondition = rsi[0] < rsi[1] and rsi[1] > rsi[2] // Mean Reversion Indicator meanReversion = plotMeanReversion ? ta.ema(close, emaPeriod) : na stdDev = plotMeanReversion ? ta.stdev(close, emaPeriod) : na upperBand = plotMeanReversion ? meanReversion + stdDev * bandMultiplier : na lowerBand = plotMeanReversion ? meanReversion - stdDev * bandMultiplier : na // Entry Conditions prevHigh = ta.highest(high, 1) prevLow = ta.lowest(low, 1) shortEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition) and (prevHigh >= meanReversion) and (prevLow >= meanReversion) longEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition) and (prevHigh <= meanReversion) and (prevLow <= meanReversion) // Plotting oldShortEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition) oldLongEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition) plotshape(oldLongEntryCondition, title='BUY', style=shape.triangleup, text='B', location=location.belowbar, color=color.new(color.lime, 0), textcolor=color.new(color.white, 0), size=size.tiny) plotshape(oldShortEntryCondition, title='SELL', style=shape.triangledown, text='S', location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny) // Strategy logic if (longEntryCondition) stopLoss = close - stopLossInPips strategy.entry("Buy", strategy.long) strategy.exit("exit", "Buy", stop=stopLoss) if (shortEntryCondition) stopLoss = close + stopLossInPips strategy.entry("Sell", strategy.short) strategy.exit("exit", "Sell", stop=stopLoss) // Close all open positions when outside of bands closeAll = (high >= upperBand) or (low <= lowerBand) if (closeAll) strategy.close_all("Take Profit/Cut Loss") // Plotting plot(upperBand, title='Upper Band', color=color.fuchsia, linewidth=1) plot(meanReversion, title='Mean', color=color.gray, linewidth=1) plot(lowerBand, title='Lower Band', color=color.blue, linewidth=1)