बोलिंगर बैंड्स आरएसआई स्विंग ट्रेडिंग रणनीति में बोलिंगर बैंड्स और रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) संकेतक को जोड़कर शॉर्ट टर्म रेंज ऑसिलेशन ट्रेडिंग की जाती है। यह बोलिंगर बैंड्स के ऊपरी और निचले बैंड के बीच मूल्य उतार-चढ़ाव से लाभान्वित होती है।
सबसे पहले, बोलिंगर बैंड्स सूचक मूल्य उतार-चढ़ाव के दायरे का विश्लेषण करता है। ऊपरी बैंड के पास की कीमतें ओवरबॉट होती हैं, जबकि निचले बैंड के पास की कीमतें ओवरसोल्ड होती हैं।
दूसरा, आरएसआई संकेतक ओवरबॉट/ओवरसोल्ड ताकत निर्धारित करता है। 70 से ऊपर का आरएसआई ओवरबॉट है, जबकि 30 से नीचे का ओवरसोल्ड है।
जब कीमत निचले बैंड को छूती है और आरएसआई ओवरसोल्ड दिखाता है, तो लंबा हो जाता है। जब कीमत ऊपरी बैंड को छूती है और आरएसआई ओवरबोल्ड दिखाता है, तो छोटा हो जाता है।
बोलिंगर बैंड कीमतों के उतार-चढ़ाव के स्तरों का सटीक पता लगाते हैं।
आरएसआई अंधेरे लंबी/छोटी प्रविष्टियों से बचता है।
उच्च जीत दर औसत प्रतिगमन पर पूंजीकरण।
बार-बार व्यापार करने से लगातार लाभ होता है।
विभिन्न उत्पादों और समय सीमाओं पर लागू होता है।
गलत बीबी मापदंड प्रमुख स्तरों की पहचान करने में विफल रहते हैं।
खराब आरएसआई पैरामीटर गलत संकेत उत्पन्न करते हैं।
अपर्याप्त प्रतिगमन स्टॉप लॉस को ट्रिगर करता है।
उच्च व्यापार आवृत्ति से अधिक स्लिप लागत होती है।
अस्थिर बाजारों में रुझानों पर सवारी करना मुश्किल है।
मापदंडों को अनुकूलित करें ताकि बीबी वास्तविक अस्थिरता से मेल खाएं।
शोर को फ़िल्टर करने के लिए आरएसआई अवधि को समायोजित करें।
लाभ वापसी को कम करने के लिए ट्रैलिंग स्टॉप का प्रयोग करें।
फिसलने के प्रभाव को कम करने के लिए तरल उत्पादों का चयन करें।
रुझान की दिशा निर्धारित करने के लिए अन्य संकेतक जोड़ें।
बीबी आरएसआई स्विंग ट्रेडिंग रणनीति प्रभावी रूप से सीमाओं के भीतर दो तरफा मूल्य उतार-चढ़ाव को पकड़ती है। उचित पैरामीटर ट्यूनिंग और जोखिम प्रबंधन के साथ, यह स्थिर लाभ प्रदान करती है। यह एक अनुशंसित अल्पकालिक मात्रा व्यापार रणनीति है।
/*backtest start: 2023-08-16 00:00:00 end: 2023-09-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Swing trading strategy FOREX ", shorttitle="BB+RSI", overlay=true) //////////////////////////////////////////////////////////////////////////////// // BACKTESTING RANGE // From Date Inputs fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2020, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2022, title = "To Year", minval = 1970) // Calculate start/end date and time condition startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true // // ///////////// RSI RSIlength = input(6,title="RSI Period Length") RSIoverSold = input(defval = 65, title = "RSIoverSold", minval = 1, maxval = 100) RSIoverBought = input(defval = 35, title = "RSIoverBought", minval = 1, maxval = 100) price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(200, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=color.aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=color.silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=color.silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy //for buy cond1=crossover(vrsi, RSIoverSold) cond2=crossover(source, BBlower) //for sell cond3=crossunder(vrsi, RSIoverBought) cond4=crossunder(source, BBupper) if (not na(vrsi)) if (cond1 and cond2 and time_cond) strategy.entry("RSI_BB_LONG", strategy.long, stop=BBlower, comment="LONG",alert_message = "long") else strategy.cancel(id="RSI_BB_LONG") if (cond3 and cond4 and time_cond) strategy.entry("RSI_BB_SHORT", strategy.short, stop=BBupper, comment="SHORT",alert_message = "short") //strategy.close("RSI_BB_LONG") else strategy.cancel(id="RSI_BB_SHORT") //strategy.exit("closelong", "RSI_BB_LONG" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closelong") //strategy.exit("closeshort", "RSI_BB_SHORT" , profit = close * 0.01 / syminfo.mintick, loss = close * 0.01 / syminfo.mintick, alert_message = "closeshort") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)