यह रणनीति क्रॉसओवर संकेतों को खोजने और खरीद और बिक्री संकेत उत्पन्न करने के लिए बोलिंगर बैंड, सापेक्ष शक्ति सूचकांक (आरएसआई) और कमोडिटी चैनल सूचकांक (सीसीआई) को जोड़ती है। इस रणनीति का उद्देश्य बाजार में ओवरबॉट और ओवरसोल्ड परिदृश्यों की पहचान करना और बेहतर निवेश रिटर्न के लिए मोड़ बिंदुओं पर स्थिति लेना है।
बोलिंगर बैंड में एक मध्य बैंड, एक ऊपरी बैंड और एक निचला बैंड होता है। मध्य बैंड आमतौर पर 20 दिनों का चलती औसत होता है। ऊपरी बैंड मध्य बैंड से ऊपर दो मानक विचलन होता है। निचला बैंड नीचे दो मानक विचलन होता है। निचले बैंड के पास कीमतें ओवरसोल्ड की स्थिति का संकेत दे सकती हैं। ऊपरी बैंड के पास कीमतें ओवरबोल्ड की स्थिति का संकेत दे सकती हैं।
आरएसआई दिशागत मूल्य आंदोलनों की गति को ऊपर और नीचे मापता है। यह 70 से ऊपर ओवरबॉट और 30 से नीचे ओवरसोल्ड दिखाता है। जब आरएसआई 70 से ऊपर गिरता है, तो यह एक बिक्री संकेत हो सकता है। जब आरएसआई 30 से नीचे उछलता है, तो यह एक खरीद संकेत हो सकता है।
सीसीआई मापता है कि कीमतें औसत मूल्य से कितनी दूर चली गई हैं। +100 से ऊपर के रीडिंग्स का मतलब ओवरबॉट की स्थिति है। -100 से नीचे के रीडिंग्स का मतलब ओवरसोल्ड की स्थिति है। सीसीआई चरम मूल्य स्तरों को दर्शाता है।
यह रणनीति अल्पावधि ओवरबॉट/ओवरसोल्ड स्तरों का न्याय करने के लिए बोलिंगर बैंड का उपयोग करती है, तेजी/बियर गति को मापने के लिए आरएसआई और मूल्य चरम सीमाओं की पहचान करने के लिए सीसीआई। जब सभी तीन संकेतक फ्लैश खरीद/बिक्री संकेत देते हैं, तो रणनीति व्यापार आदेश जारी करेगी।
यह रणनीति बोलिंगर बैंड्स, आरएसआई और सीसीआई संकेतक का उपयोग करके समग्र बाजार की स्थितियों का विश्लेषण करती है। यह क्रॉसओवर संकेतों के माध्यम से व्यापार बाजार उलटफेर के लिए झुकाव बिंदुओं की पहचान करती है। पैरामीटर ट्यूनिंग, लाभ लेने के तंत्र आदि जैसे आगे के अनुकूलन के साथ, यह विभिन्न बाजार वातावरण के लिए एक मजबूत काउंटरट्रेंड रणनीति हो सकती है।
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(shorttitle="BBRSIstr", title="Bollinger Bands", overlay=true) length = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(basis, "Basis", color=#FF6D00, offset = offset) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95)) //RSI rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="MA Length", group="MA Settings") bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings") showDivergence = input.bool(false, title="Show Divergence", group="RSI Settings") up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiMA = ma(rsi, maLengthInput, maTypeInput) isBB = maTypeInput == "Bollinger Bands" rsiPlot = plot(rsi, "RSI", color=#7E57C2) plot(rsiMA, "RSI-based MA", color=color.yellow) rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86) midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50)) rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86) fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill") //cci ma = ta.sma(src, length) cci = (src - ma) / (0.015 * ta.dev(src, length)) plot(cci, "CCI", color=#2962FF) band1 = hline(100, "Upper Band", color=#787B86, linestyle=hline.style_dashed) hline(0, "Middle Band", color=color.new(#787B86, 50)) band0 = hline(-100, "Lower Band", color=#787B86, linestyle=hline.style_dashed) fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background") typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(cci, smoothingLength, typeMA) plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none) longCBB= close < lower shortCBB = close>upper longBRSI = rsi < 33 shortBRSI = rsi > 70 longcci = cci < -215 shortcci = cci > 250 strategy.entry("LONG", strategy.long, when = longCBB and longBRSI and longcci) strategy.exit("Exit ", profit = 600) strategy.entry("SHORT", strategy.short, when = shortCBB and shortBRSI and shortcci) strategy.exit("Exit ", profit = 600)