ADX فلٹرڈ سپر ٹرینڈ پیویٹ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-19 15:01:36
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

  1. محور کی معاونت اور مزاحمت کی لائنوں کا حساب لگائیں۔ بندش کی قیمت لیں اور اوپر اور نیچے کے ATR رینج کو شامل / گھٹائیں۔ ان لائنوں کے وقفے رجحان کی واپسی کی نشاندہی کرتے ہیں۔

  2. ADX رجحان کی طاقت کا تعین کرتا ہے۔ اعلی ADX اقدار ایک مضبوط رجحان کی نشاندہی کرتی ہیں۔

  3. تجارتی سگنلز کے لئے دونوں کو یکجا کریں۔ صرف محور وقفوں اور اعلی ADX پر طویل / مختصر جائیں۔

فوائد کا تجزیہ

اس حکمت عملی کے فوائد:

  1. متحرک سپر ٹرینڈ لائنز تیزی سے بریک آؤٹ کی نشاندہی کرتی ہیں۔

  2. ADX فلٹر رینج محدود مارکیٹوں کے دوران جھوٹے سگنل سے بچتا ہے.

  3. اچھا خطرہ انعام کا تناسب اور استعمال کا کنٹرول۔

خطرے کا تجزیہ

اس حکمت عملی کے خطرات:

  1. خلا کی حرکتیں سپر ٹرینڈ لائنوں کو غیر فعال کر سکتی ہیں۔

  2. خراب ADX حد کی ترتیب کارکردگی پر اثر انداز ہوتا ہے.

  3. تجارت کی کثرت سے ٹرانزیکشن کی لاگت میں اضافہ ہوتا ہے۔

حل:

  1. وسیع پیمانے پر توڑنے کی حدوں کی اجازت دینے کے لئے پیرامیٹرز کو بہتر بنائیں.

  2. بہتر ADX اقدار کے لئے ٹیسٹ.

  3. تجارت کی کثرت کو کم کریں۔

اصلاح کی ہدایات

بہتری کے لیے ضروری شعبے:

  1. زیادہ مضبوط لائنوں کے لئے ATR ضارب کو بہتر بنائیں.

  2. مختلف ADX پیرامیٹرز کی جانچ کریں.

  3. نقصانات کو محدود کرنے کے لئے سٹاپ نقصان شامل کریں.

نتیجہ

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


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("STPP20 + ADX", overlay = true)

///////////////////////////
// SuperTrend + Pivot Point
//////////////////////////

src =  input(close, title="EMA Source")
PPprd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
AtrFactor=input(defval = 5, title = "ATR Factor", minval = 1, step = 0.1)
AtrPd=input(defval = 20, title = "ATR Period", minval=1)

float ph = na
float pl = na
ph := pivothigh(PPprd, PPprd)
pl := pivotlow(PPprd, PPprd)

float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        center := (center * 2 + lastpp) / 3

Up = center - (AtrFactor * atr(AtrPd))
Dn = center + (AtrFactor * atr(AtrPd))

float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? 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 = 25
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? 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 = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, lenADX)


//////
// MA
/////

lenMA = 21
srcMA = input(close, title="Source")
offsetMA = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
outMA = sma(srcMA, lenMA)


// Buy - Sell Entries
buy = bsignalSSPP and outMA < close and ADX > th
sell = ssignalSSPP 

if (buy)
    // .order // Tuned version
    strategy.entry("Buy", strategy.long)


if (sell) and (strategy.position_size > 0)
    strategy.order("Sell", false, when = sell)

مزید