इस रणनीति का उपयोग औसत, ब्रींड और आरएसआई संकेतकों के संयोजन के माध्यम से किया जाता है, जो व्यापार के अवसरों की पहचान करने के लिए मूल्य प्रवृत्तियों और ओवरबॉट और ओवरसोल्ड घटनाओं का आकलन करता है। यह रणनीति कई संकेतकों की ताकत को एक साथ लाती है, जिससे व्यापारिक निर्णयों की सटीकता में सुधार होता है।
रणनीतिक सिद्धांत:
औसत रेखा और उसकी ब्रीनिंग बैंड की गणना करें और मूल्य के बीच की लंबी रेखा को निर्धारित करें।
आरएसआई सूचकांक की गणना करें कि क्या यह ओवरबॉट या ओवरसोल्ड है।
जब कीमत नीचे से ऊपर की ओर ब्रीज करती है और आरएसआई एक बहुमुखी क्रॉस के साथ ट्रैक से बाहर निकलती है, तो अधिक करें।
जब कीमत ऊपर से नीचे तक ब्रीज के साथ ट्रैक पर आती है और आरएसआई एक हेड क्रॉस के साथ आता है, तो इसे खाली करें।
स्टॉप लॉस लाइन सेट करें और एकल नुकसान को नियंत्रित करें।
इस रणनीति के फायदे:
बहु-सूचक पोर्टफोलियो सत्यापन, गलत लेनदेन की संभावना को कम करता है।
आरएसआई सूचकांक सम-रेखा प्रणाली की कमी को पूरा करता है।
एक समान रेखा के साथ ब्रिन के साथ एक पहचानने योग्य ब्रेक पॉइंट।
इस रणनीति के जोखिम:
बहु-सूचक संयोजनों को पैरामीटर अनुकूलन के लिए समय लगता है।
आरएसआई और ब्रिन बैंड के बीच कुछ समानताएं हैं।
एक बार जब आप एक व्यापार को तोड़ते हैं, तो यह आपके सिर को प्रभावित कर सकता है।
संक्षेप में, इस रणनीति के माध्यम से संयोजन औसत रेखा, ब्रींथ बैंड और आरएसआई संकेतक, प्रवृत्ति का न्याय करने के साथ-साथ उलट व्यापार के अवसरों की पहचान. संयोजन संकेतक का उपयोग प्रभावशीलता को बढ़ा सकता है, लेकिन पैरामीटर अनुकूलन के मुद्दों पर ध्यान देने की आवश्यकता है, जोखिम को नियंत्रित करना.
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 30m
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/
// © LucasVivien
//@version=4
strategy("MA Bolinger Bands + RSI ", shorttitle="MABB + RSI", overlay=true)
// User input
source = input(title="Price source" , type=input.source , defval=close)
RSIlen = input(title="RSI Length" , type=input.integer , defval=6 , group="RSI")
RSIlvlOB = input(title="RSI Overbough" , type=input.integer , defval=50 , group="RSI")
RSIlvlOS = input(title="RSI Oversold" , type=input.integer , defval=50 , group="RSI")
RSIN = input(title="RSI Neutral" , type=input.integer , defval=50 , group="RSI")
MAlen = input(title="MA Length" , type=input.integer , defval=200 , group="MABB")
BBlen = input(title="BB Length" , type=input.integer , defval=200 , group="MABB")
BBmult = input(title="BB multiplier" , type=input.float , defval=2.0 , group="MABB" , tooltip="Set BB closer / appart", minval=0.001, maxval=50)
MAtype = input(title="MA type" , type=input.string , defval="SMA", group="MABB" , tooltip="MA type used in BB", options=["SMA", "EMA", "HMA"])
//SLmult = input(title="SL value" ,type=input.float , defval=0.06)
// Used indicators
RSI = rsi(source, RSIlen)
MA = sma(source, MAlen)
if MAtype == "EMA"
MA := ema(source, MAlen)
if MAtype == "HMA"
MA := hma(source, MAlen)
// Perform Calculations
BBdev = BBmult * stdev(source, BBlen)
BBupper = MA + BBdev
BBlower = MA - BBdev
longSL = close - close * 0.06
shortSL = close + close * 0.06
// Signals validation ([0] is trade displayed from strategy() on chart => long/short entry)
BBbull = (open < BBlower) and (close > BBlower)
BBbear = (open > BBupper) and (close < BBupper)
RSIbull = crossover(RSI , RSIN)
RSIbear = crossunder(RSI, RSIN)
Longsignal = (BBbull) and (RSIbull or RSIbull[1] or
RSIbull[2] or RSIbull[3] or RSIbull[4] or
RSIbull[5] or RSIbull[6] or RSIbull[7] or
RSIbull[8] or RSIbull[9] or RSIbull[10])
Shortsignal = (BBbear) and (RSIbear or RSIbear[1] or
RSIbear[2] or RSIbear[3] or RSIbear[4] or
RSIbear[5] or RSIbear[6] or RSIbear[7] or
RSIbear[8] or RSIbear[9] or RSIbear[10])
// Save SL values
var SLlongsaved = 0.0
var SLshortsaved = 0.0
if Longsignal and (strategy.position_size == -1) ///////////////////////////////
SLlongsaved := longSL
if Shortsignal and (strategy.position_size == 1) ////////////////////////////////
SLshortsaved := shortSL
// Plots
//plotshape(Longsignal , size=size.small, color=color.teal)
//plotshape(Shortsignal, size=size.small, color=color.fuchsia)
plot(Longsignal ? longSL : na, color=color.red, style=plot.style_linebr, linewidth=6)
plot(Shortsignal ? shortSL : na, color=color.red, style=plot.style_linebr, linewidth=6)
p1 = plot(BBupper,title="Bollinger Bands Upper Line", color=color.gray, transp=60)
p2 = plot(BBlower,title="Bollinger Bands Lower Line", color=color.gray, transp=60)
plot(MA, title="Bollinger Bands MA Basis Line" , color=color.white, transp=50)
fill(p1, p2, color=color.white, transp=92)
// Strategy Entry & Exit
//if Longsignal
strategy.entry(id="Long entry", long=true, when=Longsignal) //, oca_name="x", oca_type=strategy.oca.cancel)
//if Shortsignal
strategy.entry(id="Short entry", long=false, when=Shortsignal) //, oca_name="x", oca_type=strategy.oca.cancel)
strategy.close(id="Long exit", when=strategy.position_size > 0)//, from_entry="Long entry" //, when=strategy.position_size > 0 // , stop=SLlongsaved)
strategy.close(id="Short Exit", when=strategy.position_size < 0)//, from_entry="Short entry" //, when=strategy.position_size < 0 //, stop=SLshortsaved)
plot(strategy.position_size) //////////////////////////////////////////////