یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو اے ٹی آر اشارے اور اے ڈی ایکس اشارے کو جوڑتی ہے۔ یہ بہتر رجحان کی نگرانی کے حصول کے لئے مارکیٹ کے رجحان کے حالات کے مطابق اے ٹی آر ضرب کو متحرک طور پر ایڈجسٹ کرتی ہے۔
یہ حکمت عملی بنیادی طور پر اے ٹی آر اشارے اور اے ڈی ایکس اشارے پر مبنی ہے۔
سب سے پہلے ، یہ ٹرو رینج (اے ٹی آر) اور اے ڈی ایکس کا حساب لگاتا ہے۔ اے ٹی آر مارکیٹ کی اتار چڑھاؤ کی عکاسی کرتا ہے جبکہ اے ڈی ایکس رجحان کی طاقت کا اندازہ کرتا ہے۔
دوسرا ، یہ ADX اشارے میں DI + اور DI- کے درمیان فرق کے مطابق موجودہ رجحان کی سمت کا تعین کرتا ہے۔ اگر DI + DI- سے زیادہ ہے تو ، یہ ایک اپ ٹرینڈ ہے۔ اگر DI- DI + سے زیادہ ہے تو ، یہ ایک ڈاؤن ٹرینڈ ہے۔
اس کے بعد ، جب ADX بڑھ رہا ہے تو ، یہ ایک بڑا ATR ضرب (m1) استعمال کرتا ہے۔ جب ADX گر رہا ہے تو ، یہ متحرک ایڈجسٹمنٹ حاصل کرنے کے لئے ایک چھوٹا ATR ضرب (m2) استعمال کرتا ہے۔ یہ حکمت عملی کا مرکز ہے۔
آخر میں ، اے ٹی آر اور قیمت کے وسط کے ساتھ مل کر ، یہ رجحان کی سمت کا تعین کرنے کے لئے اوپری اور نچلی بینڈ کا حساب لگاتا ہے۔ جب قیمت اوپری بینڈ کو توڑتی ہے تو ، یہ طویل ہوجاتی ہے۔ جب قیمت نچلی بینڈ کو توڑتی ہے تو ، یہ مختصر ہوجاتی ہے۔
لہذا حکمت عملی میں اے ٹی آر اور اے ڈی ایکس شامل ہیں، اور متحرک طور پر اے ٹی آر پیرامیٹرز کو ایڈجسٹ کرکے، یہ ٹریڈنگ کے لئے رجحانات کو بہتر طور پر پکڑ سکتا ہے.
اس حکمت عملی کے کئی واضح فوائد ہیں:
لہذا، یہ ایک بہت ہی عملی رجحان ہے جس میں اچھی ڈراؤنڈ کنٹرول کے ساتھ حکمت عملی کی پیروی کی جاتی ہے۔ سفارش کرنے کے قابل.
اس حکمت عملی میں کچھ خطرات بھی ہیں:
لہذا پیرامیٹر کی اصلاح اور خطرے کے کنٹرول پر توجہ دینے کی ضرورت ہے۔ نیز ، بلیک سوان کے واقعات کا زیادہ اثر پڑ سکتا ہے۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
لہذا مسائل کے مطابق پیرامیٹرز اور میکانزم کو ایڈجسٹ کرکے اصلاح کے لئے ابھی بھی بہت زیادہ گنجائش ہے۔
عام طور پر ، یہ انکولی اے ٹی آر-اے ڈی ایکس ٹرینڈ حکمت عملی وی 2 بہت اچھی کارکردگی کا مظاہرہ کرتی ہے۔ اے ٹی آر پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرکے ، یہ رجحانات کو اچھی طرح سے گرفت میں لیتا ہے۔ نیز ، اے ٹی آر اور اے ڈی ایکس میں دو اشارے کو جوڑنے سے یہ زیادہ مضبوط ہوجاتا ہے۔ لیکن ہمیں ابھی بھی خطرہ کنٹرول اور اصلاح پر توجہ دینے کی ضرورت ہے تاکہ پیچھے رہ جانے اور بڑے پیمانے پر نقصانات سے بچ سکے۔ مجموعی طور پر ، حکمت عملی سیکھنے اور لاگو کرنے کے قابل ہے۔
/*backtest start: 2022-11-28 00:00:00 end: 2023-12-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // From mortdiggiddy's indicator to strategy // See also: https://www.tradingview.com/u/mortdiggiddy/ strategy(title = "Adaptive ATR-ADX Trend V2", shorttitle = "Adaptive ATR V2 Strategy", overlay = true) //Mode src = input(title = "Source", defval = hlc3) atrLen = input(title = "ATR", defval = 21, minval = 1, maxval = 100) m1 = input(title = "ATR Multiplier - ADX Rising", type = float, defval = 3.5, minval = 1, step = 0.1, maxval = 100) m2 = input(title = "ATR Multiplier - ADX Falling", type = float, defval = 1.75, minval = 1, step = 0.1, maxval = 100) adxLen = input(title = "ADX", defval = 14, minval = 1, maxval = 100) adxThresh = input(title = "ADX Threshold", defval = 30, minval = 1) aboveThresh = input(true, title = "ADX Above Threshold uses ATR Falling Multiplier Even if Rising?") useHeiken = input(false, title = "Use Heiken-Ashi Bars (Source will be ohlc4)") // DI-Pos, DI-Neg, ADX hR = change(high) lR = -change(low) dmPos = hR > lR ? max(hR, 0) : 0 dmNeg = lR > hR ? max(lR, 0) : 0 sTR = nz(sTR[1]) - nz(sTR[1]) / adxLen + tr sDMPos = nz(sDMPos[1]) - nz(sDMPos[1]) / adxLen + dmPos sDMNeg = nz(sDMNeg[1]) - nz(sDMNeg[1]) / adxLen + dmNeg DIP = sDMPos / sTR * 100 DIN = sDMNeg / sTR * 100 DX = abs(DIP - DIN) / (DIP + DIN) * 100 adx = sma(DX, adxLen) // Heiken-Ashi xClose = ohlc4 xOpen = (nz(xOpen[1]) + nz(close[1])) / 2 xHigh = max(high, max(xOpen, xClose)) xLow = min(low, min(xOpen, xClose)) // Trailing ATR v1 = abs(xHigh - xClose[1]) v2 = abs(xLow - xClose[1]) v3 = xHigh - xLow trueRange = max(v1, max(v2, v3)) atr = useHeiken ? rma(trueRange, atrLen) : atr(atrLen) m = rising(adx, 1) and (adx < adxThresh or not aboveThresh) ? m1 : falling(adx, 1) or (adx > adxThresh and aboveThresh) ? m2 : nz(m[1]) mUp = DIP >= DIN ? m : m2 mDn = DIN >= DIP ? m : m2 src_ = useHeiken ? xClose : src c = useHeiken ? xClose : close t = useHeiken ? (xHigh + xLow) / 2 : hl2 up = t - mUp * atr dn = t + mDn * atr TUp = max(src_[1], c[1]) > TUp[1] ? max(up, TUp[1]) : up TDown = min(src_[1], c[1]) < TDown[1] ? min(dn, TDown[1]) : dn trend = min(src_, min(c, close)) > TDown[1] ? 1 : max(src_, max(c, close)) < TUp[1]? -1 : nz(trend[1], 1) stop = trend == 1 ? TUp : TDown trendChange = change(trend) longCondition = (trendChange > 0) if (longCondition) strategy.entry("long", strategy.long) shortCondition = (trendChange < 0) if (shortCondition) strategy.entry("short", strategy.short) // Plot lineColor = not(trendChange) ? trend > 0 ? #00FF00DD : #FF0000DD : #00000000 shapeColor = trendChange ? trendChange > 0 ? #00FF00F8 : #FF0000F8 : #00000000 plot(stop, color = lineColor, style = line, linewidth = 1, title = "ATR Trend") plotshape(trendChange ? stop : na, style = shape.circle, size = size.tiny, location = location.absolute, color = shapeColor, title = "Change") alertcondition(trendChange > 0, title = "ATR-ADX Change Up", message = "ATR-ADX Change Up") alertcondition(trendChange < 0, title = "ATR-ADX Change Down", message = "ATR-ADX Change Down") // end