यह रणनीति आरएसआई संकेतक के आधार पर एक सरल ट्रेंड फॉलो ट्रेडिंग सिस्टम को डिजाइन करती है, जो आरएसआई के माध्यम से बाजार की ट्रेंड दिशा निर्धारित कर सकती है और एक विशिष्ट दिनांक सीमा के भीतर स्वचालित लंबी और छोटी स्थिति को लागू कर सकती है।
यह रणनीति बाजार के रुझान को निर्धारित करने के लिए आरएसआई संकेतक का उपयोग करती है और ओवरबॉट और ओवरसोल्ड जोन की पुष्टि करने के लिए बोलिंगर बैंड का उपयोग करती है।
सबसे पहले, आरएसआई मान की गणना की जाती है। बोलिंगर बैंड के ऊपरी और निचले बैंड की गणना आरएसआई के चलती औसत और मानक विचलन के आधार पर की जाती है। आरएसआई 0-1 के बीच में उतार-चढ़ाव करता है, और बोलिंगर बैंड मानक विचलन के माध्यम से ओवरबॉट और ओवरसोल्ड क्षेत्रों की पहचान करता है। जब आरएसआई ऊपरी बैंड से अधिक होता है, तो यह ओवरबोल्ड क्षेत्र है, और जब निचले बैंड से कम होता है, तो यह ओवरसोल्ड क्षेत्र है।
जब आरएसआई निचले से ऊपरी बैंड तक टूटता है, तो एक खरीद संकेत उत्पन्न होता है। जब आरएसआई ऊपरी से निचले बैंड तक टूटता है, तो प्रवृत्ति का पालन करने के लिए एक बिक्री संकेत उत्पन्न होता है। बाजार में प्रवेश करने के बाद, कोई स्टॉप लॉस या लाभ लेने के लिए सेट नहीं किया जाता है जब तक कि निर्दिष्ट दिनांक सीमा के अंत में पद बंद नहीं हो जाते।
यह रणनीति रुझान की दिशा निर्धारित करने के लिए आरएसआई और विशिष्ट व्यापारिक अवसरों की पहचान करने के लिए बोलिंगर बैंड का उपयोग करती है।
अनुकूलन दिशाएंः
संक्षेप में, यह एक बहुत ही सरल और प्रत्यक्ष प्रवृत्ति अनुसरण रणनीति है। प्रवृत्ति निर्धारित करने के लिए आरएसआई का उपयोग करना, संकेतों को फ़िल्टर करने के लिए बोलिंगर बैंड, और व्यापार तिथि सीमा को परिभाषित करना, प्रभावी रूप से रुझानों का पालन और जोखिमों को नियंत्रित कर सकता है। लेकिन रणनीति को और अनुकूलित किया जा सकता है। जबकि इसे सरल और प्रभावी रखते हुए, स्टॉप लॉस, पैरामीटर अनुकूलन और सिग्नल फ़िल्टरिंग जैसे तरीकों को लाइव ट्रेडिंग के लिए अधिक उपयुक्त बनाने के लिए जोड़ा जा सकता है।
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Gidra //2018 //@version=2 strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") src = input(close, title="source") lengthRSI = input(14, title="RSI or MFI length") // RSI %B useRSI = input(true, title="use RSI or MFI") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day") //MFI upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI) lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI) mf = rsi(upper, lower) //RSI rsi = useRSI?rsi(src, lengthRSI): mf // %B length = input(50, minval=1, title="BB length") mult = input(1.618, minval=0.001, maxval=50) basis = sma(rsi, length) dev = mult * stdev(rsi, length) upperr = basis + dev lowerr = basis - dev bbr = (rsi - lowerr)/(upperr - lowerr) plot(bbr, color=black, transp=0, linewidth=2) // band1 = hline(1, color=white, linestyle=dashed) // band0 = hline(0, color=white, linestyle=dashed) // fill(band1, band0, color=teal) hline(0.5, color=white) //Signals up = bbr >= 0 and bbr[1] < 0 dn = bbr <= 1 and bbr[1] > 1 //exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5)) lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] //Trading if up strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59)// or exit strategy.close_all()