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

ADX ATR TMA TP SL 3LS
تخلیق کی تاریخ: 2025-02-20 17:46:30 آخر میں ترمیم کریں: 2025-02-20 17:46:30
کاپی: 0 کلکس کی تعداد: 459
2
پر توجہ دیں
319
پیروکار

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

جائزہ

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

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

حکمت عملی کی بنیادی منطق میں درج ذیل کلیدی عناصر شامل ہیں:

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-08-11 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
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)