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


निर्माण तिथि: 2023-12-20 15:39:19 अंत में संशोधित करें: 2023-12-20 15:39:19
कॉपी: 0 क्लिक्स: 699
1
ध्यान केंद्रित करना
1629
समर्थक

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

अवलोकन

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

रणनीति सिद्धांत

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

व्यापार के विशिष्ट नियम इस प्रकार हैंः जब कीमत बुलिन बैंड के नीचे और आरएसआई 30 से कम हो तो अधिक प्रवेश करें; जब कीमत बुलिन बैंड के ऊपर और आरएसआई 70 से अधिक हो तो प्रवेश करें। Exit पर, बुलिन बैंड की मध्य रेखा या विपरीत दिशा में बुलिन बैंड की पट्टी को स्टॉप पॉइंट के रूप में चुनें। स्टॉप लॉस को प्रवेश मूल्य का एक निश्चित प्रतिशत के रूप में सेट करें।

रणनीतिक लाभ

इस रणनीति के संयोजन में प्रवृत्ति ट्रैक करने के लिए ब्रीज और RSI के अधिग्रहण के अधिग्रहण के निर्णय, बेहतर प्रवृत्ति के प्रस्थान के बिंदु को पकड़ने के लिए. इसके अलावा, रोक और रोक नुकसान रणनीतियों और अधिक स्पष्ट हैं, जो जोखिम प्रबंधन के लिए अनुकूल है.

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

रणनीतिक जोखिम

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

इस रणनीति में ट्रेडिंग किस्मों पर भी कुछ निर्भरता होती है। अधिक अस्थिर किस्मों के लिए, ब्रिन बैंड मापदंडों को समायोजित करने की आवश्यकता होती है। प्रवृत्ति स्पष्ट नहीं है कि किस्मों के लिए, प्रभाव छूट दिया जाता है। इसके अलावा, रणनीति भी व्यापार लागत, स्लाइड और चरम स्थितियों से प्रभावित होती है।

पैरामीटर अनुकूलन परीक्षण, स्टॉप-स्टॉप-लॉस स्तर का मूल्यांकन और विभिन्न किस्मों और बाजार स्थितियों में प्रदर्शन का परीक्षण करने की सिफारिश की जाती है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः

  1. ब्रिन बैंड और आरएसआई के मापदंडों का मूल्यांकन और अनुकूलन करें ताकि वे ट्रेडों की किस्मों की विशेषताओं के अनुरूप हों

  2. बहु-कारक मॉडल बनाने के लिए KDJ, MACD, आदि जैसे अन्य मापदंडों को जोड़ना

  3. स्टॉप लॉस रणनीति का आकलन करें, फ्लोटिंग स्टॉप या बैच स्टॉप सेट करें

  4. विशिष्ट नस्लों और बाजार स्थितियों के अनुसार पैरामीटर गतिशील अनुकूलन

  5. सिग्नल गुणवत्ता और जोखिम स्तर का आकलन करने के लिए मशीन लर्निंग मॉडल जोड़ना

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BB + RSI Estrategia", overlay=true)

longitud = input(20, title="Longitud BB", minval=5, maxval=50, step=1)
multiplicador = input(2.0, title="Multiplicador BB", type=input.float, step=0.1)
timeframe_bb = input("D", title="Marco de Tiempo BB", type=input.resolution)
rsi_length = input(14, title="Longitud RSI", minval=5, maxval=50, step=1)
rsi_overbought = input(70, title="Nivel de sobrecompra RSI", minval=50, maxval=80, step=1)
rsi_oversold = input(30, title="Nivel de sobreventa RSI", minval=20, maxval=50, step=1)
take_profit = input("Central", title="Take Profit (banda)", options=["Central", "Opuesta"])
stop_loss = input(2.00, title="Stop Loss", type=input.float, step=0.10)

var SL = 0.0

[banda_central, banda_superior, banda_inferior] = security(syminfo.tickerid, timeframe_bb, bb(close, longitud, multiplicador))
rsi_value = rsi(close, rsi_length)

comprado = strategy.position_size > 0
vendido = strategy.position_size < 0

if not comprado and not vendido
    if close < banda_inferior and rsi_value < rsi_oversold
        // Realizar la compra
        cantidad = round(strategy.equity / close)
        strategy.entry("Compra", strategy.long, qty=cantidad, when=cantidad > 0)
        SL := close * (1 - (stop_loss / 100))

    if close > banda_superior and rsi_value > rsi_overbought
        // Realizar la Venta
        cantidad = round(strategy.equity / close)
        strategy.entry("Venta", strategy.short, qty=cantidad, when=cantidad > 0)
        SL := close * (1 + (stop_loss / 100))

if comprado
    // Verificar el take profit
    if take_profit == "Central" and close >= banda_central
        strategy.close("Compra", comment="TP")
        SL := 0

    if take_profit == "Opuesta" and close >= banda_superior
        strategy.close("Compra", comment="TP")
        SL := 0
    // Verificar el stop loss
    if close <= SL
        strategy.close("Compra", comment="SL")
        SL := 0

if vendido
    // Verificar el take profit
    if take_profit == "Central" and close <= banda_central
        strategy.close("Venta", comment="TP")
        SL := 0

    if take_profit == "Opuesta" and close <= banda_inferior
        strategy.close("Venta", comment="TP")
        SL := 0
    // Verificar el Stop loss
    if close >= SL
        strategy.close("Venta", comment="SL")
        SL := 0

// Salida
plot(SL > 0 ? SL : na, style=plot.style_circles, color=color.red)
g1 = plot(banda_superior, color=color.aqua)
plot(banda_central, color=color.red)
g2 = plot(banda_inferior, color=color.aqua)
fill(g1, g2, color=color.aqua, transp=97)

// Dibujar niveles de sobrecompra/sobreventa del RSI
hline(rsi_overbought, "RSI Overbought", color=color.red)
hline(rsi_oversold, "RSI Oversold", color=color.green)