آر ایس آئی اور بولنگر بینڈ دوہری حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-12 11:53:49
ٹیگز:

img

جائزہ

اس حکمت عملی کا بنیادی خیال دوہری تجارتی سگنل کو فلٹر کرنے اور جتنا ممکن ہو غلط سگنل کی مداخلت کو کم سے کم کرنے کے لئے رشتہ دار طاقت انڈیکس (آر ایس آئی) اور بولنگر بینڈ ، دو تکنیکی اشارے کو جوڑنا ہے ، سگنل کے معیار کو بہتر بناتا ہے۔

جب آر ایس آئی اشارے میں زیادہ خریدنے یا زیادہ فروخت ہونے کے اشارے دکھائے جاتے ہیں جبکہ قیمت بولنگر بینڈ کی اوپری اور نچلی ریلوں کو توڑ دیتی ہے یا واپس کھینچتی ہے تو ، تجارتی مواقع سامنے آئیں گے۔ یہ دو مختلف اشارے کے فوائد کو یکجا کرتا ہے ، جس میں مارکیٹ میں اتار چڑھاؤ کی شماریاتی خصوصیات اور مارکیٹ کے شرکاء کے طویل / مختصر موقف دونوں کو مدنظر رکھتے ہوئے فیصلے کی ایک جامع بنیاد تشکیل دی جاتی ہے۔

حکمت عملی کا اصول

آر ایس آئی کے حصے کے لئے ، ہم ایک ہی وقت میں مختلف سائیکل کی لمبائی کے ساتھ دو آر ایس آئی اشارے کی نگرانی کرتے ہیں۔ ایک مختصر سائیکل والا سائیکل زیادہ خریدنے اور زیادہ فروخت ہونے والے سگنلز کو پکڑنے کے لئے استعمال کیا جاتا ہے ، جبکہ ایک طویل سائیکل والا سائیکل رجحان کی تبدیلیوں کی تصدیق کے لئے استعمال ہوتا ہے۔ جب مختصر سائیکل آر ایس آئی زیادہ خریدنے / زیادہ فروخت اور طویل سائیکل آر ایس آئی میں تبدیلی ظاہر ہوتی ہے تو ، ہمارا خیال ہے کہ تجارتی موقع پیدا ہوا ہے۔

بولنگر بینڈس کے حصے کے لئے ، ہم نگرانی کرتے ہیں کہ آیا قیمت اوپری اور نچلی ریلوں سے ٹوٹ جاتی ہے۔ بولنگر بینڈس کی اوپری ریل سے ٹوٹنا فروخت کا نقطہ ہے ، اور نچلی ریل سے ٹوٹنا خریدنے کا نقطہ ہے۔ اسی وقت ، ہم اس بات کی بھی نگرانی کرتے ہیں کہ آیا قیمت بولنگر بینڈس میں واپس کھینچتی ہے تاکہ الٹ جانے کے مواقع کو بروقت طریقے سے حاصل کیا جاسکے۔

جب آر ایس آئی اور بولنگر بینڈ کے سگنل بیک وقت ظاہر ہوتے ہیں، تو ہم سمجھتے ہیں کہ تجارتی موقع نے شکل اختیار کرلی ہے اور تجارتی آرڈر جاری کیا جاتا ہے۔

فوائد کا تجزیہ

  • ڈبل اشارے فلٹرنگ زیادہ قابل اعتماد فراہم کرتا ہے اور غیر ضروری تجارت سے بچتا ہے
  • رجحان اور ریورس مارکیٹ دونوں مراحل میں مواقع کو پکڑتا ہے
  • حسب ضرورت ایڈجسٹ کرنے کے لئے ترتیب دینے کے قابل پیرامیٹرز
  • وقت اور پیسے کا انتظام

خطرے کا تجزیہ

  • غلط بولنگر بینڈ پیرامیٹر کی ترتیبات غلط سگنل کا سبب بن سکتی ہیں
  • مارکیٹ کی انتہائی اتار چڑھاؤ سے نمٹنے کے قابل نہیں
  • آر ایس آئی کی انحراف غلط سگنل پیدا کر سکتی ہے
  • مختلف مصنوعات اور سائیکلوں کو اپنانے کے لئے پیرامیٹر کی اصلاح کی ضرورت ہے

پیرامیٹرز کی اصلاح، مناسب طریقے سے پوزیشنوں کو کم کرنے، دستی مداخلت وغیرہ کے ذریعے خطرات سے بچنے اور کنٹرول کیا جا سکتا ہے.

اصلاح کی ہدایات

  • زیادہ خریدنے / زیادہ فروخت کے فیصلوں کو بہتر بنانے کے لئے 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)

مزید