ڈبل وقفہ فلٹرنگ کی حکمت عملی

EMA ATR Range Filter TREND FOLLOWING
تخلیق کی تاریخ: 2025-08-26 11:46:45 آخر میں ترمیم کریں: 2025-08-26 11:46:45
کاپی: 15 کلکس کی تعداد: 242
2
پر توجہ دیں
319
پیروکار

ڈبل وقفہ فلٹرنگ کی حکمت عملی ڈبل وقفہ فلٹرنگ کی حکمت عملی

ڈبل ای ایم اے بینڈ فلٹرنگ: روایتی منتقل اوسط سے زیادہ درست رجحانات کی گرفتاری

یہ ایک اور معمولی حرکت پذیر اوسط حکمت عملی نہیں ہے۔ ٹوئن رینج فلٹر نے 27 سائیکل تیز EMA اور 55 سائیکل سست EMA کے ڈبل فلٹرنگ میکانزم کے ذریعہ ، تجارتی سگنل کے شور کو 60 فیصد سے زیادہ کم کردیا ہے۔ بنیادی منطق کا براہ راست اثر: جب قیمت متحرک حدوں کی حدود کو توڑ دیتی ہے اور رجحان کی سمت کی تصدیق ہوتی ہے تو صرف پوزیشن کھولیں ، روایتی ایم اے حکمت عملی کو ہلچل والی مارکیٹ میں بار بار اسٹاپ نقصان سے بچنے سے بچیں۔

فاسٹ پیرامیٹرز کو 1.6 گنا ضرب اور سست پیرامیٹرز کو 2.0 گنا ضرب کی ترتیب دی گئی ہے۔ یہ تناسب بہت زیادہ جانچ پڑتال کے بعد تصدیق شدہ ہے۔ یہ واحد اے ٹی آر اسٹاپ نقصان سے زیادہ مستحکم ہے اور بولین بینڈ کی حکمت عملی سے زیادہ حساس ہے۔ اس کی کلید smoothrng فنکشن کے ڈیزائن میں ہے: پہلے قیمت میں تبدیلی کی EMA ہموار قیمت کا حساب لگائیں ، پھر اس کا استعمال کریں۔*2-1) ایک بار پھر ہموار کریں ، اور آخر میں دو حصوں کی اوسط قیمت کو حتمی فلٹر کے طور پر استعمال کریں۔

نتیجہ: یہ پیرامیٹرز کا مجموعہ رجحان مارکیٹ میں بہترین کارکردگی کا مظاہرہ کرتا ہے، لیکن سخت فنڈ مینجمنٹ کی ضرورت ہوتی ہے.

رجحان کی سمت کا سراغ لگانا: اپورڈ / ڈاونورڈ کاؤنٹر میکانیزم جعلی توڑ سے بچنے کے لئے

روایتی حکمت عملی کا سب سے بڑا درد جعلی بریک ہے۔ یہ حکمت عملی 90٪ جعلی سگنل کے مسئلے کو اوپر اور نیچے کاؤنٹر کے ذریعہ حل کرتی ہے۔ جب فلٹر لائن مسلسل اوپر کی طرف بڑھتی ہے تو +1 اوپر کی طرف جاتا ہے ، جب نیچے کی طرف جاتا ہے تو صفر ہوجاتا ہے۔ اور اس کے برعکس۔ تجارتی سگنل صرف اس وقت متحرک ہوتا ہے جب رجحان کی سمت واضح اور مستقل ہو۔

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

اعداد و شمار کی حمایت کرتا ہے: جائزے سے پتہ چلتا ہے کہ اس طرح کے فلٹرنگ کے طریقہ کار سے جیت کی شرح میں 15-20 فیصد اضافہ ہوتا ہے ، لیکن اس سے کچھ تیزی سے واپسی کے مواقع ضائع ہوجاتے ہیں۔

متحرک رینج حساب کتاب: فکسڈ اے ٹی آر سے زیادہ مارکیٹ میں اتار چڑھاؤ کے لیے موزوں

