اس حکمت عملی کا بنیادی خیال دوہری تجارتی سگنل کو فلٹر کرنے اور جتنا ممکن ہو غلط سگنل کی مداخلت کو کم سے کم کرنے کے لئے رشتہ دار طاقت انڈیکس (آر ایس آئی) اور بولنگر بینڈ ، دو تکنیکی اشارے کو جوڑنا ہے ، سگنل کے معیار کو بہتر بناتا ہے۔
جب آر ایس آئی اشارے میں زیادہ خریدنے یا زیادہ فروخت ہونے کے اشارے دکھائے جاتے ہیں جبکہ قیمت بولنگر بینڈ کی اوپری اور نچلی ریلوں کو توڑ دیتی ہے یا واپس کھینچتی ہے تو ، تجارتی مواقع سامنے آئیں گے۔ یہ دو مختلف اشارے کے فوائد کو یکجا کرتا ہے ، جس میں مارکیٹ میں اتار چڑھاؤ کی شماریاتی خصوصیات اور مارکیٹ کے شرکاء کے طویل / مختصر موقف دونوں کو مدنظر رکھتے ہوئے فیصلے کی ایک جامع بنیاد تشکیل دی جاتی ہے۔
آر ایس آئی کے حصے کے لئے ، ہم ایک ہی وقت میں مختلف سائیکل کی لمبائی کے ساتھ دو آر ایس آئی اشارے کی نگرانی کرتے ہیں۔ ایک مختصر سائیکل والا سائیکل زیادہ خریدنے اور زیادہ فروخت ہونے والے سگنلز کو پکڑنے کے لئے استعمال کیا جاتا ہے ، جبکہ ایک طویل سائیکل والا سائیکل رجحان کی تبدیلیوں کی تصدیق کے لئے استعمال ہوتا ہے۔ جب مختصر سائیکل آر ایس آئی زیادہ خریدنے / زیادہ فروخت اور طویل سائیکل آر ایس آئی میں تبدیلی ظاہر ہوتی ہے تو ، ہمارا خیال ہے کہ تجارتی موقع پیدا ہوا ہے۔
بولنگر بینڈس کے حصے کے لئے ، ہم نگرانی کرتے ہیں کہ آیا قیمت اوپری اور نچلی ریلوں سے ٹوٹ جاتی ہے۔ بولنگر بینڈس کی اوپری ریل سے ٹوٹنا فروخت کا نقطہ ہے ، اور نچلی ریل سے ٹوٹنا خریدنے کا نقطہ ہے۔ اسی وقت ، ہم اس بات کی بھی نگرانی کرتے ہیں کہ آیا قیمت بولنگر بینڈس میں واپس کھینچتی ہے تاکہ الٹ جانے کے مواقع کو بروقت طریقے سے حاصل کیا جاسکے۔
جب آر ایس آئی اور بولنگر بینڈ کے سگنل بیک وقت ظاہر ہوتے ہیں، تو ہم سمجھتے ہیں کہ تجارتی موقع نے شکل اختیار کرلی ہے اور تجارتی آرڈر جاری کیا جاتا ہے۔
پیرامیٹرز کی اصلاح، مناسب طریقے سے پوزیشنوں کو کم کرنے، دستی مداخلت وغیرہ کے ذریعے خطرات سے بچنے اور کنٹرول کیا جا سکتا ہے.
آر ایس آئی اور بولنگر بینڈ کی دوہری حکمت عملی اعلی معیار کے سگنل پیدا کرنے کے لئے دونوں اشارے کی طاقتوں کا مکمل استعمال کرتی ہے۔ پیرامیٹر کی مناسب اصلاح اور رسک مینجمنٹ کے ساتھ ، یہ سرمایہ کاری کی مستحکم واپسی حاصل کرسکتا ہے۔ مزید سگنل اور ماڈلز کو شامل کرنا بھی ایک ممکنہ مستقبل کی سمت ہے۔
/*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)