سپر ٹرینڈ بولنگر بینڈز حکمت عملی اے ٹی آر (اوسط حقیقی رینج) پر مبنی ایک عام ٹریلنگ اسٹاپ اشارے کی حکمت عملی ہے۔ یہ حکمت عملی چارٹ پر تیزی اور bearish رجحان چینلز کو کھینچنے کے لئے سپر ٹرینڈ اشارے کا استعمال کرتی ہے اور بولنگر بینڈز کے ساتھ مل کر تجارتی سگنل تیار کرتی ہے۔
اس حکمت عملی میں سپر ٹرینڈ لائنوں کا حساب لگانے کے لئے دو اہم پیرامیٹرز استعمال کیے جاتے ہیں - مدت اور ضارب ، جس میں بالترتیب 10 اور 3 کی ڈیفالٹ اقدار ہیں۔ حساب کتاب کا مخصوص فارمولا مندرجہ ذیل ہے:
اوپری لائن: بند - (متعدد x ATR) نچلی لائن: بند + (متعدد ایکس اے ٹی آر)
جب اختتامی قیمت پچھلی اوپری لائن سے زیادہ ہوتی ہے تو ، اسے تیزی کا اشارہ سمجھا جاتا ہے۔ جب اختتامی قیمت پچھلی نچلی لائن سے نیچے ہوتی ہے تو ، اسے bearish سگنل سمجھا جاتا ہے۔
اس حکمت عملی میں بولنگر بینڈز اشارے کو بھی شامل کیا گیا ہے ، جس میں درمیانی بینڈ کو بیس لائن کے طور پر استعمال کیا گیا ہے ، اور اس سے دو معیاری انحراف کے فاصلے پر واقع اوپری اور نچلی بینڈ ہیں۔ جب قیمت نیچے سے درمیانی بینڈ سے اوپر ہوتی ہے تو خرید کا اشارہ پیدا ہوتا ہے۔ جب قیمت اوپر سے درمیانی بینڈ سے نیچے ہوتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
سپر ٹرینڈ بولنگر بینڈز کی حکمت عملی متعدد تکنیکی اشارے کی طاقتوں کو مربوط کرتی ہے اور مارکیٹ کے رجحانات کو مؤثر طریقے سے ٹریک کرنے کے لئے متحرک ٹریلنگ اسٹاپ میکانزم کا استعمال کرتی ہے۔ یہ انتہائی حسب ضرورت حکمت عملی مختلف مارکیٹوں میں اچھی طرح سے اپناتی ہے ، جس سے یہ ایک تجویز کردہ بریکآؤٹ کا پیچھا کرنے والی حکمت عملی بن جاتی ہے۔ تاہم ، وِپساؤس اور اوور ٹریڈنگ جیسے خطرات کو مزید پیچیدہ مارکیٹ کے ماحول کے مطابق مزید اصلاحات کے ذریعہ حل کیا جانا چاہئے۔
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h 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/ // © KivancOzbilgic //@version=4 strategy("SuperTrend STRATEGY", overlay=true) Periods = input(title="ATR Period", type=input.integer, defval=10) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 up=src-(Multiplier*atr) up1 = nz(up[1],up) up := close[1] > up1 ? max(up,up1) : up dn=src+(Multiplier*atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0) plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0) plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor) fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor) FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 999) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = buySignal if (longCondition) strategy.entry("BUY", strategy.long) shortCondition = sellSignal if (shortCondition) strategy.entry("SELL", strategy.short) buy1= barssince(buySignal) sell1 = barssince(sellSignal) color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na barcolor(barcoloring ? color1 : na)