رجحان کی پیروی اور ADX اشارے پر مبنی مختصر مدتی تجارتی حکمت عملی


تخلیق کی تاریخ: 2024-01-22 17:10:55 آخر میں ترمیم کریں: 2024-01-22 17:10:55
کاپی: 0 کلکس کی تعداد: 687
1
پر توجہ دیں
1617
پیروکار

رجحان کی پیروی اور ADX اشارے پر مبنی مختصر مدتی تجارتی حکمت عملی

جائزہ

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

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

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

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

اسٹاپ نقصان کی لائن تازہ ترین قیمتوں اور اے ٹی آر کی قیمتوں کے مطابق متحرک طور پر ایڈجسٹ ہوتی ہے ، جس سے رجحانات کو اچھی طرح سے ٹریک کیا جاسکتا ہے۔

طاقت کا تجزیہ

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. ٹرانسمیشن اشارے کا استعمال کرتے ہوئے رجحانات کی سمت کو ٹریک کرنے کے لئے استعمال کیا جاتا ہے، اس سے بچنے کے لئے کہ مارکیٹوں کو لاک کرنے کے لئے لاک کیا جائے.

  2. ADX اشارے کی مدد سے رجحان کی طاقت کا اندازہ لگائیں ، تاکہ اس کی صفائی کے وقت غلط تجارت سے بچا جاسکے۔

  3. اسٹاپ نقصان کی لائن کو متحرک طور پر ایڈجسٹ کریں ، زیادہ سے زیادہ منافع کو لاک کریں۔

  4. آر ایس آئی کے ساتھ مل کر، آپ کو خریدنے اور فروخت کرنے سے بچنے کے لۓ.

  5. مجموعی طور پر ، حکمت عملی کے پیرامیٹرز کی ترتیب معقول ہے ، ڈی فریم کے انتخاب میں تسلسل پر غور کیا گیا ہے ، اور اسٹاپ اسٹاپ نقصان کی ترتیب بھی اچھی ہے۔

خطرے کا تجزیہ

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

  1. ایک ٹرانسمیشن اشارے اور ایک ایم اے اشارے کے درمیان تنازعہ کا اشارہ ہوسکتا ہے۔

  2. ADX اشارے 14 دوروں کے لئے مقرر کیا گیا ہے ، اور اس میں غیر متوقع واقعات کی عدم حساسیت ہے۔

  3. RSI پیرامیٹرز کو بطور ڈیفالٹ سیٹ کیا گیا ہے ، اور ممکنہ طور پر خرید و فروخت سے مکمل طور پر بچا نہیں جاسکتا ہے۔

  4. غیر متوقع واقعات کے اثرات جیسے اہم منافع / منافع بخش خبروں کو مدنظر نہیں رکھا گیا ہے۔

اس کا حل کیا ہے؟

  1. ما کے دورانیے کو ایڈجسٹ کریں تاکہ یہ سپر ٹرینڈ اشارے سے مل سکے

  2. ADX سائیکل کو کم کرنے اور غیر متوقع واقعات کے لئے حساسیت کو بڑھانے کی کوشش کریں.

  3. RSI پیرامیٹرز کو بہتر بنانے کے لئے، بہترین قیمت تلاش کریں.

  4. اہم خبروں کی اشاعتوں سے بچنے کے لیے نیوز فلٹر میں شامل ہوں۔

اصلاح کی سمت

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

  1. مشین لرننگ ماڈل میں رجحانات کا اندازہ لگانے میں اضافہ ، اور تجارتی فیصلوں کو ذہین تر بنانا۔

  2. رجحان کی طاقت کا تعین کرنے کے لئے ADX کے متبادل جیسے جذبات کے اشارے متعارف کرانے کی کوشش کریں۔

  3. اس کے علاوہ ، اس نے خود کار طریقے سے روکنے والے ماڈیولز کو شامل کیا ہے تاکہ اس کو زیادہ متحرک اور درست بنایا جاسکے۔

  4. گہری سیکھنے کی تکنیکوں کے ذریعہ مزید خصوصیات کو نکالنا اور مجموعی حکمت عملی کو بہتر بنانا۔

  5. اعلی درجے کی زبانوں جیسے پطرون کا استعمال کرتے ہوئے حکمت عملی کی ترقی، حکمت عملی کی توسیع کو بڑھانے کے لئے.

خلاصہ کریں۔

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

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

//@version=5
strategy("Bendre ADX STrend", 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 = 21, title = "ATR Period")

StartDate = input(timestamp("1 Dec 2023"), title="Start Date")
EndDate = input(timestamp("12 Jan 2024"), title="End Date")
window()  => true

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)

//
// DMI - Direction Movement Index
// 
[diplus1, diminus1, adx] = ta.dmi(14, 14)

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


if (buy and vrsi > overBought and adx > 19)
    // .order // Tuned version
    strategy.entry("Buy", strategy.long, when = window())
    // 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 and adx > 25)
    strategy.entry("Sell", strategy.short, when = window())

if ( ta.crossover( diminus1, diplus1) or ((buy) and (strategy.position_size > 0)) )
    strategy.close("Sell", "close Sell")

// if(sell) and (diminus1 > diplus1) and adx > 23 and adx > adx[1] and (vrsi < overSold)
//     strategy.entry("Sell", strategy.short, when = window())

// if (strategy.position_size > 0 and ta.crossunder(diminus1, adx)) or (strategy.position_size > 0  and (buy))
//     strategy.close("Sell", "close Sell")