ٹرینڈ ٹریکنگ ٹریلنگ اسٹاپ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو ٹرینڈ فیصلے کے اشارے اور ٹریلنگ اسٹاپ میکانزم کو جوڑتی ہے۔ یہ حکمت عملی موجودہ رجحان کی سمت کا تعین کرنے کے لئے سپر ٹرینڈ اشارے کا استعمال کرتی ہے ، اور اصل وقت میں قیمت کی تبدیلیوں کو ٹریک کرنے کے لئے ٹریلنگ اسٹاپ لائن کا استعمال کرتی ہے ، جس سے رجحان کی پیروی اور رسک کنٹرول حاصل ہوتا ہے۔
حکمت عملی سب سے پہلے سپر ٹرینڈ اشارے کا حساب لگاتی ہے تاکہ یہ فیصلہ کیا جاسکے کہ موجودہ رجحان اوپر ہے یا نیچے۔ سپر ٹرینڈ اشارے میں اے ٹی آر اشارے اور محور نقطہ کو شامل کیا گیا ہے تاکہ رجحان کی سمت کو زیادہ درست طریقے سے طے کیا جاسکے۔ اگر سپر ٹرینڈ اشارے ایک اپ ٹرینڈ کا فیصلہ کرتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ اگر یہ نیچے کے رجحان کا فیصلہ کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
جب خریدنے کا اشارہ پیدا ہوتا ہے تو ، حکمت عملی ایک طویل پوزیشن کھولے گی۔ اسی وقت ، یہ حقیقی وقت میں ٹریلنگ اسٹاپ لائن کا حساب لگاتا ہے۔ اس اسٹاپ لائن کا حساب کتاب کا طریقہ پییوٹ پوائنٹ مائنس اے ٹی آر اشارے کی قیمت ہے۔ جب تک موجودہ اختتامی قیمت اس اسٹاپ لائن سے زیادہ ہے ، اسٹاپ لائن حقیقی وقت میں اوپر کی طرف بڑھ جائے گی اور معقول اسٹاپ نقصان کی پوزیشن برقرار رکھے گی۔ اگر قیمت اسٹاپ لائن کو توڑتی ہے تو ، پوزیشن اسٹاپ نقصان کے ساتھ بند ہوجائے گی۔
اس حکمت عملی میں غیر مناسب تجارتی سگنل کو فلٹر کرنے کے لئے ADX اور RSI اشارے بھی شامل ہیں۔ صرف اس وقت جب ADX مقررہ حد سے زیادہ ہو اور RSI مناسب سطح پر ہو تو سپر ٹرینڈ اشارے کے اشاروں پر پوزیشن کھولنے کے لئے اعتماد کیا جائے گا۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ رجحان کی سمت کو اچھی طرح سے پکڑ سکتا ہے اور رجحان کی پیروی حاصل کرسکتا ہے۔ سپر ٹرینڈ اشارے سادہ چلتی اوسط سے زیادہ درست ہے اور تیزی سے موڑ کے مقامات کا تعین کرسکتا ہے۔ اسی وقت ، ٹریلنگ اسٹاپ میکانزم منافع کو زیادہ سے زیادہ مقفل کرنے اور خطرات کو مؤثر طریقے سے کنٹرول کرنے کے لئے اسٹاپ کی سطح کو خود بخود ایڈجسٹ کرسکتا ہے۔
اس کے علاوہ ، ADX اور RSI اشارے فلٹرنگ کی حکمت عملی میں شامل کیے جاتے ہیں ، مارکیٹ میں اعلی اتار چڑھاؤ کے ادوار کے دوران غلطیوں سے بچنے کے ل.
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ رجحان کا فیصلہ غلط ہوجاتا ہے اور سپر ٹرینڈ اشارے غلط سگنل جاری کرتا ہے۔ اگرچہ سپر ٹرینڈ اشارے سادہ حرکت پذیر اوسط سے بہتر ہے ، لیکن یہ ناگزیر ہے کہ مارکیٹ کے پیچیدہ حالات میں غلط فیصلے ہوں گے۔ اس مقام پر ، نقصانات کو کنٹرول کرنے کے لئے اسٹاپ نقصان کے طریقہ کار پر انحصار کرنا ضروری ہے۔
اس کے علاوہ ، غلط حکمت عملی پیرامیٹر کی ترتیبات بھی خطرات لاحق ہوسکتی ہیں۔ مثال کے طور پر ، ایک اے ٹی آر پیرامیٹر جو بہت بڑا ہے اس سے زیادہ جارحانہ اسٹاپ نقصان لائن ایڈجسٹمنٹ ہوگی۔ اے ڈی ایکس اور آر ایس آئی پیرامیٹرز کی غلط ترتیبات بھی تجارتی مواقع سے محروم ہوسکتی ہیں یا غلط تجارت کا امکان بڑھ سکتی ہیں۔ اس کے ل the زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کے لئے وسیع پیمانے پر تاریخی بیک ٹیسٹنگ کی ضرورت ہوتی ہے۔
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
دوسرے رجحان کی تشخیص کے اشارے جیسے ڈی ایم آئی اور کے ڈی جے کو سپر رجحان کے اشارے کے ساتھ مل کر ایک
مشین لرننگ پر مبنی موافقت پذیر پیرامیٹر اصلاح ماڈیول کو بڑھانا تاکہ ATR پیرامیٹر ، ADX پیرامیٹر ، RSI پیرامیٹر وغیرہ کو مقررہ اقدار کے بجائے حقیقی وقت کی مارکیٹ کے مطابق ایڈجسٹ کیا جاسکے۔
سگنل فلٹرنگ کے لئے آر ایس آئی اشارے کی جگہ جذبات کے اشارے متعارف کروائیں۔ آر ایس آئی اشارے مارکیٹ کے پیچیدہ حالات میں اچھی کارکردگی کا مظاہرہ نہیں کرتے ہیں ، جبکہ معاشرتی جذبات کے اشارے مارکیٹ کے جوش و خروش کو بہتر طور پر طے کرسکتے ہیں۔
پوزیشن سائزنگ مینجمنٹ ماڈیول میں اضافہ کریں۔ اسٹاپ لائن اور موجودہ قیمت کے درمیان فاصلے کے مطابق ، پوزیشن کا سائز متحرک طور پر ایڈجسٹ کریں۔ اسٹاپ لائن سے جتنا دور ہوگا ، منافع کی صلاحیت کو بہتر بنانے کے ل position پوزیشن کا سائز اتنا ہی بڑھایا جاسکتا ہے۔
ٹرینڈ ٹریکنگ ٹریلنگ اسٹاپ کی حکمت عملی میں ٹرینڈ تجزیہ ، ٹریلنگ اسٹاپس ، اور کثیر عنصر فلٹرنگ جیسے طریقوں کو جامع طور پر استعمال کیا جاتا ہے۔ جبکہ رجحانات کو پکڑنا ، یہ خطرات کو سختی سے کنٹرول کرتا ہے اور یہ ایک زیادہ پختہ مقداری حکمت عملی ہے۔ اس حکمت عملی کو زیادہ پیچیدہ مارکیٹ کے ماحول میں اپنانے کے لئے اس حکمت عملی کو بہتر بنانے کی ابھی بھی بہت زیادہ صلاحیت ہے۔
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bendre ADX Sup Trend", overlay = true) /////////////////////////// // SuperTrend + Pivot Point ////////////////////////// src = input(close, title="EMA Source") PPprd = input(defval = 2, title="Pivot Point Period") AtrFactor=input(defval = 2, title = "ATR Factor") AtrPd=input(defval = 18, title = "ATR Period") StartDate = input(timestamp("1 Dec 2022"), title="Start Date") EndDate = input(timestamp("12 Jan 2023"), title="End Date") var float ph = na var float pl = na ph := ta.pivothigh(PPprd, PPprd) pl :=ta.pivotlow(PPprd, PPprd) float center = na center := center[1] // float lastpp = ph ? ph : pl ? pl : 0.0 float lastpp = na(ph) ? na(pl) ? na : pl : ph if lastpp > 0 if na(center) center := lastpp else center := (center * 2 + lastpp) / 3 Up = center - (AtrFactor * ta.atr(AtrPd)) Dn = center + (AtrFactor * ta.atr(AtrPd)) var float TUp = na var float TDown = na Trend = 0 TUp := close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up TDown := close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1) Trailingsl = Trend == 1 ? TUp : TDown // Lines linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na plot(Trailingsl, color = linecolor , linewidth = 2, title = "PP SuperTrend") bsignalSSPP = close > Trailingsl ssignalSSPP = close < Trailingsl /////// // ADX ////// lenADX = 14 th = 14 TrueRange = math.max(math.max(high-low, math.abs(high-nz(close[1]))), math.abs(low-nz(close[1]))) DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? math.max(high-nz(high[1]), 0): 0 DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? math.max(nz(low[1])-low, 0): 0 SmoothedTrueRange = 0.0 SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/lenADX) + TrueRange SmoothedDirectionalMovementPlus = 0.0 SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/lenADX) + DirectionalMovementPlus SmoothedDirectionalMovementMinus = 0.0 SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/lenADX) + DirectionalMovementMinus DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100 DX = math.abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100 ADX = ta.sma(DX, lenADX) ////// // MA ///// lenMA = 21 srcMA = input(close, title="Source") // offsetMA = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500) offsetMA = input(0, title="Offset") outMA = ta.sma(srcMA, lenMA) // // RSI // length = input( 14 ) overSold = input( 30 ) overBought = input( 65 ) price = close vrsi = ta.rsi(price, length) // Buy - Sell Entries buy = bsignalSSPP and outMA < close and ADX > th sell = ssignalSSPP if (buy and vrsi > overBought) // .order // Tuned version strategy.entry("Buy", strategy.long) // strategy.close("Sell", "close Sell") if (sell) and (strategy.position_size > 0) // strategy.entry("Sell", strategy.short) strategy.close("Buy", "Close Buy") // if(sell and vrsi < overSold ) // strategy.entry("Sell", strategy.short) // if(buy) and (strategy.position_size > 0) // strategy.close("Sell", "close Sell")