پیوٹ پوائنٹ ریورسلز پر مبنی مقداری حکمت عملی


تخلیق کی تاریخ: 2024-02-20 14:22:13 آخر میں ترمیم کریں: 2024-02-20 14:22:13
کاپی: 0 کلکس کی تعداد: 654
1
پر توجہ دیں
1617
پیروکار

پیوٹ پوائنٹ ریورسلز پر مبنی مقداری حکمت عملی

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ محور کے اہم حصوں کو استعمال کرتے ہوئے تجارت کی مقدار کی جائے۔ یہ اہم محور کی اونچائی اور کم کی تلاش کرتا ہے ، اور جب قیمت ان اہم نکات کو توڑ دیتی ہے تو اس کی واپسی کی جاتی ہے۔

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

اس حکمت عملی میں پہلے محور کے اونچے اور نچلے پوائنٹس کی تلاش کے لیے ایک فنکشن pivotHighSig() اور ایک فنکشن pivotLowSig() کی وضاحت کی گئی ہے۔ یہ دونوں فنکشن بائیں اور دائیں جانب سے موزوں محور کے پوائنٹس کی تلاش کرتے ہیں۔

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

محور کے اعلی اور کم پوائنٹس کی تلاش کے بعد ، حکمت عملی محور کے محور پوائنٹس کو مزید منتخب کرتی ہے ، یعنی محور پوائنٹس میں اہم پوائنٹس۔ یہ محور کے اعلی اور کم پوائنٹس کی متعدد تاریخی متغیرات جیسے ph1 ، ph2 وغیرہ کی وضاحت کرکے حاصل کیا جاتا ہے۔

آخر میں ، جب قیمت محور کے محور سے ٹوٹ جاتی ہے تو ، ریورس ٹریڈنگ کی جاتی ہے۔

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

اس طرح کی ایک محور پر مبنی پیمائش کی حکمت عملی کے درج ذیل فوائد ہیں:

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

خطرات اور حل

اس حکمت عملی کے کچھ خطرات بھی ہیں:

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

اصلاح کی سمت

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Pivot of Pivot Reversal Strategy [QuantNomad]", shorttitle = "PoP Reversal Strategy [QN]", overlay=true)

// Inputs 
leftBars   = input(4,   title = 'PP Left Bars')
rightBars  = input(2,   title = 'PP Right Bars')
atr_length = input(14,  title = 'ATR Length')
atr_mult   = input(0.1, title = 'ATR Mult')

// Pivot High Significant Function
pivotHighSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (high[right] < high[right+i] + atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (high[right] < high[i] + atr * atr_mult)
            pp_ok := false
    
    pp_ok ? high[right] : na

// Pivot Low Significant Function
pivotLowSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (low[right] > low[right+i] - atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (low[right] > low[i] - atr * atr_mult)
            pp_ok := false
    
    pp_ok ? low[right] : na


swh = pivotHighSig(leftBars, rightBars)
swl = pivotLowSig (leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]

se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// Pivots of pivots
ph1 = 0.0
ph2 = 0.0
ph3 = 0.0

pl1 = 0.0
pl2 = 0.0
pl3 = 0.0

pphprice = 0.0
pplprice = 0.0

ph3 := swh_cond ? nz(ph2[1]) : nz(ph3[1])
ph2 := swh_cond ? nz(ph1[1]) : nz(ph2[1])
ph1 := swh_cond ? hprice     : nz(ph1[1])

pl3 := swl_cond ? nz(pl2[1]) : nz(pl3[1])
pl2 := swl_cond ? nz(pl1[1]) : nz(pl2[1])
pl1 := swl_cond ? lprice     : nz(pl1[1])

pphprice := swh_cond and ph2 > ph1 and ph2 > ph3 ? ph2 : nz(pphprice[1])
pplprice := swl_cond and pl2 < pl1 and pl2 < pl3 ? pl2 : nz(pplprice[1])


if (le)
    strategy.entry("PP_RevLE", strategy.long, comment="PP_RevLE", stop=pphprice + syminfo.mintick)

if (se)
    strategy.entry("PP_RevSE", strategy.short, comment="PP_RevSE", stop=pplprice - syminfo.mintick)
    
// Plotting 
plot(lprice, color = color.red,   transp = 55)
plot(hprice, color = color.green, transp = 55)

plot(pplprice, color = color.red,   transp = 0, linewidth = 2)
plot(pphprice, color = color.green, transp = 0, linewidth = 2)