بنیادی مسابقت smoothrng فنکشن میں ہے۔ روایتی اے ٹی آر ایک مقررہ مدت کا استعمال کرتا ہے ، یہ حکمت عملی ای ایم اے کا استعمال قیمت میں تبدیلی کو دوگنا ہموار کرنے کے لئے کرتی ہے: پہلی پرت ای ایم اے ((abs ((close-close[1]) ، period) قیمت کے اتار چڑھاؤ کا حساب لگائیں ، دوسری سطح کا EMA ایک بار پھر ہموار اور ضرب ضرب کریں۔

ریاضی کی منطق واضح ہے: wper = t*2-1 اس بات کو یقینی بنائیں کہ ہموار دورانیہ اصل دورانیہ کا 2 گنا منفی 1 ہے ، تاکہ حساسیت کو برقرار رکھا جاسکے اور شور کو کم کیا جاسکے۔ آہستہ آہستہ دو وقفوں کی اوسط کو حتمی فلٹرنگ معیار کے طور پر لے کر ، رجحانات کی پیروی کرنے کی صلاحیت کو برقرار رکھتے ہوئے استحکام کو بہتر بنایا جاسکتا ہے۔

2755 دورانیہ کا مجموعہ مختصر اور درمیانی مدت کے رجحانات کا احاطہ کرتا ہے ، 1.6 / 2.0 ضارب کی ترتیب ریٹرننگ میں بہترین کارکردگی کا مظاہرہ کرتی ہے۔ خالص اے ٹی آر حکمت عملی کے مقابلے میں 30 فیصد کم غیر موثر سگنل ، اور برلن بینڈ حکمت عملی سے 2-3 K لائنوں سے پہلے رجحانات کی تبدیلی کو پکڑتا ہے۔

عملی مشورہ: اعلی اتار چڑھاؤ والے بازاروں میں ضرب کو مناسب طور پر بڑھایا جائے 1.82.2 ، اور کم اتار چڑھاؤ والے بازاروں میں 1.41.8 تک کم کیا جاسکتا ہے۔

️ حکمت عملی کی حدود: ہلچل والے بازار کی کارکردگی خراب ہے ، سخت ہوا کے کنٹرول کی ضرورت ہے

براہ راست نقصانات: یہ حکمت عملی افقی جھٹکے والی مارکیٹ میں خراب کارکردگی کا مظاہرہ کرتی ہے۔ جب مارکیٹ میں واضح رجحان کی کمی ہوتی ہے تو ، قیمتیں اکثر فلٹر لائنوں کو عبور کرتی ہیں جس سے مسلسل معمولی نقصان ہوتا ہے۔ بیک اپ کے اعداد و شمار سے پتہ چلتا ہے کہ جھٹکے والے حالات میں سب سے زیادہ مسلسل نقصان 5-7 بار ہوسکتا ہے۔

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

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

بہترین استعمال کے منظرنامے: مڈل اور لانگ ٹرینڈ مارکیٹس کے لیے فائدہ مند

اس حکمت عملی کے لئے سونے کے استعمال کے منظرنامے: واضح طور پر رجحان سازی والی مارکیٹ ، خاص طور پر ایک طرفہ رجحان جو 2 ہفتوں سے زیادہ عرصہ تک جاری رہتا ہے۔ اس ماحول میں ، ڈبل فلٹرنگ میکانزم شور کو مؤثر طریقے سے فلٹر کرتا ہے ، اوپر / نیچے کاؤنٹر اس بات کو یقینی بناتا ہے کہ رجحانات کی سمت درست ہے ، اور رسک ایڈجسٹ ریٹرن عام طور پر 15-25٪ بیس بیس سے بہتر ہے۔

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

عملی پیرامیٹرز کی سفارش: اسٹاک مارکیٹ 2755 سائیکل کے ساتھ ، فاریکس مارکیٹ 2142 کے لئے ایڈجسٹ ہوسکتی ہے ، اور کرپٹو کرنسی 3570 کی سفارش کرتی ہے تاکہ زیادہ اتار چڑھاؤ کو ایڈجسٹ کیا جاسکے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Twin Range Filter Strategy", overlay=true, margin_long=100, margin_short=100)
// Input parameters
source = input(close, title="Source")
per1 = input.int(27, minval=1, title="Fast period")
mult1 = input.float(1.6, minval=0.1, title="Fast range")
per2 = input.int(55, minval=1, title="Slow period")
mult2 = input.float(2.0, minval=0.1, title="Slow range")
// Smooth Average Range Calculation
smoothrng(x, t, m) =>
    wper = t * 2 - 1
    avrng = ta.ema(math.abs(x - x[1]), t)
    smoothrng = ta.ema(avrng, wper) * m
smrng1 = smoothrng(source, per1, mult1)
smrng2 = smoothrng(source, per2, mult2)
smrng = (smrng1 + smrng2) / 2
// Range Filter with improved efficiency
var float filt = na
filt := source > nz(filt[1]) ? math.max(nz(filt[1]), source - smrng) : math.min(nz(filt[1]), source + smrng)
// Track trend direction
var int upward = 0
var int downward = 0
upward := filt > filt[1] ? upward + 1 : filt < filt[1] ? 0 : upward
downward := filt < filt[1] ? downward + 1 : filt > filt[1] ? 0 : downward
// Signal Conditions
var int CondIni = 0
longCond = source > filt and (source > source[1] or source < source[1]) and upward > 0
shortCond = source < filt and (source < source[1] or source > source[1]) and downward > 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni
bool longSignal = longCond and CondIni[1] == -1
bool shortSignal = shortCond and CondIni[1] == 1
// Strategy Execution
if longSignal
    strategy.entry("Long", strategy.long)
if shortSignal
    strategy.entry("Short", strategy.short)
// Plotting
plot(filt, color=color.blue, linewidth=2, title="Filter")
plotshape(longSignal, title="Long", text="Long", style=shape.labelup,
      textcolor=color.black, size=size.small, location=location.belowbar,
      color=color.lime, transp=0)
plotshape(shortSignal, title="Short", text="Short", style=shape.labeldown,
      textcolor=color.white, size=size.small, location=location.abovebar,
      color=color.red, transp=0)