ATR اور ADX پر مبنی ڈائنامک تھری لائن بریک آؤٹ ٹریڈنگ حکمت عملی

ATR ADX SL TP
تخلیق کی تاریخ: 2025-02-21 09:23:20 آخر میں ترمیم کریں: 2025-02-27 17:20:50
کاپی: 2 کلکس کی تعداد: 405
2
پر توجہ دیں
319
پیروکار

ATR اور ADX پر مبنی ڈائنامک تھری لائن بریک آؤٹ ٹریڈنگ حکمت عملی ATR اور ADX پر مبنی ڈائنامک تھری لائن بریک آؤٹ ٹریڈنگ حکمت عملی

جائزہ

یہ حکمت عملی ایک اعلی درجے کی ٹریڈنگ سسٹم ہے جو کلاسیکی ٹرپل لائن ٹرانسمیشن پر مبنی ہے، جس میں ADX رجحان کی تصدیق کے اشارے اور ATR متحرک سٹاپ اسٹاپ میکانیزم کو ضم کرکے ایک مکمل ٹریڈنگ حل فراہم کرتا ہے. حکمت عملی کا بنیادی حصہ تین مسلسل ہم آہنگ K لائنوں کے بعد ٹرانسمیشن کی شناخت ہے، اور رجحان کی طاقت کی تصدیق کے ساتھ مل کر، درست ٹریڈنگ سگنل کی پیداوار کے لئے.

حکمت عملی کا اصول

