اس حکمت عملی کا بنیادی خیال مقداری تجارت کے لئے محور پوائنٹس کا استعمال کرنا ہے۔ یہ اہم سوئنگ اونچائیوں اور نچلی سطحوں کی تلاش کرتا ہے اور جب قیمتیں ان اہم سطحوں کو توڑتی ہیں تو الٹ ٹرانزیکشن کرتا ہے۔
حکمت عملی سب سے پہلے فنکشنز pivotHighSig ((() اور pivotLowSig ((() کی وضاحت کرتی ہے تاکہ سوئنگ ہائی اور لو پوائنٹس کا پتہ لگایا جاسکے۔ یہ دونوں فنکشن بائیں اور دائیں طرف کوالیفائی شدہ محور پوائنٹس کی تلاش کرتے ہیں۔
خاص طور پر ، سوئنگ ہائیز کے ل it ، یہ بائیں طرف متعدد اعلی اونچائیوں اور دائیں طرف متعدد نچلی اونچائیوں کی تلاش کرتا ہے۔ اس طرح محور اعلی نسبتا higher اعلی سطح پر بیٹھتا ہے۔ سوئنگ لو کے لئے معیار مخالف ہیں - یہ دونوں اطراف میں اعلی لو اور نچلی لو کی تلاش کرتا ہے۔
سوئنگ اونچائیوں اور اونچائیوں کا پتہ لگانے کے بعد ، حکمت عملی مزید ان محور پوائنٹس سے محور پوائنٹس کا انتخاب کرتی ہے ، یعنی محور سے اہم نکات۔ یہ سوئنگ اونچائیوں اور اونچائیوں کے لئے متعدد تاریخی متغیرات کی وضاحت کرکے حاصل کیا جاتا ہے ، جیسے ph1 ، ph2 وغیرہ۔
آخر میں، ریورس ٹریڈز تب کیے جاتے ہیں جب قیمتیں محور کے محور پوائنٹس کو توڑ دیتی ہیں۔
اس محور نقطہ پر مبنی مقداری حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
اس حکمت عملی کو مندرجہ ذیل شعبوں میں بہتر بنایا جاسکتا ہے:
مجموعی طور پر یہ حکمت عملی اچھی کارکردگی کا مظاہرہ کرتی ہے۔ بنیادی خیال اہم محور پوائنٹس کا پتہ لگانا اور ان کے بریکآؤٹس کی تجارت کرنا ہے۔ مزید بہتری سے اعلی اور زیادہ مستقل منافع کے ل more زیادہ ٹھوس اور قابل اعتماد سگنل پیدا ہوسکتے ہیں۔
/*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)