ولیمز فریکٹل کو ZZ اشارے مقداری تجارتی حکمت عملی کے ساتھ ملایا گیا۔


تخلیق کی تاریخ: 2024-01-29 15:24:30 آخر میں ترمیم کریں: 2024-01-29 15:24:30
کاپی: 0 کلکس کی تعداد: 850
1
پر توجہ دیں
1617
پیروکار

ولیمز فریکٹل کو ZZ اشارے مقداری تجارتی حکمت عملی کے ساتھ ملایا گیا۔

جائزہ

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

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

اس حکمت عملی میں پہلے ولیمز فریکچر کا حساب لگایا جاتا ہے تاکہ یہ معلوم کیا جا سکے کہ آیا یہ فی الحال اوپر کی طرف بڑھ رہا ہے یا نیچے کی طرف بڑھ رہا ہے۔ اگر یہ اوپر کی طرف بڑھ رہا ہے تو ، اس وقت یہ سمجھا جاتا ہے کہ یہ اب اوپر کی طرف بڑھ رہا ہے۔ اگر یہ نیچے کی طرف ہے تو ، اس وقت یہ سمجھا جاتا ہے کہ یہ نیچے کی طرف ہے۔

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

اس طرح کے ایک مجموعہ کے ساتھ، رجحانات کی تبدیلیوں کو پکڑنے اور ٹریڈنگ کے رجحانات کو ٹریک کرنے کے لئے وقت میں قبضہ کیا جا سکتا ہے.

حکمت عملی کا تجزیہ

اس حکمت عملی میں ٹریڈنگ کے مزید مواقع کو تلاش کرنے کے لئے ولیمز انکوائری اور زیڈ زیڈ اشارے کے دو مختلف تکنیکی تجزیہ کے طریقوں کا استعمال کیا گیا ہے۔

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

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

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

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

اس کے علاوہ ، ٹوٹ پھوٹ کے حساب کتاب کا طریقہ غلط وقت کی مدت کی ترتیب کی وجہ سے غلطی کا شکار ہوسکتا ہے۔ اگر وقت کی مدت بہت مختصر ہے تو ، جھوٹے ٹوٹ پھوٹ کا امکان بڑھ جاتا ہے۔

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

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

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل اقدامات کیے جاسکتے ہیں:

  1. کچھ جعلی توڑ سے بچنے کے لئے موٹائی اشارے فلٹرز کو شامل کریں ، جیسے MACD یا برن بینڈ اشارے۔

  2. ٹرانسفارمیشن پیرامیٹرز کی ترتیب کو بہتر بنائیں ، اعلی اور کم پوائنٹس کے حساب کتاب کو ایڈجسٹ کریں ، اور رجحانات کا زیادہ درست فیصلہ کرنے کے لئے وقت کی مدت کو کم کریں۔

  3. مشین لرننگ الگورتھم کو رجحانات کی درستگی میں اضافہ کریں ، اور AI کے فیصلے کو استعمال کریں تاکہ انسانوں کے ذریعہ طے شدہ حدود سے بچ سکیں۔

  4. مارکیٹ میں اتار چڑھاؤ کی حد کے مطابق اسٹاپ نقصان کی حد کو ایڈجسٹ کرنے کے لئے ایک خود کار طریقے سے اسٹاپ نقصان کا طریقہ کار شامل کریں۔

  5. گہری سیکھنے کے الگورتھم کا استعمال کرتے ہوئے مجموعی پیرامیٹرز کی ترتیب کو بہتر بنانے کے لئے.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "robotrading ZZ-8 fractals", shorttitle = "ZZ-8", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong  = input(true, defval = true, title = "Long")
needshort = input(false, defval = true, title = "Short")
filterBW = input(false, title="filter Bill Williams Fractals")
showll = input(true, title = "Show levels")
showff = input(true, title = "Show fractals (repaint!)")
showdd = input(true, title = "Show dots (repaint!)")
showbg = input(false, title = "Show background")
showlb = input(false, title = "Show drawdown")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", type = input.time, inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", type = input.time, inline = "time1")

//Variables
loss = 0.0
maxloss = 0.0
equity = 0.0
truetime = true

//Fractals
isRegularFractal(mode) =>
    ret = mode == 1 ? high[4] < high[3] and high[3] < high[2] and high[2] > high[1] and high[1] > high[0] : mode == -1 ? low[4] > low[3] and low[3] > low[2] and low[2] < low[1] and low[1] < low[0] : false
isBWFractal(mode) =>
    ret = mode == 1 ? high[4] < high[2] and high[3] <= high[2] and high[2] >= high[1] and high[2] > high[0] : mode == -1 ? low[4] > low[2] and low[3] >= low[2] and low[2] <= low[1] and low[2] < low[0] : false
filteredtopf = filterBW ? isRegularFractal(1) : isBWFractal(1)
filteredbotf = filterBW ? isRegularFractal(-1) : isBWFractal(-1)

//Triangles
plotshape(filteredtopf and showff, title='Filtered Top Fractals', style=shape.triangledown, location=location.abovebar, color= color.red, offset=-2)
plotshape(filteredbotf and showff, title='Filtered Bottom Fractals', style=shape.triangleup, location=location.belowbar, color= color.lime, offset=-2)

//Levels
hh = 0.0
ll = 0.0
hh := filteredtopf ? high[2] : hh[1]
ll := filteredbotf ? low[2] : ll[1]

//Trend
trend = 0
trend := high >= hh[1] ? 1 : low <= ll[1] ? -1 : trend[1]

//Lines
hcol = showll and hh == hh[1] and close < hh ? color.lime : na
lcol = showll and ll == ll[1] and close > ll ? color.red : na
plot(hh, color = hcol)
plot(ll, color = lcol)

//Dots
// var line hline = na
// if hh != hh[1] and showdd
//     hline := line.new(bar_index - 0, hh[0], bar_index - 2, hh[0], xloc = xloc.bar_index, extend = extend.none, style = line.style_dotted, color = color.lime, width = 1)
// var line lline = na
// if ll != ll[1] and showdd
//     lline := line.new(bar_index - 0, ll[0] - syminfo.mintick, bar_index - 2, ll[0] - syminfo.mintick, xloc = xloc.bar_index, extend = extend.none, style = line.style_dotted, color = color.red, width = 1)
    
//Background
bgcol = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(bgcol, transp = 80)

//Orders
if hh > 0 and needlong
    strategy.entry("Long", strategy.long, na, stop = hh, when = needlong and truetime)
    strategy.exit("Exit Long", "Long", stop = ll, when = needshort == false)
if ll > 0 and startTime
    strategy.entry("Short", strategy.short, na, stop = ll, when = needshort and truetime)
    strategy.exit("Exit Short", "Short", stop = hh, when = needlong == false)
if time > finalTime
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")

if showlb

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Max loss size
    equity := strategy.position_size != strategy.position_size[1] ? strategy.equity : equity[1]
    loss := equity < equity[1] ? ((equity / equity[1]) - 1) * 100 : 0
    maxloss := min(nz(maxloss[1]), loss)
    
    //Label
    min := round(min * 100) / 100
    maxloss := round(maxloss * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%" + "\nMax.loss " + tostring(maxloss) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*50)
    osy = highest(100)
    la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)