আরএসআই এবং বলিঙ্গার ব্যান্ডের দ্বৈত কৌশল


সৃষ্টির তারিখ: 2023-12-12 11:53:49 অবশেষে সংশোধন করুন: 2023-12-12 11:53:49
অনুলিপি: 0 ক্লিকের সংখ্যা: 685
1
ফোকাস
1621
অনুসারী

আরএসআই এবং বলিঙ্গার ব্যান্ডের দ্বৈত কৌশল

ওভারভিউ

এই কৌশলটির মূল ধারণা হল তুলনামূলকভাবে দুর্বল সূচক ((আরএসআই) এবং ব্রিনের সাথে দুটি প্রযুক্তিগত সূচককে সংযুক্ত করে ডাবল ট্রেডিং সিগন্যালগুলি ফিল্টার করার জন্য, যতটা সম্ভব মিথ্যা সংকেতের হস্তক্ষেপকে হ্রাস করতে এবং সংকেতের গুণমানকে উন্নত করতে।

যখন RSI সূচকটি একটি ওভার-বই বা ওভার-সেল সংকেত দেখায় এবং একই সাথে দামটি বিপর্যস্ত হয় বা পুনর্নির্ধারণের বুলিং ব্যান্ডটি ট্র্যাকের নিচে চলে যায়, তখন একটি ব্যবসায়ের সুযোগ তৈরি হয়। এটি দুটি ভিন্ন সূচকের সুবিধাগুলিকে সংহত করে, বাজার ওঠানামা এবং বাজারের অংশগ্রহণকারীদের বহুমুখী অবস্থার পরিসংখ্যানগত বৈশিষ্ট্যগুলি বিবেচনা করে, একটি বিস্তৃত বিচার ভিত্তি তৈরি করে।

কৌশল নীতি

আরএসআই বিভাগে, আমরা একই সাথে দুটি পৃথক পিরিয়ডের আরএসআই সূচকগুলিতে নজর রাখি, একটি সংক্ষিপ্ত পিরিয়ড যা ওভারবড ওভারসোল সংকেত ধরতে ব্যবহৃত হয় এবং একটি দীর্ঘ পিরিয়ড যা ট্রেন্ডের বিপরীততা নিশ্চিত করতে ব্যবহৃত হয়। যখন সংক্ষিপ্ত পিরিয়ড আরএসআই ওভারবড ওভারসোল দেখায় এবং দীর্ঘ পিরিয়ড আরএসআই বিপরীত দেখায়, তখন ব্যবসায়ের সুযোগ তৈরি হয় বলে মনে করা হয়।

বুলিন রেঞ্জের অংশে, আমরা লক্ষ্য রাখি যে দামটি উর্ধ্ব-নিম্ন ট্র্যাকটি ভেঙে ফেলবে কিনা। বুলিন রেঞ্জের উর্ধ্ব-নিম্ন ট্র্যাকটি বিক্রয় পয়েন্ট হিসাবে এবং নীচের ট্র্যাকটি ক্রয় পয়েন্ট হিসাবে ভেঙে ফেলবে কিনা। একই সাথে আমরা লক্ষ্য রাখি যে দামটি বুলিন রেঞ্জের পিছনে ফিরে আসবে কিনা, যাতে আমরা সময়মতো বিপরীত সুযোগটি ধরতে পারি।

যখন RSI সংকেত এবং ব্রেন্ডের সংকেত একই সময়ে উপস্থিত হয়, তখন আমরা ট্রেডিংয়ের সুযোগটি বিবেচনা করি এবং একটি ট্রেডিং নির্দেশ জারি করি।

সামর্থ্য বিশ্লেষণ

  • দ্বৈত সূচক ফিল্টার, উচ্চ নির্ভরযোগ্যতা, অতিরিক্ত লেনদেন এড়ানো
  • প্রবণতা এবং বিপর্যয়কে একসাথে বিবেচনা করুন এবং বাজারের বিভিন্ন পর্যায়ে সুযোগগুলি কাজে লাগান
  • প্যারামিটার কনফিগারযোগ্য, প্রয়োজন অনুসারে প্যারামিটারগুলি সামঞ্জস্য করা যায়
  • অন্তর্নির্মিত সময় এবং তহবিল ব্যবস্থাপনা

ঝুঁকি বিশ্লেষণ

  • ভুল ব্রিন-ব্যান্ড প্যারামিটার সেট করলে ভুয়া সংকেত হতে পারে
  • মার্কেটের তীব্র অস্থিরতার সাথে মোকাবিলা করতে অক্ষম
  • RSI সূচক বিচ্ছিন্ন হলে ভুল সংকেত হতে পারে
  • বিভিন্ন জাত এবং সময়কালের জন্য প্যারামিটারগুলি অপ্টিমাইজ করা দরকার

প্যারামিটার অপ্টিমাইজেশান, যথাযথভাবে হোল্ডিং স্থান হ্রাস এবং মানুষের হস্তক্ষেপের মাধ্যমে ঝুঁকি এড়ানো এবং নিয়ন্ত্রণ করা যায়।

অপ্টিমাইজেশান দিক

  • আরএসআই প্যারামিটারগুলিকে সামঞ্জস্য করে ওভার-বই ওভার-সেলিংয়ের সিদ্ধান্তকে অপ্টিমাইজ করুন
  • বুলিন ব্যান্ডউইথের সমন্বয়, বুলিন ব্যান্ডউইথের বিভাজন কৌশলকে অনুকূলিত করা
  • পজিশন ম্যানেজমেন্ট ব্যবস্থা বৃদ্ধি
  • স্টপ লস বাড়ান
  • মাল্টি-ফ্যাক্টর মডেলের সাথে আরও সূচক যুক্ত করুন

সারসংক্ষেপ

আরএসআই এবং বুলিনের ডাবল স্ট্র্যাটেজি উভয় সূচককে উচ্চমানের সংকেত তৈরির জন্য ব্যবহার করে, যা প্যারামিটার অপ্টিমাইজেশন এবং ঝুঁকি পরিচালনার ক্ষেত্রে একটি স্থিতিশীল রিটার্ন অর্জন করতে পারে। আরও সংকেত এবং মডেলের সংমিশ্রণও ভবিষ্যতের সম্ভাব্য দিক।

কৌশল সোর্স কোড
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ezieh Str.v2", shorttitle="Ezieh Str.v2", overlay=true, pyramiding=10, currency=currency.USD, slippage=3, commission_type=strategy.commission.cash_per_order, commission_value=0.04, initial_capital=1000)



UseDateFilter  = input(title="Enable Date Filter"         ,type=input.bool    ,defval=false                               ,group="Date & Time" ,tooltip="Turns on/off date filter")
StartDate      = input(title="Start Date Filter"          ,type=input.time    ,defval=timestamp("1 Jan 2000 00:00 +0000") ,group="Date & Time" ,tooltip="Date & time to start excluding trades")
EndDate        = input(title="End Date Filter"            ,type=input.time    ,defval=timestamp("1 Jan 2100 00:00 +0000") ,group="Date & Time" ,tooltip="Date & time to stop excluding trades")
UseTimeFilter  = input(title="Enable Time Session Filter" ,type=input.bool    ,defval=false                               ,group="Date & Time" ,tooltip="Turns on/off time session filter")
TradingSession = input(title="Trading Session"            ,type=input.session ,defval="1000-2200:1234567"                 ,group="Date & Time" ,tooltip="No trades will be taken outside of this range")

In(t)      => na(time(timeframe.period, t)) == false
TimeFilter = (UseTimeFilter and not In(TradingSession)) or not UseTimeFilter
DateFilter = time >= StartDate and time <= EndDate

DateTime = (UseDateFilter ? not DateFilter : true) and (UseTimeFilter ? In(TradingSession) : true) 

///////////// RSI
L_RSI_Length     = input(7  , title="L_Length")
L_RSI_OverSold   = input(45 , title="L_OverSold")
S_RSI_Length     = input(14 , title="S_Length")
S_RSI_OverBought = input(65 , title="S_OverBought")

price = close
Lvrsi = rsi(price, L_RSI_Length)
Svrsi = rsi(price, S_RSI_Length)

///////////// Bollinger Bands
BBlength = input(title="Bollinger Period Length", type=input.integer, defval=100, minval=2)
BBmult = 2.1 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
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(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")



///////////// Condition
LongCondition  = crossover(Lvrsi, L_RSI_OverSold)    and crossover(close  ,BBlower)
ShortCondition = crossunder(Svrsi, S_RSI_OverBought) and crossunder(close,BBupper)
Longexcon      = crossunder(low, BBupper)
Shortexcon     = crossover(low, BBlower)

qt = round(strategy.equity/price, 3)

///////////// RSI + Bollinger Bands Strategy
if (not na(Lvrsi))

    if LongCondition and DateTime
        strategy.entry("RSI_BB_L", strategy.long, qty=qt,  comment="Long")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if Longexcon
        strategy.close("RSI_BB_L", qty_percent = 100, comment = "L_exit")
    
    if ShortCondition and DateTime
        strategy.entry("RSI_BB_S", strategy.short, qty=qt,  comment="Short")
    else
        strategy.cancel(id="RSI_BB_S")
        
    if Shortexcon
        strategy.close("RSI_BB_S", qty_percent = 100, comment = "S_exit")
    
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)