এই কৌশলটি গড়, বুলিন ব্যান্ড এবং আরএসআই সূচকগুলির সমন্বয় ব্যবহার করে, মূল্য প্রবণতা এবং ওভারব্লড ওভারসোলের বিচার করে, যাতে ব্যবসায়ের সুযোগ পাওয়া যায়। এই কৌশলটি একাধিক সূচকের সুবিধাগুলি একত্রিত করে, যাতে ট্রেডিং সিদ্ধান্তের নির্ভুলতা বাড়ানো যায়।
নীতিমালাঃ
গড় রেখা এবং তার ব্রীণ রেখা গণনা করে দামের মধ্য লম্বা রেখার গতিবিধি নির্ণয় করা হয়।
আরএসআই সূচক গণনা করা হয়, যাতে বোঝা যায় যে আপনি ওভারবয় বা ওভারসোল্ড অবস্থায় আছেন কিনা।
যখন দাম নীচে থেকে উপরে ব্রেকিং ব্রেকিং ট্র্যাক থেকে বেরিয়ে আসে এবং RSI একটি মাল্টি-হেড ক্রস হয়, তখন আরও বেশি করুন।
যখন দাম ব্রেকিং ব্রেডের উপর দিয়ে উঠে যায় এবং আরএসআই একটি ফাঁকা ক্রস দেখায়, তখন ফাঁকা করা উচিত।
স্টপ লস লাইন সেট করুন এবং একক ক্ষতি নিয়ন্ত্রণ করুন।
এই কৌশলটির সুবিধাঃ
মাল্টি-ইনডিকেটর পোর্টফোলিও যাচাইকরণ, ভুল লেনদেনের সম্ভাবনা কমাতে পারে।
RSI সূচক সমান্তরাল সিস্টেমের অভাব পূরণ করতে পারে।
সমান্তরাল ব্রীণ সহ বিপর্যয় চিহ্নিত করা যায়।
এই কৌশলের ঝুঁকিঃ
মাল্টি-ইনডিকেটর প্যাকেজিংয়ের জন্য প্যারামিটার অপ্টিমাইজেশনের প্রয়োজন হয়।
আরএসআই এবং ব্রিনের বন্ডের মধ্যে কিছুটা মিল রয়েছে।
বিপরীতমুখী ট্রেডিংয়ের ফলে মাথা ঘুরতে পারে।
সংক্ষেপে, এই কৌশলটি গড় রেখা, ব্রিন ব্যান্ড এবং আরএসআই সূচকগুলির সমন্বয় করে ট্রেন্ডের বিচার করার সময় বিপরীত ট্রেডিংয়ের সুযোগগুলি সনাক্ত করে। সূচকগুলির সমন্বয় ব্যবহার কার্যকারিতা বাড়িয়ে তুলতে পারে তবে প্যারামিটার অপ্টিমাইজেশনের বিষয়ে মনোযোগ দেওয়া এবং ঝুঁকি নিয়ন্ত্রণের প্রয়োজন।
/*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) //////////////////////////////////////////////