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


निर्माण तिथि: 2023-12-21 11:17:19 अंत में संशोधित करें: 2023-12-21 11:17:19
कॉपी: 0 क्लिक्स: 809
1
ध्यान केंद्रित करना
1623
समर्थक

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

रणनीति का अवलोकन

इस रणनीति को RSI बॉलिंगर बैंड्स टीपी / एसएल रणनीति कहा जाता है। यह रणनीति RSI और बॉलिंगर बैंड्स को जोड़ती है, जिससे ट्रेंड पोजिशनिंग और ब्रेकआउट ट्रेडिंग संभव हो जाती है। जब RSI संकेतकों में ओवरबॉय और ओवरसोल सिग्नल होते हैं, और कीमतें बॉलिंग बैंड को ट्रैक या डाउनट्रैक पर छूती हैं या तोड़ती हैं, तो ओवर-ऑपरेशन या खाली करें। साथ ही, रणनीति में स्टॉप-लॉस पॉइंट भी होते हैं, जो स्थिरता को बढ़ा सकते हैं।

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

1. आरएसआई सूचकांक में उलटफेर

आरएसआई सूचक यह निर्धारित करने में मदद करता है कि क्या कोई स्टॉक ओवरबॉय ओवरसोल्ड रेंज में है। जब आरएसआई सेट ओवरबॉय लाइन से अधिक होता है तो यह ओवरबॉय होता है और सेट ओवरसोल्ड रेंज से कम होता है। इस रणनीति में ओवरबॉय लाइन 50 और ओवरसोल्ड लाइन 50 है।

2. ब्रिन ने निर्णय लेने की प्रवृत्ति को अपनाया

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

3. आरएसआई ब्रीज सूचकांक के साथ

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

तीन, रणनीतिक लाभ

1. दोहरे संकेतक फ़िल्टरिंग से संकेत की सटीकता बढ़ जाती है

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

2. रोकथाम रोकथाम तंत्र नियंत्रण जोखिम

रणनीति ने स्टॉप-स्टॉप-लॉस पॉइंट सेट किया, जो कि स्टॉप-स्टॉप-लॉस के लिए प्रवेश मूल्य है(1 + रोकथाम अनुपात)(1- स्टॉप लॉस अनुपात); इसके विपरीत, यह मुनाफे को लॉक करने, नुकसान को अधिकतम करने और जोखिम को नियंत्रित करने में मदद करता है।

3. अनुकूलित खरीद और बिक्री दिशा

रणनीति केवल अधिक, केवल शून्य या द्वि-दिशात्मक व्यापार का विकल्प है, उपयोगकर्ता बाजार की स्थिति के अनुसार अलग-अलग दिशाओं का चयन कर सकते हैं, जोखिम को नियंत्रित करने के लिए लचीला।

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

1. ब्रिन बैंड पैरामीटर संवेदनशील

ब्रिन बैंड के मानक आकार में अंतर ब्रिन बैंड की चौड़ाई को प्रभावित करता है, जिससे व्यापार संकेत उत्पन्न होता है। यदि पैरामीटर गलत तरीके से सेट किया जाता है, तो बहुत सारे गलत संकेत उत्पन्न हो सकते हैं।

2. स्टॉप लॉस के जोखिम

स्टॉप और स्टॉप लॉस सेटिंग्स बहुत अधिक हो सकती हैं, और यदि कोई वी-प्रकार की उलटा स्थिति होती है, तो अनावश्यक नुकसान हो सकता है।

3. RSI पैरामीटर संवेदनशील

आरएसआई के पैरामीटर भी आरएसआई वक्र के आकार को प्रभावित करते हैं। यदि आरएसआई पैरामीटर गलत सेट किया जाता है, तो आरएसआई रिवर्स सिग्नल की सटीकता कम हो जाती है।

पांच, रणनीतिक अनुकूलन

1. आरएसआई पैरामीटर का अनुकूलन

अधिक आरएसआई लंबाई मापदंडों का परीक्षण किया जा सकता है, सबसे अच्छा संयोजन खोजने के लिए।

2. ब्रिन बैंड पैरामीटर का अनुकूलन करें

अधिक ब्रिन बैंड लंबाई और मानक विचलन मापदंडों का परीक्षण किया जा सकता है, जो कि सर्वोत्तम संयोजन को खोजने के लिए है।

3. विभिन्न स्टॉप लॉस अनुपात का परीक्षण करें

सबसे अच्छा स्टॉप-स्टॉप-लॉस अनुपात मापदंडों का पता लगाया जा सकता है।

VI. निष्कर्ष

इस रणनीति में RSI और ब्रिन बैंड संकेतकों का व्यापक रूप से उपयोग किया जाता है ताकि रुझान और उलटफेर का आकलन किया जा सके, रोक-टोक रोकथाम तंत्र के जोखिम नियंत्रण को जोड़ा जा सके, जो स्वचालित रूप से खरीदने और बेचने के बिंदुओं की पहचान कर सके और रोक को समय पर रोक सके। इस रणनीति में कुछ जोखिम भी हैं, मुख्य रूप से पैरामीटर अनुकूलन और अन्य तरीकों से सुधार किया जा सकता है। कुल मिलाकर, इस रणनीति में मजबूत व्यावहारिकता है।

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BigCoinHunter

