ملٹی پیریڈ فریکٹل بریک آؤٹ آرڈر بلاک انکولی تجارتی حکمت عملی

OB SD MA ATR
تخلیق کی تاریخ: 2024-12-27 15:49:16 آخر میں ترمیم کریں: 2024-12-27 15:49:16
کاپی: 8 کلکس کی تعداد: 479
1
پر توجہ دیں
1617
پیروکار

ملٹی پیریڈ فریکٹل بریک آؤٹ آرڈر بلاک انکولی تجارتی حکمت عملی

جائزہ

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

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

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

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

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

اسٹریٹجک رسک

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supply and Demand - Order Block Strategy", format=format.price, precision=0, overlay=true)

// Input options for customization
changeColor = input(false, title="Change Box Colors?")
breakType = input.string("Wick+Body", title="Fractal Break Type:", options=["Wick+Body", "Body"])
n = input.int(title="Periods", defval=2, minval=1, tooltip="Number of periods for fractal lookback")

if n <= 0
    runtime.error("Periods input must be greater than zero.")

transGreenClr = input.color(color.new(color.green, 80), title="Bg:", inline="a_1")
greenClr = input.color(color.new(color.green, 0), title="Border:", inline="a_1")

transRedClr = input.color(color.new(color.red, 80), title="Bg:", inline="b_1")
redClr = input.color(color.new(color.red, 0), title="Border:", inline="b_1")

// --- Fractal Calculation ---
upFractal = high[n] == ta.highest(high, 2 * n + 1)
downFractal = low[n] == ta.lowest(low, 2 * n + 1)
// --- End Fractal Calculation ---

var float topValue = na
var float bottomValue = na
var int lastRedIndex = na
var float lastRedLow = na
var float lastRedHigh = na
var int lastGreenIndex = na
var float lastGreenLow = na
var float lastGreenHigh = na
var line topLine = na
var line bottomLine = na
var box demandBox = na
var box supplyBox = na
var topBreakBlock = false
var bottomBreakBlock = false
var isLongBreak = false
var isShortBreak = false
topBreakCheckSource = breakType == "Wick+Body" ? high : close
bottomBreakCheckSource = breakType == "Wick+Body" ? low : close

// Last Red Check
if close < open
    lastRedIndex := bar_index
    lastRedLow := low
    lastRedHigh := high

// Last Green Check
if close > open
    lastGreenIndex := bar_index
    lastGreenLow := low
    lastGreenHigh := high

// Top break
if ta.crossover(topBreakCheckSource, topValue) and not topBreakBlock
    topBreakBlock := true
    isLongBreak := true
    // line.set_x2(topLine, bar_index)
    // demandBox := box.new(lastRedIndex - 1, lastRedHigh, lastRedIndex + 1, lastRedLow, bgcolor=transGreenClr, border_color=greenClr)
    if strategy.position_size <= 0
        strategy.entry("Long", strategy.long)

// Bottom break
if ta.crossunder(bottomBreakCheckSource, bottomValue) and not bottomBreakBlock
    bottomBreakBlock := true
    isShortBreak := true
    // line.set_x2(bottomLine, bar_index)
    // supplyBox := box.new(lastGreenIndex - 1, lastGreenHigh, lastGreenIndex + 1, lastGreenLow, bgcolor=transRedClr, border_color=redClr)
    if strategy.position_size >= 0
        strategy.entry("Short", strategy.short)

// New up fractal
if upFractal
    topBreakBlock := false
    isLongBreak := false
    topValue := high[n]
    // topLine := line.new(bar_index[n], topValue, bar_index, topValue, color=color.teal, style=line.style_dotted, width=2)
    // if not isLongBreak[1]
    //     line.delete(topLine[1])

// New down fractal
if downFractal
    bottomBreakBlock := false
    isShortBreak := false
    bottomValue := low[n]
    // bottomLine := line.new(bar_index[n], bottomValue, bar_index, bottomValue, color=color.maroon, style=line.style_dotted, width=2)
    // if not isShortBreak[1]
    //     line.delete(bottomLine[1])

// Box state update
// activeBoxes = box.all
// if array.size(activeBoxes) > 0 and changeColor
//     for i = 0 to array.size(activeBoxes) - 1
//         boxId = array.get(activeBoxes, i)
//         bVal = box.get_bottom(boxId)
//         tVal = box.get_top(boxId)
//         if close < bVal
//             box.set_bgcolor(boxId, transRedClr)
//             box.set_border_color(boxId, redClr)
//         if close > tVal
//             box.set_bgcolor(boxId, transGreenClr)
//             box.set_border_color(boxId, greenClr)

//PLOTS
plotshape(downFractal ,style=shape.triangleup, location=location.belowbar, offset=-n, color=color.new(color.gray,80), size = size.tiny)
plotshape(upFractal, style=shape.triangledown,   location=location.abovebar, offset=-n, color=color.new(color.gray,80), size = size.tiny)

// --- Checklist Table ---
// var table checklistTable = table.new(position.bottom_right, 2, 8, bgcolor=color.new(color.gray, 80), border_width=1)

// if barstate.islast
//     table.cell(checklistTable, 0, 0, "Condition", text_color=color.white, text_size=size.small, bgcolor=color.teal)
//     table.cell(checklistTable, 1, 0, "Status", text_color=color.white, text_size=size.small, bgcolor=color.teal)

//     table.cell(checklistTable, 0, 1, "Up Fractal", text_size=size.small)
//     table.cell(checklistTable, 1, 1, upFractal ? "✅" : "❌", text_color=upFractal ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 2, "Down Fractal", text_size=size.small)
//     table.cell(checklistTable, 1, 2, downFractal ? "✅" : "❌", text_color=downFractal ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 3, "Top Break", text_size=size.small)
//     table.cell(checklistTable, 1, 3, isLongBreak ? "✅" : "❌", text_color=isLongBreak ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 4, "Bottom Break", text_size=size.small)
//     table.cell(checklistTable, 1, 4, isShortBreak ? "✅" : "❌", text_color=isShortBreak ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 5, "Last Red Candle", text_size=size.small)
//     table.cell(checklistTable, 1, 5, close < open ? "✅" : "❌", text_color=close < open ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 6, "Last Green Candle", text_size=size.small)
//     table.cell(checklistTable, 1, 6, close > open ? "✅" : "❌", text_color=close > open ? color.green : color.red, text_size=size.small)

//     table.cell(checklistTable, 0, 7, "Box Color Change Active", text_size=size.small)
//     table.cell(checklistTable, 1, 7, changeColor ? "✅" : "❌", text_color=changeColor ? color.green : color.red, text_size=size.small)