यह रणनीति बाजार के तेजी और मंदी के रुझानों का आकलन करती है और आरएसआई संकेतक के विचलन की गणना करके व्यापारिक निर्णय लेती है। विशेष रूप से, यह छिपे हुए तेजी संकेतों का आकलन करेगी जब आरएसआई कम निचले स्तरों का गठन करता है लेकिन कीमतें अधिक निचले स्तरों का गठन करती हैं। और यह छिपे हुए मंदी संकेतों का आकलन करेगी जब आरएसआई उच्च उच्च स्तरों का गठन करता है लेकिन कीमतें कम उच्च स्तरों का गठन करती हैं। फिर यह इन संकेतों के आधार पर बाजार के संभावित तेजी या मंदी के रुझानों का निर्धारण करता है और ट्रेड करता है।
यह रणनीति मुख्य रूप से आरएसआई संकेतक के तेजी और मंदी विचलन सिद्धांत पर आधारित है। जब आरएसआई और मूल्य विपरीत विचलन बनाते हैं, तो यह बाजार के संभावित उलटफेर का संकेत देता है। चार विशिष्ट स्थितियां हैंः
नियमित तेजी का संकेत: आरएसआई उच्च निम्न बनाता है जबकि मूल्य निम्न निम्न बनाता है। यह इंगित करता है कि क्रय शक्ति आरएसआई को ऊपर धकेलती है लेकिन कीमत पर पूरी तरह से प्रतिबिंबित नहीं करती है, जिससे मजबूत तेजी की शक्ति का संकेत मिलता है।
छिपा हुआ तेजी का संकेत: आरएसआई कम कम होता है जबकि कीमत अधिक कम होती है। इसका अर्थ है कि बिक्री शक्ति आरएसआई को नीचे धकेलती है लेकिन कीमत नहीं, जो मजबूत तेजी की शक्ति को इंगित करती है।
नियमित मंदी का संकेत: आरएसआई कम उच्च बनाता है जबकि मूल्य उच्च उच्च बनाता है। इसका तात्पर्य है कि बिक्री शक्ति मूल्य को ऊपर धकेलती है लेकिन आरएसआई नहीं, जो मजबूत मंदी की शक्ति को इंगित करती है।
छिपा हुआ मंदी संकेत: आरएसआई उच्च उच्च बनाता है जबकि मूल्य निम्न उच्च बनाता है। यह इंगित करता है कि क्रय शक्ति आरएसआई को ऊपर धकेलती है लेकिन कीमत नहीं, जिससे मंदी की शक्ति मजबूत होती है।
उपरोक्त मतभेदों के आधार पर, यह ट्रेडिंग रणनीतियों को तैयार करने के लिए बाजार के संभावित तेजी या मंदी के रुझानों और खरीद/बिक्री शक्ति को मजबूत करने का आकलन करता है।
रणनीति मुख्य रूप से मूल्य कार्यों के पीछे खरीद और बिक्री शक्ति के बीच सापेक्ष शक्ति परिवर्तनों को पकड़कर बाजार के संभावित तेजी या मंदी के रुझानों को निर्धारित करने के लिए आरएसआई के तेजी और मंदी विचलन का लाभ उठाती है। इसमें उलटफेर की कुछ भविष्यवाणी क्षमताएं हैं। लेकिन इसमें शोर संकेतों के जोखिम भी हैं। पैरामीटर अनुकूलन, संकेतक संयोजन, मशीन लर्निंग जैसे तरीके रणनीति की स्थिरता और लाभप्रदता को और बढ़ाने में मदद कर सकते हैं।
/*backtest start: 2024-01-07 00:00:00 end: 2024-01-14 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Divergence Indicator") len = input.int(title="RSI Period", minval=1, defval=20) src = input(title="RSI Source", defval=close) lbR = input(title="Pivot Lookback Right", defval=5) lbL = input(title="Pivot Lookback Left", defval=5) rangeUpper = input(title="Max of Lookback Range", defval=60) rangeLower = input(title="Min of Lookback Range", defval=5) plotBull = input(title="Plot Bullish", defval=true) plotHiddenBull = input(title="Plot Hidden Bullish", defval=true) plotBear = input(title="Plot Bearish", defval=true) plotHiddenBear = input(title="Plot Hidden Bearish", defval=true) bearColor = color.red bullColor = color.green hiddenBullColor = color.new(color.green, 80) hiddenBearColor = color.new(color.red, 80) textColor = color.white noneColor = color.new(color.white, 100) osc = ta.rsi(src, len) plot(osc, title="RSI", linewidth=2, color=#2962FF) hline(50, title="Middle Line", color=#787B86, linestyle=hline.style_dotted) obLevel = hline(70, title="Overbought", color=#787B86, linestyle=hline.style_dotted) osLevel = hline(30, title="Oversold", color=#787B86, linestyle=hline.style_dotted) fill(obLevel, osLevel, title="Background", color=color.rgb(33, 150, 243, 90)) plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true phFound = na(ta.pivothigh(osc, lbL, lbR)) ? false : true _inRange(cond) => bars = ta.barssince(cond == true) rangeLower <= bars and bars <= rangeUpper //------------------------------------------------------------------------------ // Regular Bullish // Osc: Higher Low oscHL = osc[lbR] > ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1]) // Price: Lower Low priceLL = low[lbR] < ta.valuewhen(plFound, low[lbR], 1) // bull : 상승 Condition : 조건 bullCond = plotBull and priceLL and oscHL and plFound // 상승다이버전스? strategy.entry("상승 다이버전스 진입", strategy.long, when = bullCond) // strategy.close("상승 다이버전스 진입", when = ta.crossover(osc, 70)) plot( plFound ? osc[lbR] : na, offset=-lbR, title="Regular Bullish", linewidth=2, color=(bullCond ? bullColor : noneColor) ) plotshape( bullCond ? osc[lbR] : na, offset=-lbR, title="Regular Bullish Label", text=" Bull ", style=shape.labelup, location=location.absolute, color=bullColor, textcolor=textColor ) //------------------------------------------------------------------------------ // Hidden Bullish // Osc: Lower Low oscLL = osc[lbR] < ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1]) // Price: Higher Low priceHL = low[lbR] > ta.valuewhen(plFound, low[lbR], 1) hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound strategy.entry("히든 상승 다이버전스 진입", strategy.long, when = hiddenBullCond) // strategy.close("히든 상승 다이버전스 진입", when = ta.crossover(osc, 70)) plot( plFound ? osc[lbR] : na, offset=-lbR, title="Hidden Bullish", linewidth=2, color=(hiddenBullCond ? hiddenBullColor : noneColor) ) plotshape( hiddenBullCond ? osc[lbR] : na, offset=-lbR, title="Hidden Bullish Label", text=" H Bull ", style=shape.labelup, location=location.absolute, color=bullColor, textcolor=textColor ) //------------------------------------------------------------------------------ // Regular Bearish // Osc: Lower High oscLH = osc[lbR] < ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1]) // Price: Higher High priceHH = high[lbR] > ta.valuewhen(phFound, high[lbR], 1) // bear : 하락 bearCond = plotBear and priceHH and oscLH and phFound strategy.entry("하락 다이버전스 진입", strategy.short, when = bearCond) // strategy.close("하락 다이버전스 진입", when = ta.crossunder(osc, 50)) plot( phFound ? osc[lbR] : na, offset=-lbR, title="Regular Bearish", linewidth=2, color=(bearCond ? bearColor : noneColor) ) plotshape( bearCond ? osc[lbR] : na, offset=-lbR, title="Regular Bearish Label", text=" Bear ", style=shape.labeldown, location=location.absolute, color=bearColor, textcolor=textColor ) //------------------------------------------------------------------------------ // Hidden Bearish // Osc: Higher High oscHH = osc[lbR] > ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1]) // Price: Lower High priceLH = high[lbR] < ta.valuewhen(phFound, high[lbR], 1) hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound strategy.entry("히든 하락 다이버전스 진입", strategy.short, when = hiddenBearCond) // strategy.close("히든 하락 다이버전스 진입", when = ta.crossunder(osc, 50)) plot( phFound ? osc[lbR] : na, offset=-lbR, title="Hidden Bearish", linewidth=2, color=(hiddenBearCond ? hiddenBearColor : noneColor) ) plotshape( hiddenBearCond ? osc[lbR] : na, offset=-lbR, title="Hidden Bearish Label", text=" H Bear ", style=shape.labeldown, location=location.absolute, color=bearColor, textcolor=textColor )