وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2024-12-27 15:49:16
ٹیگز:او بیایس ڈیایم اےاے ٹی آر

img

جائزہ

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

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

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

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

  1. اتار چڑھاؤ فلٹر متعارف کروائیں: اے ٹی آر یا دیگر اتار چڑھاؤ اشارے کے ذریعے تجارتی سگنل کو بہتر بنائیں۔
  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)

متعلقہ

مزید