ADX فلٹر کے ساتھ رفتار توڑنے کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-04 17:12:30
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

خاص طور پر ، اس حکمت عملی میں بندش کی قیمتوں کے 33 ادوار کا استعمال کرتے ہوئے بولنگر بینڈ کا حساب لگایا جاتا ہے۔ درمیانی بینڈ 33 ادوار کا سادہ چلتا ہوا اوسط ہے ، اور اوپری / نچلی بینڈ کو درمیانی بینڈ کے اوپر / نیچے دو معیاری انحراف پر رکھا جاتا ہے۔ جب قیمت اوپری بینڈ سے نیچے بند ہوجاتی ہے اور 8 ادوار کا ADX 15 ادوار کے ADX سے نیچے ہوتا ہے تو حکمت عملی مختصر سگنل دیتی ہے۔ جب قیمت نچلی بینڈ سے اوپر بند ہوجاتی ہے اور 8 ادوار کا ADX 15 ادوار کے ADX سے اوپر ہوتا ہے تو یہ طویل سگنل دیتی ہے۔ باہر نکلنے کے اوقات 800 منافع پوائنٹس اور 400 پوائنٹس اسٹاپ نقصان پر مقرر ہوتے ہیں۔

فوائد کا تجزیہ

رجحان اور رفتار کے فلٹرز کو شامل کرنے والی بریک آؤٹ حکمت عملی کے طور پر ، اس کے کئی فوائد ہیں:

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

خطرے کا تجزیہ

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. غلط بی بی پیرامیٹرز زیادہ کثرت سے سگنل پیدا کرسکتے ہیں اور اخراجات میں اضافہ کرسکتے ہیں۔
  2. غلط ADX پیرامیٹرز درست سگنل فلٹر کر سکتے ہیں.
  3. سٹاپ نقصان کا فاصلہ بہت وسیع ہو سکتا ہے جس کی وجہ سے بڑے نقصانات ہو سکتے ہیں۔

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

اصلاح کی ہدایات

مزید اصلاحات کی گنجائش ہے:

  1. بہترین پیرامیٹر سیٹ تلاش کرنے کے لئے مختلف مارکیٹ کے اعداد و شمار پر ٹیسٹ.
  2. سگنل فلٹرنگ کے لئے حجم اور چلتی اوسط جیسے دیگر اشارے شامل کریں.
  3. پیرامیٹرز کو خودکار طور پر بہتر بنانے کے لیے مشین لرننگ کے طریقوں کا استعمال کریں۔
  4. متحرک سٹاپ نقصان پر غور کریں اور منافع لیں.

نتیجہ

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


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hizbullah XAUUSD Sniper", overlay=true)

Price = close

Length = input(33)
Mult = input(2)
Basis = sma(Price, Length)
StdDev = Mult * stdev(Price, Length)
Upper = Basis + StdDev
Lower = Basis - StdDev

ADX_Length = input(4)
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
SmoothedTrueRange = sma(TrueRange, ADX_Length)
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedDirectionalMovementPlus = sma(DirectionalMovementPlus, ADX_Length)
SmoothedDirectionalMovementMinus = sma(DirectionalMovementMinus, ADX_Length)
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus)*100
SmoothedADX1 = ema(DX, input(8))
SmoothedADX2 = ema(DX, input(15))

Condition1 = crossunder(Price, Upper) and SmoothedADX1 < SmoothedADX2

Take_Profit = input(800)
Stop_Loss = input(400)

strategy.entry("ShortEntry", true, when = Condition1)
strategy.exit("ShortExit", "ShortEntry", profit = Take_Profit, loss = Stop_Loss)


مزید