यह संकेतक 2 अलग-अलग अवधियों के आरएसआई पर आधारित है।
# आरएसआई का संक्षिप्त परिचय #
सापेक्ष शक्ति सूचकांक (आरएसआई) एक गति संकेतक है जिसका उपयोग तकनीकी विश्लेषण में किया जाता है जो किसी स्टॉक या अन्य परिसंपत्ति की कीमत में ओवरबॉट या ओवरसोल्ड स्थितियों का मूल्यांकन करने के लिए हालिया मूल्य परिवर्तनों की परिमाण को मापता है। आरएसआई एक ऑसिलेटर (एक रेखा ग्राफ जो दो चरम के बीच चलता है) के रूप में प्रदर्शित होता है और 0 से 100 तक पढ़ सकता है। संकेतक को मूल रूप से जे. वेल्स वाइल्डर जूनियर द्वारा विकसित किया गया था और उनकी मूल 1978 की पुस्तक,
आरएसआई की पारंपरिक व्याख्या और उपयोग यह है कि 70 या उससे अधिक के मूल्य इंगित करते हैं कि एक सुरक्षा अधिक खरीदी या अधिक मूल्यवान हो रही है और कीमत में प्रवृत्ति उलट या सुधारात्मक पुलबैक के लिए तैयार हो सकती है। आरएसआई रीडिंग 30 या उससे कम एक ओवरसोल्ड या अंडरवैल्यूएटेड स्थिति को इंगित करती है।
#इस सूचक में# मैं देख रहा हूँ कि आप बुलिश ट्रेंड और बेरीश ट्रेंड का सुझाव देने के लिए अलग-अलग अवधि के साथ 2 आरएसआई का उपयोग कर सकते हैं।
#छोटे और लंबे आरएसआई क्रॉसिंग के बीच की स्थिति# क्रॉसओवर = तेजी का रुझान (नीला क्षेत्र) क्रॉसअंडर = मंदी का रुझान (लाल क्षेत्र)
बैकटेस्टिंग
/*backtest start: 2022-04-17 00:00:00 end: 2022-05-16 23:59:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //Fukuiz indicator(title='Fukuiz Trend', shorttitle='Fukuiz Trend', format=format.price, precision=2, timeframe='') //color// colorwhite = #FFFFFF colorblue = #6633FF colorred = #FF3333 colorblue2 = #33CCFF colorpink = #FF3366 //Fuction// len = input.int(24, minval=1, title='RSI Short') len2 = input.int(100, minval=1, title='RSI Long') src = input(open, 'Source') up = ta.rma(math.max(ta.change(src), 0), len) down = ta.rma(-math.min(ta.change(src), 0), len) up2 = ta.rma(math.max(ta.change(src), 0), len2) down2 = ta.rma(-math.min(ta.change(src), 0), len2) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down) rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - 100 / (1 + up2 / down2) Bullish = rsi > rsi2 Bearish = rsi < rsi2 Fukuizcolor = Bullish ? color.new(colorblue,0) : Bearish ? color.new(colorred,0) : na Fukuizcolor2 = Bullish ? color.new(colorblue2,0) : Bearish ? color.new(colorpink,0) : na Fukuizcolor3 = Bullish ? color.new(colorblue,75) : Bearish ? color.new(colorred,75) : na //Plot// l1 = plot(rsi, 'RSI Short', color=Fukuizcolor, linewidth=2, style=plot.style_line) l2 = plot(rsi2, 'RSI Long', color=Fukuizcolor2, linewidth=2, style=plot.style_line) band2 = hline(50, 'Middle Band', color=#FFCC99) band1 = hline(70, 'Upper Band', color=#FFCC99) band0 = hline(30, 'Lower Band', color=#FFCC99) fill(band1, band0, color.new(#0946CA, 90), title='Background') fill(l1, l2, color=Fukuizcolor3, title='Trend Background') //DIVERGENCE// 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='Bullish Divergence', defval=true) plotBear = input(title='Bearish Divergence', 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) 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 oscHL = osc[lbR] > ta.valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1]) priceLL = low[lbR] < ta.valuewhen(plFound, low[lbR], 1) bullCond = plotBull and priceLL and oscHL and plFound plot(plFound ? osc[lbR] : na, offset=-lbR, title='Bullish Divergence Line', linewidth=2, color=bullCond ? bullColor : noneColor,display=display.none) plotshape(bullCond ? osc[lbR] : na, offset=-lbR, title='Bullish Divergence Label', text=' Bull ', style=shape.labelup, location=location.absolute, color=color.new(bullColor, 0), textcolor=color.new(textColor, 0)) oscLH = osc[lbR] < ta.valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1]) priceHH = high[lbR] > ta.valuewhen(phFound, high[lbR], 1) bearCond = plotBear and priceHH and oscLH and phFound plot(phFound ? osc[lbR] : na, offset=-lbR, title='Bearish Divergence Line', linewidth=2, color=bearCond ? bearColor : noneColor,display=display.none) plotshape(bearCond ? osc[lbR] : na, offset=-lbR, title='Bearish Divergence Label', text=' Bear ', style=shape.labeldown, location=location.absolute, color=color.new(bearColor, 0), textcolor=color.new(textColor, 0)) if bullCond strategy.entry("Enter Long", strategy.long) else if bearCond strategy.entry("Enter Short", strategy.short)