
سپلائی اور طلب کے مابین آرڈر بلاک کو توڑنے کی حکمت عملی ، جس کی بنیاد پر تبادلہ حجم فلٹر کیا گیا ہے ، ایک مقداری تجارتی حکمت عملی ہے جو تکنیکی تجزیہ میں تقسیم کی تھیوری ، تبادلہ حجم کی تصدیق اور آرڈر بلاک کے تصور کو جوڑتی ہے۔ یہ حکمت عملی تاریخی قیمتوں میں اہم تقسیم کے مقامات کی نشاندہی کرکے ، اور تبادلہ حجم فلٹرنگ کے طریقہ کار کو جوڑ کر ، ممکنہ سپلائی اور طلب کے علاقوں کی نشاندہی کرتی ہے ، اور جب قیمت ان اہم علاقوں کو توڑ دیتی ہے تو تجارتی سگنل پر عمل درآمد کرتی ہے۔ اس حکمت عملی کا بنیادی خیال مارکیٹ میں آرڈر بلاک اثر کا استعمال کرنا ہے ، یعنی خرید و فروخت کے دباؤ والے علاقوں کو جو بڑے سرمایہ کاروں نے ایک خاص قیمت پر تشکیل دیا ہے ، تاکہ مقدار کے تبادلہ کی تصدیق کے ذریعہ سگنل کی وشوسنییتا کو بہتر بنایا جاسکے۔
اس حکمت عملی کا بنیادی اصول تقسیم کی تھیوری اور آرڈر بلاک کے تصور پر مبنی ہے۔ پہلے ، اس حکمت عملی کے ذریعہ کسی مخصوص دورانیے میں قیمت کے تقسیم پوائنٹس کی گنتی کرکے ممکنہ فراہمی اور طلب کے فرق کی نشاندہی کی جاتی ہے۔ اوپری تقسیم پوائنٹ کی تعریف کسی مخصوص دورانیے میں سب سے زیادہ پوائنٹس کی قیمت کی سطح کے طور پر کی گئی ہے ، اور نچلے تقسیم پوائنٹ کی تعریف کسی مخصوص دورانیے میں سب سے کم پوائنٹس کی قیمت کی سطح کے طور پر کی گئی ہے۔ سگنل کے معیار کو بہتر بنانے کے لئے ، اس حکمت عملی میں ایک ٹرانزیکشن فلٹرنگ میکانزم متعارف کرایا گیا ہے ، جس میں کہا گیا ہے کہ تقسیم پوائنٹس میں ٹرانزیکشن کا حجم 20 مدت کے آسان منتقل اوسط کے ٹرانزیکشن کے مخصوص گنا سے زیادہ ہونا چاہئے۔
جب ایک موثر اوپری ڈویژن پوائنٹ کی شناخت ہوتی ہے تو ، حکمت عملی اس نقطہ کو مزاحمت کے علاقے کے طور پر نشان زد کرتی ہے اور قیمت کے اوپر کی طرف جانے کا انتظار کرتی ہے۔ جب قیمت اوپری ڈویژن پوائنٹ کو توڑتی ہے تو ، حکمت عملی یہ فیصلہ کرتی ہے کہ فراہمی اور طلب کے تعلقات میں تبدیلی آئی ہے ، اور اس وقت اصل مزاحمت کے علاقے کو سپورٹ علاقے میں تبدیل کردیا گیا ہے ، اور اس وقت متعدد کارروائیوں کا انعقاد کیا جاتا ہے۔ اس کے برعکس ، جب ایک موثر ڈویژن پوائنٹ کی شناخت ہوتی ہے تو ، حکمت عملی اس نقطہ کو سپورٹ علاقے کے طور پر نشان زد کرتی ہے ، اور جب قیمت نیچے کی طرف ٹوٹ جاتی ہے تو ، اصل سپورٹ علاقے کو مزاحمت کے علاقے میں تبدیل کردیا جاتا ہے ، اور خالی آپریشن انجام دیا جاتا ہے۔
حکمت عملی صارفین کو دو قسم کے بریک کی تصدیق کے طریقوں کا انتخاب کرنے کی اجازت دیتی ہے: فلیٹ پلس ہستی کی بریک اور خالص ہستی کی بریک۔ فلیٹ پلس ہستی کی بریک موڈ میں سب سے زیادہ قیمت اور کم سے کم قیمت کو بریک کی تصدیق کے معیار کے طور پر استعمال کیا جاتا ہے ، جبکہ خالص ہستی کی بریک موڈ میں اختتامی قیمت کو تصدیق کے معیار کے طور پر استعمال کیا جاتا ہے۔ ٹرانزیکشن فلٹرنگ میکانزم موجودہ ٹرانزیکشن اور تاریخی اوسط ٹرانزیکشن کے مابین ضرب کے تعلقات کا موازنہ کرکے ٹرانزیکشن کی تاثیر کی تصدیق کرتا ہے۔
اس حکمت عملی کے متعدد نمایاں فوائد ہیں۔ سب سے پہلے ، ٹرانزیکشن حجم فلٹرنگ میکانزم نے سگنل کی وشوسنییتا کو نمایاں طور پر بڑھایا ہے۔ روایتی ٹوٹ پھوٹ کی حکمت عملیوں میں جعلی ٹرانزیکشن سگنل پیدا کرنے میں آسانی ہوتی ہے ، جبکہ ٹرانزیکشن حجم کی تصدیق کے ذریعہ کم ٹرانزیکشن کی کمزوری ٹرانزیکشن کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے ، اس بات کو یقینی بناتے ہوئے کہ صرف مارکیٹ میں بھرپور شرکت کے ساتھ ہی تجارتی سگنل پیدا ہوتا ہے۔
دوسرا ، حکمت عملی آرڈر بلاک تھیوری پر مبنی ہے ، جس کی مضبوط مارکیٹ کی منطقی بنیاد ہے۔ آرڈر بلاک بڑے پیمانے پر بڑے پیمانے پر خرید و فروخت کی نمائندگی کرتے ہیں جو ایک خاص قیمت پر ہوتے ہیں ، اور یہ علاقہ اکثر اہم حمایت اور مزاحمت کی سطح تشکیل دیتے ہیں۔ جب قیمت ان اہم علاقوں کو توڑ دیتی ہے تو ، اس کا مطلب یہ ہوتا ہے کہ مارکیٹ کی ساخت میں اہم تبدیلیاں ہوئی ہیں ، جس سے تاجروں کو داخلے کے اعلی امکانات ملتے ہیں۔
تیسرا ، حکمت عملی میں اچھی موافقت اور تشکیل کی اہلیت ہے۔ صارف مختلف مارکیٹ کے حالات اور ذاتی ترجیحات کے مطابق تقسیم کے دورانیے ، ٹرانزیکشن کی مقدار کے ضرب اور دیگر پیرامیٹرز کو ایڈجسٹ کرسکتا ہے۔ بریک ٹائپ کا انتخاب حکمت عملی کو اضافی لچک فراہم کرتا ہے ، جس سے تاجر مارکیٹ کی خصوصیات کے مطابق تصدیق کے سب سے موزوں طریقوں کا انتخاب کرسکتا ہے۔
آخر میں ، حکمت عملی کا منطق واضح اور جامع ہے ، اور اسے سمجھنے اور اس پر عمل درآمد کرنے میں آسانی ہے۔ واضح طور پر فرق کی شناخت ، ٹرانزیکشن فلٹرنگ اور کامیابی کی توثیق کے عمل کے ذریعہ ، حکمت عملی پیچیدہ تکنیکی اشارے کے مجموعے سے بچتی ہے ، اور ضرورت سے زیادہ اصلاح کے خطرے کو کم کرتی ہے۔
اگرچہ اس حکمت عملی کے بہت سارے فوائد ہیں ، لیکن اس میں کچھ ممکنہ خطرات بھی ہیں جن پر توجہ دینے کی ضرورت ہے۔ سب سے پہلے ، حکمت عملی کا حجم اعداد و شمار پر زیادہ انحصار ہے۔ حجم کے اعداد و شمار کی غلطی یا مارکیٹ میں کم لیکویڈیٹی کی صورت میں ، حجم فلٹرنگ کا طریقہ کار غلط فیصلے کا باعث بن سکتا ہے ، جس کی وجہ سے موثر تجارت کے مواقع ضائع ہوجاتے ہیں یا غلط سگنل پیدا ہوتے ہیں۔
دوسرا ، حکمت عملی میں تاخیر کا مسئلہ ہے۔ اسٹریٹجی کے داخلے کا وقت ممکنہ طور پر بہترین داخلے کے نقطہ سے پیچھے رہ سکتا ہے کیونکہ اس کی نشاندہی کرنے اور توڑنے کے لئے انتظار کرنے کی ضرورت ہے۔ اس تاخیر سے تیزی سے بدلتے ہوئے مارکیٹ کے ماحول میں حکمت عملی کی منافع بخش صلاحیت متاثر ہوسکتی ہے۔
تیسرا ، حکمت عملی میں واضح اسٹاپ اور اسٹاپ میکانیزم کی کمی ہے۔ اگرچہ حکمت عملی میں داخلے کے اوقات کی نشاندہی کی جاسکتی ہے ، لیکن اس کے مطابق خطرے کے انتظام کے اقدامات فراہم نہیں کیے جاتے ہیں۔ مارکیٹ میں شدید اتار چڑھاؤ یا توڑنے کی ناکامی کی صورت میں ، تاجروں کو نقصان کا زیادہ خطرہ لاحق ہوسکتا ہے۔
ان خطرات کو کم کرنے کے ل traders ، تاجروں کو مشورہ دیا جاتا ہے کہ وہ دوسرے تکنیکی تجزیہ ٹولز کے ساتھ مل کر سگنل کی تصدیق کریں ، معقول حد تک اسٹاپ نقصان کی سطح طے کریں ، اور مارکیٹ کے حالات کی نقل و حرکت کے مطابق حکمت عملی کے پیرامیٹرز کو ایڈجسٹ کریں۔
اس حکمت عملی میں متعدد اصلاحاتی سمتیں ہیں۔ سب سے پہلے ، متحرک ٹرانزیکشن حجم کی قیمتوں کا تعین کرنے کا طریقہ کار متعارف کرایا جاسکتا ہے۔ موجودہ حکمت عملی فلٹرنگ کی شرائط کے طور پر ٹرانزیکشن حجم کے مقررہ ضرب کا استعمال کرتی ہے ، لیکن مارکیٹ کی ٹرانزیکشن حجم کی خصوصیات وقت کے ساتھ تبدیل ہوتی ہیں۔ خود کار طریقے سے ٹرانزیکشن حجم کی قیمتوں کا تعین متعارف کرانے سے ، مارکیٹ کی اصل صورتحال کے مطابق فلٹرنگ کے معیار کو متحرک طور پر ایڈجسٹ کیا جاسکتا ہے ، اور حکمت عملی کی موافقت کو بہتر بنایا جاسکتا ہے۔
دوسرا ، ایک بہتر خطرے کے انتظام کے ماڈیول کو شامل کرنے کی تجویز ہے۔ آپ اتار چڑھاؤ کی شرح ، معاون مزاحمت کی سطح ، یا مقررہ تناسب کی بنیاد پر اسٹاپ نقصان کی روک تھام کی سطح مقرر کرسکتے ہیں۔ اس کے علاوہ ، پوزیشن مینجمنٹ میکانزم متعارف کرانے پر غور کیا جاسکتا ہے ، جس میں سگنل کی طاقت اور مارکیٹ میں اتار چڑھاؤ کے مطابق تجارت کا سائز ایڈجسٹ کیا جاسکتا ہے۔
تیسرا ، ایک سے زیادہ ٹائم فریم تجزیہ متعارف کرانے پر غور کیا جاسکتا ہے۔ موجودہ حکمت عملی صرف ایک ہی ٹائم فریم میں کام کرتی ہے ، اور اس حکمت عملی کی کامیابی کی شرح کو اعلی ٹائم فریم کے رجحانات کے تجزیے کے ساتھ جوڑ کر بہتر بنایا جاسکتا ہے۔ مثال کے طور پر ، تجارتی سگنل صرف اس وقت عمل میں لائے جائیں گے جب اعلی ٹائم فریم کے رجحانات کی سمت میں ہو۔
چوتھا ، تقسیم کی شناخت کے الگورتھم کو بہتر بنایا جاسکتا ہے۔ موجودہ تقسیم کی شناخت نسبتا simple آسان ہے ، اس سے زیادہ پیچیدہ تقسیم کی شناخت کے طریقوں کو متعارف کرانے پر غور کیا جاسکتا ہے ، جیسے قیمت کے طرز عمل کے نمونوں پر مبنی تقسیم کی شناخت یا دیگر تکنیکی اشارے کے ساتھ مل کر مشترکہ تقسیم کی شناخت۔
آخر میں ، سگنل فلٹرنگ میکانزم کو شامل کرنے کی تجویز کی گئی ہے۔ تجارتی سگنل کو فلٹر کرنے کے لئے اضافی تکنیکی اشارے (جیسے RSI ، MACD ، وغیرہ) متعارف کروائے جاسکتے ہیں ، یا مارکیٹ کے جذبات کے اشارے کی بنیاد پر حکمت عملی کی حساسیت کو ایڈجسٹ کریں۔
سپلائی اور طلب کے مابین آرڈر بلاک کو توڑنے کی حکمت عملی ، جس کی بنیاد پر ٹرانزیکشن حجم فلٹر کیا گیا ہے ، ایک جامع مقداری تجارتی حکمت عملی ہے جس میں تقسیم کی تھیوری ، ٹرانزیکشن حجم تجزیہ اور آرڈر بلاک کے تصور کو شامل کیا گیا ہے۔ اس حکمت عملی میں قیمت کے اہم تقسیم کے مقامات کی نشاندہی کی گئی ہے ، جس میں ٹرانزیکشن کی تصدیق کا طریقہ کار شامل کیا گیا ہے ، جس میں اہم سپلائی اور طلب کے علاقوں کو توڑنے پر ٹریڈنگ آپریشن انجام دیا گیا ہے۔
حکمت عملی کا بنیادی فائدہ اس کی ٹھوس نظریاتی بنیاد ، اچھے سگنل کے معیار اور اعلی تشکیل پذیری میں ہے۔ ٹرانزیکشن حجم فلٹرنگ میکانزم نے سگنل کی وشوسنییتا کو مؤثر طریقے سے بڑھایا ہے ، جبکہ آرڈر بلاک تھیوری حکمت عملی کو واضح مارکیٹ کی منطق کی حمایت فراہم کرتی ہے۔ تاہم ، حکمت عملی میں کچھ ممکنہ خطرات بھی موجود ہیں ، جیسے ٹرانزیکشن حجم کے اعداد و شمار پر انحصار ، سگنل کی پسماندگی اور خطرے کے انتظام کے طریقہ کار کی کمی۔
اس حکمت عملی کی کارکردگی اور استحکام کو مزید بہتر بنایا جاسکتا ہے جیسے متحرک ٹرانزیکشن حجم کی قیمتوں کا تعین ، خطرے کے انتظام کے ماڈیول کو بہتر بنانا ، ملٹی ٹائم فریم تجزیہ اور سگنل فلٹرنگ میکانزم۔
/*backtest
start: 2024-07-07 00:00:00
end: 2025-07-05 10:18:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Supply and Demand - Order Block Strategy with Volume Filter", overlay=true)
// ═══════════════════════════════════════════════════════════════════════════════════
// 📊 INPUT SETTINGS
// ═══════════════════════════════════════════════════════════════════════════════════
breakType = input.string("Wick+Body", title="Fractal Break Type:", options=["Wick+Body", "Body"])
n = input.int(title="Periods", defval=5, minval=3, tooltip="Number of periods for fractal lookback")
// 🔊 Volume Filter
enableVolumeFilter = input.bool(true, "Enable Volume Filter", group="Volume Filter")
volumeMultiplier = input.float(1.5, "Volume Multiplier", minval=1.0, maxval=3.0, step=0.1, group="Volume Filter", tooltip="Fractal must have volume > average volume * this multiplier")
// ═══════════════════════════════════════════════════════════════════════════════════
// 📈 TECHNICAL INDICATORS
// ═══════════════════════════════════════════════════════════════════════════════════
avgVolume = ta.sma(volume, 20)
// ═══════════════════════════════════════════════════════════════════════════════════
// 📦 FRACTAL CALCULATION WITH VOLUME FILTER
// ═══════════════════════════════════════════════════════════════════════════════════
// Original fractal calculation
upFractal = high[n] == ta.highest(high, n)
downFractal = low[n] == ta.lowest(low, n)
// 🔊 Enhanced fractal with volume confirmation
upFractalValid = upFractal and (not enableVolumeFilter or volume[n] > avgVolume * volumeMultiplier)
downFractalValid = downFractal and (not enableVolumeFilter or volume[n] > avgVolume * volumeMultiplier)
var float topValue = na
var float bottomValue = na
var topBreakBlock = false
var bottomBreakBlock = false
topBreakCheckSource = breakType == "Wick+Body" ? high : close
bottomBreakCheckSource = breakType == "Wick+Body" ? low : close
// New up fractal - only if volume criteria met
if upFractalValid
topBreakBlock := false
topValue := high[n]
// New down fractal - only if volume criteria met
if downFractalValid
bottomBreakBlock := false
bottomValue := low[n]
// ═══════════════════════════════════════════════════════════════════════════════════
// 🚀 ENTRY LOGIC
// ═══════════════════════════════════════════════════════════════════════════════════
// Top break
if ta.crossover(topBreakCheckSource, topValue) and not topBreakBlock
topBreakBlock := true
if strategy.position_size <= 0
strategy.entry("Long", strategy.long)
// Bottom break
if ta.crossunder(bottomBreakCheckSource, bottomValue) and not bottomBreakBlock
bottomBreakBlock := true
if strategy.position_size >= 0
strategy.entry("Short", strategy.short)
// ═══════════════════════════════════════════════════════════════════════════════════
// 🎨 PLOTS
// ═══════════════════════════════════════════════════════════════════════════════════
plotshape(downFractalValid, style=shape.triangleup, location=location.belowbar, offset=-n, color=color.new(color.gray,80), size = size.tiny)
plotshape(upFractalValid, style=shape.triangledown, location=location.abovebar, offset=-n, color=color.new(color.gray,80), size = size.tiny)