یہ حکمت عملی متعدد ٹرینڈ لائن بریک آؤٹس پر مبنی ایک ذہین تجارتی نظام ہے۔ یہ متحرک طور پر اہم سپورٹ اور مزاحمت کی سطح کی نشاندہی کرتا ہے ، رجحان لائن کے ڈھلوانوں کا حساب لگانے کے لئے متعدد تکنیکی اشارے کو جوڑتا ہے ، اور جب قیمتیں رجحان لائنوں کو توڑتی ہیں تو تجارت انجام دیتا ہے۔ یہ حکمت عملی نہ صرف مارکیٹ کے رجحان کی موڑ پوائنٹس پر قبضہ کرتی ہے بلکہ اسے مارکیٹ کے مختلف حالات کے مطابق ڈھالنے کے لئے بھی بہتر بنایا جاسکتا ہے۔
بنیادی منطق میں تین اہم اجزاء شامل ہیں۔ پہلا ، یہ ابتدائی معاونت اور مزاحمت کی سطحوں کو قائم کرنے کے لئے بیک بیک مدت کا استعمال کرتے ہوئے کلیدی اونچائیوں اور نچلی سطحوں کی نشاندہی کرتا ہے۔ دوسرا ، یہ منتخب کردہ طریقہ کار (اے ٹی آر ، معیاری انحراف ، یا لکیری رجعت) کی بنیاد پر رجحان لائن کے ڈھلوانوں کا متحرک حساب لگاتا ہے تاکہ مارکیٹ کی اتار چڑھاؤ کو بہتر طور پر اپنایا جاسکے۔ آخر میں ، یہ رجحان لائنوں کے ساتھ قیمت کے تعلقات کی نگرانی کرتا ہے اور بریک آؤٹ پر تجارتی سگنل کو متحرک کرتا ہے۔ اس نظام میں بیک پینٹنگ پیرامیٹر کے ذریعہ بیک ٹیسٹ اوور فٹنگ کو روکنے کے لئے میکانیزم بھی شامل ہیں ، جو حقیقی تجارتی حالات کی نقالی کرتے ہیں۔
یہ حکمت عملی مختلف تکنیکی تجزیہ کے طریقوں کو جامع طور پر استعمال کرکے ایک قابل اعتماد ٹرینڈ لائن بریکآؤٹ ٹریڈنگ سسٹم تیار کرتی ہے۔ اس کی طاقت واضح تجارتی سگنل فراہم کرتے ہوئے مارکیٹ کی تبدیلیوں کے مطابق متحرک طور پر موافقت کرنے کی صلاحیت میں ہے۔ اگرچہ کچھ موروثی خطرات موجود ہیں ، لیکن حکمت عملی کی استحکام اور منافع کو مناسب پیرامیٹر کی ترتیبات اور مسلسل اصلاح کے ذریعے نمایاں طور پر بہتر بنایا جاسکتا ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Alexgoldhunter //@version=5 strategy("Trendlines with Breaks Strategy [AlexGoldHunter]", overlay=true) // Input parameters length = input.int(14, title="Swing Detection Lookback") mult = input.float(1.0, title="Slope", minval=0, step=0.1) calcMethod = input.string('Atr', title="Slope Calculation Method", options=['Atr','Stdev','Linreg']) backpaint = input(true, tooltip='Backpainting offset displayed elements in the past. Disable backpainting to see real-time information returned by the indicator.') // Style settings upCss = input.color(color.teal, title="Up Trendline Color", group="Style") dnCss = input.color(color.red, title="Down Trendline Color", group="Style") showExt = input(true, title="Show Extended Lines") // Calculations var upper = 0.0 var lower = 0.0 var slope_ph = 0.0 var slope_pl = 0.0 var offset = backpaint ? length : 0 n = bar_index src = close ph = ta.pivothigh(length, length) pl = ta.pivotlow(length, length) // Slope Calculation Method slope = switch calcMethod 'Atr' => ta.atr(length) / length * mult 'Stdev' => ta.stdev(src, length) / length * mult 'Linreg' => math.abs(ta.sma(src * n, length) - ta.sma(src, length) * ta.sma(n, length)) / ta.variance(n, length) / 2 * mult // Get slopes and calculate trendlines slope_ph := ph ? slope : slope_ph slope_pl := pl ? slope : slope_pl upper := ph ? ph : upper - slope_ph lower := pl ? pl : lower + slope_pl var upos = 0 var dnos = 0 upos := ph ? 0 : close > upper - slope_ph * length ? 1 : upos dnos := pl ? 0 : close < lower + slope_pl * length ? 1 : dnos // Extended Lines // var uptl = line.new(na, na, na, na, color=upCss, style=line.style_dashed, extend=extend.right) // var dntl = line.new(na, na, na, na, color=dnCss, style=line.style_dashed, extend=extend.right) // if ph and showExt // uptl.set_xy1(n - offset, backpaint ? ph : upper - slope_ph * length) // uptl.set_xy2(n - offset + 1, backpaint ? ph - slope : upper - slope_ph * (length + 1)) // if pl and showExt // dntl.set_xy1(n - offset, backpaint ? pl : lower + slope_pl * length) // dntl.set_xy2(n - offset + 1, backpaint ? pl + slope : lower + slope_pl * (length + 1)) // Plots plot(backpaint ? upper : upper - slope_ph * length, title="Upper", color=ph ? na : upCss, offset=-offset) plot(backpaint ? lower : lower + slope_pl * length, title="Lower", color=pl ? na : dnCss, offset=-offset) // Breakouts plotshape(upos > upos[1] ? low : na, title="Upper Break", style=shape.labelup, location=location.absolute, color=upCss, text="alex_buy_now", textcolor=color.white, size=size.tiny) plotshape(dnos > dnos[1] ? high : na, title="Lower Break", style=shape.labeldown, location=location.absolute, color=dnCss, text="alex_sell_now", textcolor=color.white, size=size.tiny) // Strategy: Buy and Sell conditions if (upos > upos[1]) strategy.entry("Buy", strategy.long) if (dnos > dnos[1]) strategy.entry("Sell", strategy.short) // Alerts alertcondition(upos > upos[1], title="Upward Breakout", message="Price broke the down-trendline upward") alertcondition(dnos > dnos[1], title="Downward Breakout", message="Price broke the up-trendline downward")