//@version=5
strategy(title="RSI_Boll-TP/SL", overlay=true, 
     pyramiding=0, default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, initial_capital=1000, 
     currency=currency.USD, commission_value=0.05, 
     commission_type=strategy.commission.percent, 
     process_orders_on_close=true)

//----------- get the user inputs --------------

//---------- RSI -------------
price = input(close, title="Source")

RSIlength = input.int(defval=6,title="RSI Length") 
RSIoverSold = input.int(defval=50, title="RSI OverSold", minval=1)
RSIoverBought = input.int(defval=50, title="RSI OverBought", minval=1)

//------- Bollinger Bands -----------
BBlength = input.int(defval=200, title="Bollinger Period Length", minval=1)
BBmult = input.float(defval=2.0, minval=0.001, maxval=50, step=0.1, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = ta.crossover(source, BBlower)
sellEntry = ta.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(plot1=p1, plot2=p2, title="Bollinger BackGround", color=color.new(color.aqua,90), fillgaps=false, editable=true)

//---------- input TP/SL ---------------
tp = input.float(title="Take Profit:", defval=0.0, minval=0.0, maxval=100.0, step=0.1) * 0.01
sl = input.float(title="Stop Loss:  ", defval=0.0, minval=0.0, maxval=100.0, step=0.1) * 0.01

longEntry = input.bool(defval=true, title= 'Long Entry', inline="11")
shortEntry = input.bool(defval=true, title='Short Entry', inline="11")

//---------- backtest range setup ------------
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2021, title = "From Year", minval = 2010)
toDay     = input.int(defval = 30, title = "To Day", minval = 1, maxval = 31)
toMonth   = input.int(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear    = input.int(defval = 2042, title = "To Year", minval = 2010)

//------------ time interval setup -----------
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish    = timestamp(toYear, toMonth, toDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

//------- define the global variables ------
var bool long = true
var bool stoppedOutLong = false
var bool stoppedOutShort = false
//--------- Colors ---------------

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
//bgcolor(switch2?(color.new(TrendColor,50)):na)


//--------- calculate the input/output points -----------
longProfitPrice  = strategy.position_avg_price * (1 + tp)     // tp -> take profit percentage
longStopPrice = strategy.position_avg_price * (1 - sl)        // sl -> stop loss percentage

shortProfitPrice  = strategy.position_avg_price * (1 - tp)
shortStopPrice = strategy.position_avg_price * (1 + sl)


//---------- RSI + Bollinger Bands Strategy -------------
vrsi = ta.rsi(price, RSIlength)

rsiCrossOver = ta.crossover(vrsi, RSIoverSold)
rsiCrossUnder = ta.crossunder(vrsi, RSIoverBought)

BBCrossOver = ta.crossover(source, BBlower)
BBCrossUnder = ta.crossunder(source, BBupper)

if (not na(vrsi))

    if rsiCrossOver and BBCrossOver
        long := true
        
    if rsiCrossUnder and BBCrossUnder
        long := false

//------------------- determine buy and sell points ---------------------
buySignall = window() and long  and (not stoppedOutLong)
sellSignall = window() and (not long)  and (not stoppedOutShort)

//---------- execute the strategy -----------------
if(longEntry and shortEntry)
    if long 
        strategy.entry("LONG", strategy.long, when = buySignall, comment = "ENTER LONG")
        stoppedOutLong := true
        stoppedOutShort := false
    else 
        strategy.entry("SHORT", strategy.short, when = sellSignall, comment = "ENTER SHORT")
        stoppedOutLong  := false
        stoppedOutShort := true

else if(longEntry)
    strategy.entry("LONG", strategy.long,  when = buySignall)
    strategy.close("LONG", when = sellSignall)
    if long 
        stoppedOutLong := true
    else
        stoppedOutLong  := false

else if(shortEntry)
    strategy.entry("SHORT", strategy.short, when = sellSignall)
    strategy.close("SHORT", when = buySignall)
    if not long
        stoppedOutShort := true
    else
        stoppedOutShort := false
    

//----------------- take profit and stop loss -----------------
if(tp>0.0 and sl>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG", limit=longProfitPrice, stop=longStopPrice, comment="Long TP/SL Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT", limit=shortProfitPrice, stop=shortStopPrice, comment="Short TP/SL Trigger")

else if(tp>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG", limit=longProfitPrice, comment="Long TP Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT", limit=shortProfitPrice, comment="Short TP Trigger")
        
else if(sl>0.0)
    if ( strategy.position_size > 0 )
        strategy.exit(id="LONG",  stop=longStopPrice, comment="Long SL Trigger")

    else if ( strategy.position_size < 0 )
        strategy.exit(id="SHORT",  stop=shortStopPrice, comment="Short SL Trigger")