यह रणनीति मुख्य रूप से ट्रेडिंग सिग्नल निर्णय के लिए रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) के साथ बोलिंगर बैंड्स के संयोजन का उपयोग करती है। विशेष रूप से, यह तब लंबा हो जाता है जब आरएसआई ओवरसोल्ड स्तर से ऊपर और निचले बोलिंगर बैंड से नीचे पार हो जाता है, और जब आरएसआई ओवरबॉट स्तर से नीचे और ऊपरी बोलिंगर बैंड से ऊपर पार हो जाता है, तो यह छोटा हो जाता है।
रणनीति पहले आरएसआई संकेतक और बोलिंगर बैंड की गणना करती है। आरएसआई संकेतक ट्रेडिंग उपकरण की सापेक्ष ताकत को दर्शाता है। जब आरएसआई ओवरसोल्ड क्षेत्र (डिफ़ॉल्ट 30) से नीचे होता है, तो इसका मतलब है कि उपकरण ओवरसोल्ड है और इसे खरीदना चाहिए। बोलिंगर बैंड में ऊपरी बैंड, मध्य बैंड और निचला बैंड शामिल हैं, जो कीमतों के उतार-चढ़ाव की सीमा को अच्छी तरह से दर्शाता है। निचले बैंड के पास खरीदना और ऊपरी बैंड के पास बेचना अपेक्षाकृत विश्वसनीय संकेत प्रदान कर सकता है। यह रणनीति ट्रेडिंग सिग्नल निर्णय के लिए आरएसआई संकेतक और बोलिंगर बैंड को जोड़ती है। यह खरीद संकेत उत्पन्न करती है जब आरएसआई ओवरसोल्ड क्षेत्र से ऊपर बढ़ता है (डिफ़ॉल्ट 30) और कीमत निचले बैंड से ऊपर बढ़ जाती है; यह बेच संकेत उत्पन्न करता है जब आरएसआई बैंड से नीचे गिरता है (डिफ़ॉल्ट मूल्य 70) और ऊपरी बैंड से नीचे गिरता है।
समाधान:
समग्र रणनीति मजबूत है, प्रभावी रूप से स्टॉप लॉस के लिए आरएसआई और बोलिंगर बैंड्स को जोड़ती है। पैरामीटर का परीक्षण और अनुकूलन करके आगे का सुधार हासिल किया जा सकता है। सख्त नियमों के कारण संभावित सिग्नल लापता जोखिमों के बारे में भी पता होना चाहिए। सामान्य तौर पर, यह एक विश्वसनीय मात्रात्मक ट्रेडिंग रणनीति है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true ) // Strategy Tester Start Time sYear = input(2019, title = "Start Year") sMonth = input(04, title = "Start Month", minval = 01, maxval = 12) sDay = input(01, title = "Start Day", minval = 01, maxval = 31) sHour = input(00, title = "Start Hour", minval = 00, maxval = 23) sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59) startTime = true ///////////// RSI RSIlength = input(9,title="RSI Period Length") RSIoverSold = input(30, minval=1,title="RSIL") RSIoverBought = input(69, minval=1,title="RSIh") price = open vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(60, minval=1,title="Bollinger Period Length") BBmult = input(2.0, minval=0.001, maxval=50,title="Bb") 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=aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, 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] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower, comment="RSI_BB_L") else strategy.cancel(id="RSI_BB_L") if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)