रिवर्सल मीन ब्रेकआउट रणनीति


निर्माण तिथि: 2023-12-20 14:48:57 अंत में संशोधित करें: 2023-12-20 14:48:57
कॉपी: 0 क्लिक्स: 409
1
ध्यान केंद्रित करना
1237
समर्थक

रिवर्सल मीन ब्रेकआउट रणनीति

अवलोकन

रिवर्स-मीडिएट ब्रेकआउट रणनीति एक बहु-कारक संयोजन ट्रेंड रिवर्स रणनीति है। यह कई तकनीकी संकेतकों जैसे कि मूविंग एवरेज, ब्रीज बैंड, सीसीआई और आरएसआई को जोड़ती है, जिसका उद्देश्य कीमतों को ओवरबॉट और ओवरसोल्ड क्षेत्र से वापस लेने के अवसरों को पकड़ना है। यह रणनीति एक साथ एक नियमित फैलाव विश्लेषण के साथ है जो यह पता लगा सकती है कि वर्तमान प्रवृत्ति पिछले एक के साथ संगत है या नहीं, जिससे व्यापार के झूठे ब्रेकआउट से बचा जा सकता है।

रणनीति सिद्धांत

इस रणनीति का मुख्य तर्क यह है कि जब कीमतें ओवरबॉय और ओवरसोल्ड क्षेत्र से पलट जाती हैं, तो उचित रूप से ओवरबॉय किया जाता है। विशेष रूप से, रणनीति चार पहलुओं से पलटाव की संभावनाओं का आकलन करती हैः

  1. सीसीआई या गति सूचकांक, जो कि ओवरबॉट और ओवरसोल्ड को निर्धारित करने के लिए गोल्डन फोरक और डेड फोरक सिग्नल देता है।

  2. आरएसआई सूचक यह निर्धारित करता है कि क्या यह ओवरबॉय ओवरसोल्ड क्षेत्र में है। आरएसआई 65 से अधिक ओवरबॉय क्षेत्र के लिए और 35 से कम ओवरसोल्ड क्षेत्र के लिए है।

  3. यह निर्धारित करने के लिए कि क्या कीमत सामान्य क्षेत्र से बाहर है, ब्रीनिंग बैंड का उपयोग करें। जब कीमत सामान्य क्षेत्र में वापस आती है, तो यह उलट सकती है।

  4. आरएसआई सूचकांक के वास्तविक विचलन का पता लगाएं और झूठे ब्रेक का पीछा करने से बचें।

यदि उपरोक्त शर्तों को पूरा किया जाता है, तो रणनीति विपरीत दिशा में प्रवेश करती है। और जोखिम को नियंत्रित करने के लिए स्टॉप लॉस सेट करती है।

रणनीतिक लाभ

इस रणनीति का सबसे बड़ा लाभ यह है कि यह कई मापदंडों को जोड़ता है जो एक उच्च औसत जीत की संभावना को निर्धारित करते हैं। विशेष रूप से, मुख्य रूप से निम्नलिखित हैंः

  1. बहु-कारक निर्णय, उच्च विश्वसनीयता। केवल एक सूचक पर निर्भर नहीं होना, गलत निर्णय की संभावना को कम करना।

  2. रुझान उलटा व्यापार जीतने की अधिक संभावना है। रुझान उलटा एक अधिक विश्वसनीय व्यापारिक तरीका है।

  3. यह प्रणालीगत जोखिमों को कम करने के लिए, झूठी दरारों का पीछा करने से बचने के लिए, और भटकने का पता लगाने के लिए है।

  4. रोकथाम तंत्र जोखिम को नियंत्रित करता है। यह बहुत अधिक व्यक्तिगत नुकसान से बचा जा सकता है।

जोखिम और समाधान

इस रणनीति में कुछ जोखिम भी हैं, जो मुख्य रूप से निम्नलिखित पर केंद्रित हैंः

  1. पलटने का समय निर्धारित करना गलत है। जिसके कारण रोकथाम ट्रिगर किया गया है। रोकथाम की सीमा को उचित रूप से बढ़ाया जा सकता है।

  2. ब्रिन बैंड पैरामीटर को गलत तरीके से सेट किया गया है, सामान्य कीमतों को असामान्य के रूप में माना जाता है। यह बाजार में उतार-चढ़ाव की दर के लिए सेट किए गए पैरामीटर के साथ काम करना चाहिए।

  3. लेनदेन की संख्या अधिक हो सकती है। CCI जैसे निर्णय मापदंडों के दायरे को उचित रूप से विस्तारित करें, लेनदेन की आवृत्ति को कम करें।

  4. बहु-क्षेत्र संतुलन में बहुत अंतर हो सकता है। ऐतिहासिक डेटा के आधार पर यह निर्णय किया जाना चाहिए कि सूचक पैरामीटर उचित है या नहीं।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः

  1. मशीन लर्निंग एल्गोरिदम का उपयोग करके स्वचालित रूप से संकेतक मापदंडों का अनुकूलन करें।

  2. इस तरह के एक और संकेत के रूप में, एक बार जब आप एक बार फिर से खरीदना शुरू करते हैं, तो आप एक बार फिर से खरीदना शुरू कर सकते हैं।

  3. लेन-देन की मात्रा को बढ़ाने के लिए लेन-देन की मात्रा, डेटा, आदि।

  4. ब्लॉकचैन डेटा के साथ बाजार की भावना का आकलन करना। रणनीति को अनुकूलित करना।

  5. बाजार में उतार-चढ़ाव के आधार पर स्टॉप को समायोजित करने के लिए एक अनुकूलनशील स्टॉप सिस्टम की शुरुआत की।

संक्षेप

रिवर्स औसत तोड़ने की रणनीति रिवर्स की संभावना का आकलन करने के लिए कई संकेतकों का व्यापक उपयोग करती है। जोखिम को नियंत्रित करने के आधार पर, इसकी जीत की संभावना अधिक है। इस रणनीति में बहुत मजबूत व्यावहारिकता है, और आगे अनुकूलन के लिए जगह भी है। यदि पैरामीटर सही तरीके से सेट किए जाते हैं, तो अपेक्षाकृत आदर्श प्रभाव प्राप्त किया जाना चाहिए।

रणनीति स्रोत कोड
/*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)