یہ حکمت عملی قیمت میں سوئنگ ہائی اور لو کی نشاندہی کرنے کے لئے محور پوائنٹس (پییوٹ ہائی اور پییوٹ لو) کا استعمال کرتی ہے اور ان پوائنٹس کی بنیاد پر اوپر اور نیچے کی رجحان لائنیں تیار کرتی ہے۔ رجحان لائنوں کی ڈھلوان کا حساب اے ٹی آر (اوسط حقیقی رینج) ، معیاری انحراف ، یا لکیری رجعت جیسے طریقوں کا استعمال کرتے ہوئے کیا جاتا ہے ، اور پھر ڈھلوان فیکٹر کے ذریعہ ایڈجسٹ کیا جاتا ہے۔ جب قیمت رجحان لائن سے ٹوٹ جاتی ہے تو ، حکمت عملی خرید یا فروخت کا اشارہ پیدا کرتی ہے۔
یہ حکمت عملی ایک حقیقی وقت کی رجحان لائن ٹریڈنگ سسٹم کی تعمیر کے لئے محور پوائنٹس اور رجحان لائن ڈھلوانوں کا استعمال کرتی ہے۔ رجحان لائن بریکآؤٹ واقعات کو پکڑنے سے ، یہ حکمت عملی رجحان کی تشکیل کے ابتدائی مراحل میں تجارت کرسکتی ہے۔ اگرچہ اس حکمت عملی کے کچھ فوائد ہیں ، لیکن پھر بھی اس کے خطرات سے آگاہ ہونا ضروری ہے ہچکچاہٹ والی منڈیوں میں اور مزید معلومات متعارف کرانے ، سگنل فلٹرنگ ، پوزیشن مینجمنٹ اور دیگر طریقوں کو بہتر بنانے سے حکمت عملی کی استحکام اور منافع کو مزید بڑھانا ضروری ہے۔
/*backtest start: 2023-04-20 00:00:00 end: 2024-04-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(" only Ajay ", overlay=true) //------------------------------------------------------------------------------ //Settings //------------------------------------------------------------------------------{ length = input.int(14, 'Swing Detection Lookback') mult = input.float(1., 'Slope', minval = 0, step = .1) calcMethod = input.string('Atr', '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 upCss = input.color(color.teal, 'Up Trendline Color', group = 'Style') dnCss = input.color(color.red, 'Down Trendline Color', group = 'Style') showExt = input(true, 'Show Extended Lines') //------------------------------------------------------------------------------} //Calculations //------------------------------------------------------------------------------{ var upper = 0. var lower = 0. var slope_ph = 0. var slope_pl = 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, 'Upper', color = ph ? na : upCss, offset = -offset) plot(backpaint ? lower : lower + slope_pl * length, 'Lower', color = pl ? na : dnCss, offset = -offset) //Breakouts upBreakout = upos > upos[1] dnBreakout = dnos > dnos[1] if (upBreakout) strategy.entry("Up Breakout", strategy.long) if (dnBreakout) strategy.entry("Down Breakout", strategy.short) //------------------------------------------------------------------------------} //Alerts //------------------------------------------------------------------------------{ alertcondition(upos > upos[1], 'Upward Breakout', 'Price broke the down-trendline upward') alertcondition(dnos > dnos[1], 'Downward Breakout', 'Price broke the up-trendline downward') //------------------------------------------------------------------------------}