پیوٹ پوائنٹس اور فبونیکی ریٹریسمنٹ پر مبنی حکمت عملی کے بعد خودکار رجحان


تخلیق کی تاریخ: 2024-01-05 11:34:17 آخر میں ترمیم کریں: 2024-01-05 11:34:17
کاپی: 0 کلکس کی تعداد: 687
1
پر توجہ دیں
1621
پیروکار

پیوٹ پوائنٹس اور فبونیکی ریٹریسمنٹ پر مبنی حکمت عملی کے بعد خودکار رجحان

جائزہ

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

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

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

طاقت کا تجزیہ

  1. محور پوائنٹس کا استعمال کرتے ہوئے اہم حمایت مزاحمت کے علاقوں کا تعین کرنے کے لئے، سگنل کی درستگی کو بہتر بنانے کے
  2. ایپلی کیشن فبونیکی ریٹرو ABC فارمیٹس کی شناخت کرتی ہے ، اور خود بخود رجحانات میں تبدیلی کے مقامات پر قبضہ کرتی ہے
  3. اسٹاپ نقصان واضح اور معقول ہے ، بڑے نقصانات سے بچنے کے لئے

خطرے کا تجزیہ

  1. محور اور فبونیکی واپسی ہر بار ٹرینڈ ٹرانسفیرنگ پوائنٹس کی درستگی کی ضمانت نہیں دیتا ہے ، اور غلط فہمیاں ہوسکتی ہیں۔
  2. C اور A اسٹاپ نقصان کو توڑنے کے لئے ، نقصان کو بڑھانے کے لئے
  3. پیرامیٹرز کو بہتر بنانے کی ضرورت ہے ، جیسے فبونیکی ریٹرو کی حد

اصلاح کی سمت

  1. زیادہ سے زیادہ تکنیکی اشارے کے ساتھ مل کر اے بی سی کی شکل کا تعین کرنے میں مدد ملتی ہے ، جس سے سگنل کی درستگی میں اضافہ ہوتا ہے
  2. فبونیکی ریٹرن ریٹرن کی حد کو بہتر بنایا جاسکتا ہے تاکہ مارکیٹ کے زیادہ حالات کو ایڈجسٹ کیا جاسکے
  3. ماڈل جس میں اے بی سی کی شکل کا تعین کرنے کے لئے مشین لرننگ کے ساتھ تربیت دی جاسکتی ہے

خلاصہ کریں۔

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kerok3g

//@version=5
strategy("ABCD Strategy", shorttitle="ABCDS", overlay=true, commission_value=0.04)
calcdev(fprice, lprice, fbars, lbars) =>
    rise = lprice - fprice
    run = lbars - fbars
    avg = rise/run
    ((bar_index - lbars) * avg) + lprice

len = input(5)

ph = ta.pivothigh(len, len)
pl = ta.pivotlow(len, len)

var bool ishigh = false
ishigh := ishigh[1]

var float currph = 0.0
var int currphb = 0
currph := nz(currph)
currphb := nz(currphb)

var float oldph = 0.0
var int oldphb = 0
oldph := nz(oldph)
oldphb := nz(oldphb)

var float currpl = 0.0
var int currplb = 0
currpl := nz(currpl)
currplb := nz(currplb)

var float oldpl = 0.0
var int oldplb = 0
oldpl := nz(oldpl)
oldplb := nz(oldplb)

if (not na(ph))
    ishigh := true
    oldph := currph
    oldphb := currphb
    currph := ph
    currphb := bar_index[len]
else
    if (not na(pl))
        ishigh := false
        oldpl := currpl
        oldplb := currplb
        currpl := pl
        currplb := bar_index[len]

endHighPoint = calcdev(oldph, currph, oldphb, currphb)
endLowPoint = calcdev(oldpl, currpl, oldplb, currplb)

plotshape(ph, style=shape.triangledown, color=color.red, location=location.abovebar, offset=-len)
plotshape(pl, style=shape.triangleup, color=color.green, location=location.belowbar, offset=-len)

// var line lnhigher = na
// var line lnlower = na
// lnhigher := line.new(oldphb, oldph, bar_index, endHighPoint)
// lnlower := line.new(oldplb, oldpl, bar_index, endLowPoint)
// line.delete(lnhigher[1])
// line.delete(lnlower[1])

formlong = oldphb < oldplb and oldpl < currphb and currphb < currplb
longratio1 = (currph - oldpl) / (oldph - oldpl)
longratio2 = (currph - currpl) / (currph - oldpl)

formshort = oldplb < oldphb and oldphb < currplb and currplb < currphb
shortratio1 = (oldph - currpl) / (oldph - oldpl)
shortratio2 = (currph - currpl) / (oldph - currpl)

// prevent multiple entry for one pattern
var int signalid = 0
signalid := nz(signalid[1])

longCond = formlong and 
           longratio1 < 0.7 and 
           longratio1 > 0.5 and 
           longratio2 > 1.1 and 
           longratio2 < 1.35 and 
           close < oldph and 
           close > currpl and 
           signalid != oldplb
if (longCond)
    signalid := oldplb
    longsl = currpl - ta.tr
    longtp = ((close - longsl) * 1.5) + close
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", limit=math.min(longtp, oldph), stop=longsl)

shortCond = formshort and 
             shortratio1 < 0.7 and 
             shortratio1 > 0.5 and 
             shortratio2 > 1.1 and 
             shortratio2 < 1.35 and 
             close > oldpl and 
             close < currph and 
             signalid != oldphb

if (shortCond)
    signalid := oldphb
    shortsl = currph + ta.tr
    shorttp = close - ((shortsl - close) * 1.5)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", limit=math.max(shorttp, oldpl), stop=shortsl)