حکمت عملی تین بنیادی میکانزم پر مبنی ہے: سب سے پہلے ، کلاسیکی تین لائن ٹوٹنے والی شکلوں کی نشاندہی کرنا ، بشمول پوزیشن کی شکل (((تین لگاتار سلاخوں کے بعد پائی لائن ٹوٹنا) اور گرنے والی شکل (((تین لگاتار سلاخوں کے بعد پائی لائن ٹوٹنا) ۔ اس کے بعد ، رجحان کی طاقت کو فلٹر کرنے کے لئے ADX ((( اوسط رجحان اشارے) کا استعمال کیا جاتا ہے ، اور صرف اس وقت اشارے کی تصدیق کی جاتی ہے جب ADX کی قیمت مقررہ حد سے تجاوز کر جاتی ہے۔ آخر میں ، ATR ((( حقیقی طول موج) کا استعمال کرتے ہوئے ، اسٹیج اسٹاپ نقصان کی پوزیشن کا حساب کتاب کرنے کے لئے ، خطرے کے انتظام کی خود بخود موافقت کو پورا کریں۔ حکمت عملی کو تکنیکی طور پر درست K لائن رنگ کی تشخیص اور ٹوٹنے کی طاقت کی تصدیق کے ذریعہ سگنل کے معیار کو یقینی بنانا ہے۔

اسٹریٹجک فوائد

  1. سگنل کی تصدیق کے طریقہ کار کو بہتر بنایا گیا: متعدد تکنیکی اشارے (K لائن کی شکل ، ADX ، ATR) کے امتزاج سے سگنل کی وشوسنییتا میں اضافہ
  2. خطرہ مینجمنٹ انٹیلیجنٹ: اے ٹی آر پر مبنی متحرک اسٹاپ نقصان کی ترتیب ، جو مارکیٹ میں اتار چڑھاؤ کے مطابق خود بخود ایڈجسٹ ہوسکتی ہے
  3. انتہائی حسب ضرورت: ADX thresholds، ATR cycles وغیرہ سمیت کئی اہم پیرامیٹرز کے لئے ایڈجسٹمنٹ کے اختیارات فراہم کرتے ہیں
  4. ٹرینڈ ٹریکنگ میں اضافہ: ADX فلٹرنگ صرف مضبوط رجحان کے ماحول میں داخلے کو یقینی بناتا ہے
  5. واضح کوڈ کی ساخت: ماڈیولر ڈیزائن کی بحالی اور توسیع کے لئے آسان

اسٹریٹجک رسک

  1. شکل کی شناخت میں تاخیر: تین لائنوں میں توڑنے والی شکل کی تصدیق کے لئے چار K لائنوں کو مکمل کرنے کی ضرورت ہے ، جس سے داخلے کے وقت میں تاخیر ہوسکتی ہے۔
  2. جعلی بریک کا خطرہ: غیر مستحکم مارکیٹوں میں جعلی بریک سگنل کا امکان
  3. ADX پسماندہ: رجحان کی تصدیق کے اشارے کے طور پر ، ADX خود ہی کچھ پسماندہ ہے
  4. نقصان کی حد پر غور: اے ٹی آر پر مبنی نقصان کی ترتیب شدید اتار چڑھاو کے دوران بہت بڑی یا بہت چھوٹی ہوسکتی ہے
  5. مارکیٹ کے ماحول پر انحصار: حکمت عملی رجحانات میں نمایاں طور پر بہتر کارکردگی کا مظاہرہ کرتی ہے ، ہنگامہ خیز مارکیٹوں میں اس کا اثر کم ہوسکتا ہے

حکمت عملی کی اصلاح کی سمت

  1. سگنل فلٹرنگ میں اضافہ: سگنل کی وشوسنییتا کو بہتر بنانے کے لئے مقدار کی تصدیق کا طریقہ کار شامل کیا جاسکتا ہے
  2. متحرک پیرامیٹرز کی اصلاح: ADX thresholds اور ATR cycles کو متحرک طور پر ایڈجسٹ کرنے کے لئے ایک موافقت پذیر میکانیزم متعارف کرایا
  3. انٹری ٹائمنگ کی اصلاح: قیمتوں کے ڈھانچے ((سپورٹ بٹس / مزاحمت بٹس) کے ساتھ مل کر انٹری پوائنٹس کو بہتر بنایا جاسکتا ہے
  4. پوزیشن مینجمنٹ کو بہتر بنانا: متحرک پوزیشن مینجمنٹ میکانزم میں اضافہ
  5. مارکیٹ کے ماحول کی شناخت: مارکیٹ کے ماحول کی درجہ بندی کی منطق شامل کریں ، مختلف مارکیٹ کے حالات میں مختلف پیرامیٹرز کی ترتیبات کا استعمال کریں

خلاصہ کریں۔

اس حکمت عملی نے کلاسیکی تھری لائن بریکنگ فارمیٹ کو جدید تکنیکی اشارے کے ساتھ جوڑ کر ایک ایسا تجارتی نظام تیار کیا ہے جس میں نظریاتی بنیاد اور عملی دونوں ہیں۔ اس کی بنیادی طاقت متعدد سگنل کی تصدیق کے میکانزم اور ذہین رسک مینجمنٹ میں ہے ، لیکن اس کا استعمال کرتے وقت مارکیٹ کے ماحول کے لئے موزوں اور پیرامیٹرز کی اصلاح کے بارے میں دھیان دینے کی ضرورت ہے۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، حکمت عملی میں مزید بہتری کی گنجائش ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-08-05 00:00:00
end: 2024-12-24 00:00:00
period: 5h
basePeriod: 5h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

// Copyright ...
// Based on the TMA Overlay by Arty, converted to a simple strategy example.
// Pine Script v5

//@version=5
strategy(title='3 Line Strike [TTF] - Strategy with ATR and ADX Filter',
     shorttitle='3LS Strategy [TTF]',
     overlay=true,
     initial_capital=100000,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=100,
     pyramiding=0)

// -----------------------------------------------------------------------------
//                               INPUTS
// -----------------------------------------------------------------------------

// ATR and ADX Inputs
atrLength = input.int(title='ATR Length', defval=14, group='ATR & ADX')
adxLength = input.int(title='ADX Length', defval=14, group='ATR & ADX')
adxThreshold = input.float(title='ADX Threshold', defval=25, group='ATR & ADX')

// ### 3 Line Strike
showBear3LS = input.bool(title='Show Bearish 3 Line Strike', defval=true, group='3 Line Strike',
     tooltip="Bearish 3 Line Strike (3LS-Bear) = 3 zelené sviečky, potom veľká červená sviečka (engulfing).")
showBull3LS = input.bool(title='Show Bullish 3 Line Strike', defval=true, group='3 Line Strike',
     tooltip="Bullish 3 Line Strike (3LS-Bull) = 3 červené sviečky, potom veľká zelená sviečka (engulfing).")

// -----------------------------------------------------------------------------
//                          CALCULATIONS
// -----------------------------------------------------------------------------

// Calculate ATR
atr = ta.atr(atrLength)

// Calculate ADX components manually
tr = ta.tr(true)
plusDM = ta.change(high) > ta.change(low) and ta.change(high) > 0 ? ta.change(high) : 0
minusDM = ta.change(low) > ta.change(high) and ta.change(low) > 0 ? ta.change(low) : 0
smoothedPlusDM = ta.rma(plusDM, adxLength)
smoothedMinusDM = ta.rma(minusDM, adxLength)
smoothedTR = ta.rma(tr, adxLength)

plusDI = (smoothedPlusDM / smoothedTR) * 100
minusDI = (smoothedMinusDM / smoothedTR) * 100

dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adxLength)

// Helper Functions
getCandleColorIndex(barIndex) =>
    int ret = na
    if (close[barIndex] > open[barIndex])
        ret := 1
    else if (close[barIndex] < open[barIndex])
        ret := -1
    else
        ret := 0
    ret

isEngulfing(checkBearish) =>
    sizePrevCandle = close[1] - open[1]
    sizeCurrentCandle = close - open
    isCurrentLargerThanPrevious = math.abs(sizeCurrentCandle) > math.abs(sizePrevCandle)

    if checkBearish
        isGreenToRed = (getCandleColorIndex(0) < 0) and (getCandleColorIndex(1) > 0)
        isCurrentLargerThanPrevious and isGreenToRed
    else
        isRedToGreen = (getCandleColorIndex(0) > 0) and (getCandleColorIndex(1) < 0)
        isCurrentLargerThanPrevious and isRedToGreen

isBearishEngulfing() => isEngulfing(true)
isBullishEngulfing() => isEngulfing(false)

is3LSBear() =>
    is3LineSetup = (getCandleColorIndex(1) > 0) and (getCandleColorIndex(2) > 0) and (getCandleColorIndex(3) > 0)
    is3LineSetup and isBearishEngulfing()

is3LSBull() =>
    is3LineSetup = (getCandleColorIndex(1) < 0) and (getCandleColorIndex(2) < 0) and (getCandleColorIndex(3) < 0)
    is3LineSetup and isBullishEngulfing()

// Signals
is3LSBearSig = is3LSBear() and adx > adxThreshold
is3LSBullSig = is3LSBull() and adx > adxThreshold

// Take Profit and Stop Loss
longTP = close + 2 * atr
longSL = close - 1 * atr
shortTP = close - 2 * atr
shortSL = close + 1 * atr

// -----------------------------------------------------------------------------
//                          STRATEGY ENTRY PRÍKAZY
// -----------------------------------------------------------------------------
if (showBull3LS and is3LSBullSig)
    strategy.entry("3LS_Bull", strategy.long, comment="3LS Bullish")
    strategy.exit("Exit Bull", from_entry="3LS_Bull", limit=longTP, stop=longSL)

if (showBear3LS and is3LSBearSig)
    strategy.entry("3LS_Bear", strategy.short, comment="3LS Bearish")
    strategy.exit("Exit Bear", from_entry="3LS_Bear", limit=shortTP, stop=shortSL)