یہ حکمت عملی اوسط حقیقی رینج (اے ٹی آر) اشارے اور اوسط سمتی اشاریہ (اے ڈی ایکس) پر مبنی ایک انکولی قیمت چینل حکمت عملی ہے۔ اس کا مقصد ضمنی بازاروں اور قیمتوں کی نقل و حرکت میں رجحانات کی نشاندہی کرنا اور اس کے مطابق تجارت کرنا ہے۔
ایک دی گئی لمبائی پر سب سے زیادہ اعلی (HH) اور سب سے کم کم (LL) کا حساب لگائیں۔ اسی لمبائی پر ATR کا حساب بھی لگائیں۔
قیمتوں میں اضافے اور کمی کی بنیاد پر +DI اور -DI کا حساب لگائیں۔ پھر ADX کا حساب لگائیں۔
اگر ADX < 25 ہے تو ، مارکیٹ کو ضمنی سمجھا جاتا ہے۔ اگر قریب > اوپری چینل (HH - ATR ضرب * ATR) ، طویل چلے جائیں۔ اگر قریب < نچلے چینل (LL + ATR ضرب * ATR) ، مختصر چلے جائیں۔
اگر ADX >= 25 اور +DI > -DI ہے تو مارکیٹ تیزی سے بڑھتی ہے۔ اگر بند > اوپری چینل ہے تو ، طویل ہوجائیں۔
اگر ADX >= 25 اور +DI < -DI ہے تو مارکیٹ bearish ہے۔ اگر بند < نچلی چینل ہے تو مختصر ہو جائیں۔
داخل ہونے کے بعد exit_length سلاخوں کے بعد باہر نکلنے کی پوزیشن
حکمت عملی مارکیٹ کے حالات کی بنیاد پر خود کار طریقے سے اپنانے، ضمنی مارکیٹ میں چینل کی حکمت عملی کا استعمال کرتے ہوئے اور رجحان کی مارکیٹ میں رجحان کی پیروی کرتے ہیں.
اے ٹی آر اور اے ڈی ایکس کا استعمال موافقت کو یقینی بناتا ہے۔ اے ٹی آر چینل کی چوڑائی کو ایڈجسٹ کرتا ہے ، اے ڈی ایکس رجحان کا تعین کرتا ہے۔
جبری باہر نکلنے سے استحکام بڑھتا ہے۔
ADX اکثر غلط سگنل پیدا کر سکتا ہے.
خراب اے ٹی آر اور اے ڈی ایکس پیرامیٹرز خراب کارکردگی کا باعث بنتے ہیں.
بلیک سوان واقعات کے خلاف مؤثر طریقے سے حفاظت کرنے کے قابل نہیں.
اے ٹی آر اور اے ڈی ایکس کے پیرامیٹرز کو بہتر بنانا تاکہ موافقت کو بہتر بنایا جاسکے۔
نقصانات کو محدود کرنے کے لئے سٹاپ نقصان شامل کریں.
غلط سگنل سے بچنے کے لیے فلٹرز شامل کریں۔
حکمت عملی میں مارکیٹ کے حالات میں موافقت کے لئے اشارے اور میکانزم شامل ہیں۔ لیکن اشارے کی حدود کی وجہ سے غلط تشخیص ہوسکتی ہے۔ پیرامیٹرز اور رسک کنٹرول پر مستقبل کی اصلاحات۔
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Adaptive Price Channel Strategy", overlay=true) length = input(20, title="Length") exit_length = input(10, title="Exit After X Periods") atr_multiplier = input(3.2, title="ATR Multiplier") startDate = input(defval = timestamp("2019-01-15T08:15:15+00:00"), title = "Start Date") endDate = input(defval = timestamp("2033-04-01T08:15:00+00:00"), title = "End Date") hh = ta.highest(high, length) ll = ta.lowest(low, length) atr = ta.atr(length) // calculate +DI and -DI upMove = high - high[1] downMove = low[1] - low plusDM = na(upMove[1]) ? na : (upMove > downMove and upMove > 0 ? upMove : 0) minusDM = na(downMove[1]) ? na : (downMove > upMove and downMove > 0 ? downMove : 0) plusDI = ta.rma(plusDM, length) / atr * 100 minusDI = ta.rma(minusDM, length) / atr * 100 // calculate ADX dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100 adx = ta.rma(dx, length) var int barSinceEntry = na if (not na(close[length]) ) if (adx < 25) // Sideways market if (close > hh - atr_multiplier * atr) strategy.entry("PChLE", strategy.long, comment="PChLE") barSinceEntry := 0 else if (close < ll + atr_multiplier * atr) strategy.entry("PChSE", strategy.short, comment="PChSE") barSinceEntry := 0 else if (adx >= 25 and plusDI > minusDI) // Bullish market if (close > hh - atr_multiplier * atr) strategy.entry("PChLE", strategy.long, comment="PChLE") barSinceEntry := 0 else if (adx >= 25 and plusDI < minusDI) // Bearish market if (close < ll + atr_multiplier * atr) strategy.entry("PChSE", strategy.short, comment="PChSE") barSinceEntry := 0 if (na(barSinceEntry)) barSinceEntry := barSinceEntry[1] + 1 else if (barSinceEntry >= exit_length) strategy.close("PChLE") strategy.close("PChSE") barSinceEntry := na plot(hh, title="Highest High", color=color.green, linewidth=2) plot(ll, title="Lowest Low", color=color.red, linewidth=2)