आरएसआई और बोलिंगर बैंड्स मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-08 10:16:22
टैगः

img

अवलोकन

यह रणनीति व्यापार के अवसरों की पहचान करने के लिए सापेक्ष शक्ति सूचकांक (आरएसआई) और बोलिंगर बैंड्स को जोड़ती है, जो मात्रात्मक व्यापार में औसत प्रतिगमन रणनीतियों से संबंधित है। यह तब खरीदता है जब आरएसआई एक सीमा से नीचे होता है और स्थिति बंद हो जाती है जब कीमत बोलिंगर बैंड्स के मध्य बैंड से ऊपर टूट जाती है। कोई शॉर्टिंग अवसर नहीं होता है।

रणनीति तर्क

  1. आरएसआई संकेतक का उपयोग यह निर्धारित करने के लिए करें कि क्या बाजार ओवरसोल्ड है। आरएसआई 30 से नीचे एक ओवरसोल्ड संकेत माना जाता है।

  2. यह निर्धारित करने के लिए बोलिंगर बैंड का उपयोग करें कि क्या कीमत ऊपर की ओर उछाल शुरू करती है। जब कीमत निचले बैंड से उछाल लेती है और मध्य बैंड के ऊपर टूट जाती है, तो लंबी दिशा समाप्त हो जाती है।

  3. आरएसआई ओवरसोल्ड सिग्नल और बोलिंगर बैंड्स ब्रेकआउट सिग्नल को मिलाकर खरीद प्रवेश बिंदु सेट करें। जब दोनों सिग्नल ट्रिगर होते हैं और लाभ लेने के लिए कीमत मध्य बैंड से ऊपर टूट जाती है तो खरीदें और बंद करें।

लाभ विश्लेषण

  1. यह रणनीति प्रवेश बिंदुओं को अधिक सटीक रूप से खोजने के लिए औसत प्रतिगमन सूचक आरएसआई और चैनल सूचक बोलिंगर बैंड्स को जोड़ती है।

  2. आरएसआई संकेतक कई झूठे ब्रेकआउट को फ़िल्टर कर सकता है और अनावश्यक ट्रेडों को कम कर सकता है।

  3. बोलिंगर बैंड प्रत्येक व्यापार के जोखिम को नियंत्रित करने के लिए स्टॉप लॉस के रूप में कार्य करता है।

जोखिम विश्लेषण

  1. आरएसआई संकेतक गलत संकेत दे सकता है, जिससे खरीद के अवसर चूक जाते हैं।

  2. बोलिंगर बैंड की अनुचित पैरामीटर सेटिंग्स के परिणामस्वरूप स्टॉप लॉस बहुत ढीला या सख्त हो सकता है।

  3. अनुचित व्यापारिक साधनों का चयन करना, जैसे कि उच्च तरलता जोखिम वाले छोटे कैप स्टॉक का व्यापार करना।

अनुकूलन दिशा

  1. इष्टतम मापदंडों को खोजने के लिए आरएसआई अवधि, बोलिंगर अवधि और गुणक जैसे विभिन्न मापदंड संयोजनों का परीक्षण करें।

  2. संकेतों को फ़िल्टर करने के लिए अधिक सख्त खरीद शर्तें निर्धारित करने के लिए KD, MACD जैसे अन्य संकेतकों को शामिल करें।

  3. विभिन्न व्यापारिक साधनों के लिए अस्थिरता के आधार पर स्टॉप लॉस सेट करें, जैसे कि अस्थिरता स्टॉप लॉस का उपयोग करना।

निष्कर्ष

यह रणनीति आरएसआई के निचले स्तर पर खरीदने और बोलिंगर के उच्च स्तर पर बेचने के तर्क का उपयोग करती है, जो औसत प्रतिगमन रणनीतियों से संबंधित है। आरएसआई या बोलिंगर बैंड जैसे एकल संकेतकों का उपयोग करने की तुलना में, यह रणनीति प्रवेश और निकास बिंदुओं को अधिक सटीक रूप से ढूंढ सकती है, इस प्रकार बेहतर परिणाम प्राप्त कर सकती है। अगले चरण पैरामीटर अनुकूलन, संकेत फ़िल्टरिंग, स्टॉप लॉस रणनीतियों आदि के माध्यम से सुधार कर सकते हैं।


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's BB + RSI Strategy v1.0", shorttitle = "BB+RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
rsiuse = input(true, defval = true, title = "Use RSI")
bbuse = input(true, defval = true, title = "Use BB")
showbb = input(true, defval = true, title = "Show BB Overlay")
bbperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "BB period")
bbsource = input(ohlc4, title = "BB source")
bbmult = input(2, defval = 2, minval = 1, maxval = 100, title = "BB Mult")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 1000, title = "RSI period")
rsisource = input(close, title = "RSI source")
rsilimit = input(30, defval = 30, minval = 1, maxval = 49, title = "RSI Limit")
fromyear = input(1900, defval = 1900, 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")

//RSI
rsi = rsi(rsisource, rsiperiod)

//BB
basis = sma(bbsource, bbperiod)
dev = bbmult * stdev(bbsource, bbperiod)
upper = basis + dev
lower = basis - dev

//Overlay
col = showbb ? blue : na
plot(upper, color = col)
plot(basis, color = col)
plot(lower, color = col)

//Signals
up = (rsi < rsilimit or rsiuse == false) and (low < lower or bbuse == false)
cl = close > open

//Trading
lot = 0.0 
lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, lot)
if cl
    strategy.entry("Close", strategy.short, 0)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

अधिक