ملٹی ٹائم فریم انکولی ٹریلنگ اسٹاپ حکمت عملی


تخلیق کی تاریخ: 2023-11-21 11:07:44 آخر میں ترمیم کریں: 2023-11-21 11:07:44
کاپی: 0 کلکس کی تعداد: 638
1
پر توجہ دیں
1617
پیروکار

ملٹی ٹائم فریم انکولی ٹریلنگ اسٹاپ حکمت عملی

جائزہ

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

اصول

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

  1. مساوی سمت اشارہ
  2. KD اشارے اوور بیو اوور سیل سگنل
  3. قیمت سگنل سے دور
  4. چینل بریک سگنل
  5. ملٹی ٹائم فریم جامع آزمائشی غلطی سگنل
  6. فی صد R سگنل
  7. اوسط لائن واپسی کا اشارہ
  8. ATR چینل بریک سگنل

مذکورہ بالا ہر ذیلی سگنل کو ہموار کیا گیا ہے اور خرید / فروخت کے فیصلے کے لئے مختلف حد مقرر کی گئی ہے۔ اس کے بعد ہر ذیلی سگنل کو وزن دیا جاتا ہے تاکہ موجودہ ٹائم فریم کے تحت مجموعی سگنل کا حساب لگایا جاسکے۔ اگر سگنل 0 سے زیادہ ہے تو ، اس کا فیصلہ اوپر کی طرف ہے ، اگر سگنل 0 سے کم ہے تو ، اس کا فیصلہ نیچے کی طرف ہے۔

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

فوائد

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

سب سے اہم بات یہ ہے کہ اس حکمت عملی کو متحرک طور پر روکنے کی حد کو ایڈجسٹ کرنے کی صلاحیت ہے، جس میں اس کے خطرے کو کنٹرول کرنے کی سطح کو ایڈجسٹ کرنے کی صلاحیت ہے، جس میں اس کے سب سے بڑے فوائد میں سے ایک نظاماتی خطرے کا احاطہ کرنا ہے.

خطرات

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

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

اصلاح کی سمت

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

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

اس کے علاوہ، آپ کو حقیقی رجحانات کا تعین کرنے کے لئے حجم توانائی کے اشارے کے ساتھ مل کر کر سکتے ہیں، اور قیمتوں میں انحراف کی وجہ سے سگنل کی غلطیوں کو روکنے کے لئے.

خلاصہ کریں۔

یہ حکمت عملی متعدد تکنیکی اشارے کو مربوط کرکے موجودہ رجحان کی سمت کا فیصلہ کرتی ہے ، اور اس کے مطابق متحرک طور پر روکنے کی لائن کو ٹریک کرتی ہے ، جس کا مقصد نقصان کو روکنے اور تجارتی خطرے پر قابو پانے کے لئے ہے۔ اس حکمت عملی کا نظریہ جدید ہے ، جو مزید اصلاح اور توثیق کے قابل ہے ، اور یہ ایک حوالہ کے لئے ایک کثیر وقتی فریم ورک ہے جو خود بخود خطرے پر قابو پانے کی حکمت عملی ہے۔

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jigneshjc

//@version=5
strategy("Jigga - Survival Level", shorttitle='Jigga - Survival Level', overlay=true)

doBackTesting = input(true, 'Run Back Testing')

entryCondition = false
exitCondition = false


ab21 =  14,  gh41 = ab21
gh42 = ab21, ju51 = 14
ki61 = ju51
lkolkp = true ,ab22 = 58
cd31 = 5 , ab23 = 42
aa12 = 29, cd32 = 26
op71 = 5,  aa11 = 12
aa13 = 9, op72 = 2.0
movnwx = false


kahachale(byju, h, l) =>
    mika = ta.change(h)
    awer = -ta.change(l)
    uikmhDM = na(mika) ? na : mika > awer and mika > 0 ? mika : 0
    wrtdfcDM = na(awer) ? na : awer > mika and awer > 0 ? awer : 0
    bbct = ta.rma(ta.tr, byju)
    uikmh = fixnan(100 * ta.rma(uikmhDM, byju) / bbct)
    wrtdfc = fixnan(100 * ta.rma(wrtdfcDM, byju) / bbct)
    [uikmh, wrtdfc]

trial(gh42, gh41, h, l) =>
    [uikmh, wrtdfc] = kahachale(gh42, h, l)
    uuolop = uikmh + wrtdfc
    trial = 100 * ta.rma(math.abs(uikmh - wrtdfc) / (uuolop == 0 ? 1 : uuolop), gh41)
    trial

_pr(src, byjugth) =>
    max = ta.highest(byjugth)
    min = ta.lowest(byjugth)
    100 * (src - max) / (max - min)


kyukarna(khulmkhula, mikaarwala, nichewala, bandhwala, partiwala) =>

    sig = trial(gh42, gh41, mikaarwala, nichewala)
    trialIncreasing = sig > ta.ema(sig, 5) ? lkolkp : movnwx

    rolkmn = ta.ema(bandhwala, aa11)
    psolkmn = ta.ema(bandhwala, aa12)
    ujghd = rolkmn - psolkmn
    wrtycv = ta.ema(ujghd, aa13)
    kimnjg = ujghd - wrtycv


    mikalilo = ta.rma(math.max(ta.change(bandhwala), 0), ab21)
    awerlilo = ta.rma(-math.min(ta.change(bandhwala), 0), ab21)
    lilo = awerlilo == 0 ? 100 : mikalilo == 0 ? 0 : 100 - 100 / (1 + mikalilo / awerlilo)
    juylknlilo = ta.ema(lilo, 3)


    rjuylkn = ta.ema(bandhwala, cd31)
    psjuylkn = ta.ema(bandhwala, cd32)

    percentR = _pr(bandhwala, ju51)
    juylknpercentR = ta.ema(percentR, 3)


    ad = bandhwala == mikaarwala and bandhwala == nichewala or mikaarwala == nichewala ? 0 : (2 * bandhwala - nichewala - mikaarwala) / (mikaarwala - nichewala) * partiwala
    kiloValue = math.sum(ad, ki61) / math.sum(partiwala, ki61)



    liiopn = ta.atr(op71)
    mikaliiopn = (mikaarwala + nichewala) / 2 - op72 * liiopn
    mika1liiopn = nz(mikaliiopn[1], mikaliiopn)
    mikaliiopn := bandhwala[1] > mika1liiopn ? math.max(mikaliiopn, mika1liiopn) : mikaliiopn
    dnliiopn = (mikaarwala + nichewala) / 2 + op72 * liiopn
    dn1liiopn = nz(dnliiopn[1], dnliiopn)
    dnliiopn := bandhwala[1] < dn1liiopn ? math.min(dnliiopn, dn1liiopn) : dnliiopn
    omnerliiopn = 1
    omnerliiopn := nz(omnerliiopn[1], omnerliiopn)
    omnerliiopn := omnerliiopn == -1 and bandhwala > dn1liiopn ? 1 : omnerliiopn == 1 and bandhwala < mika1liiopn ? -1 : omnerliiopn

    fitur = ujghd > 0 ? ujghd > wrtycv ? 1 : 0 : ujghd > wrtycv ? 0 : -1
    mitur = kimnjg >= 0 ? kimnjg > kimnjg[1] ? 1 : 0 : kimnjg > kimnjg[1] ? 0 : -1
    ritur = juylknlilo > ab22 ? 1 : juylknlilo < ab23 ? -1 : 0
    circuits = rjuylkn > psjuylkn ? 1 : -1
    trialPoints = trialIncreasing ? close > ta.ema(close, 3) ? 1 : -1 : 0
    virar = juylknpercentR > -ab23 ? 1 : juylknpercentR < -ab22 ? -1 : 0
    chikar = kiloValue > 0.1 ? 1 : kiloValue < -0.1 ? -1 : 0
    sitar = omnerliiopn


    p = fitur + mitur + ritur + circuits + trialPoints + virar + chikar + sitar

    p

currentP = kyukarna(open, high, low, close, volume)
currentPNew = currentP >= 0 and currentP[1] <= 0 ? 0 : currentP <= 0 and currentP[1] >= 0 ? 0 : currentP
colorPNew = currentPNew == 0 ? color.black : currentPNew >= 0 ? color.green : color.red
//plot(currentPNew, color=colorPNew, title='CurrentTimeFrame')

LTN = 0.0
LTN := nz(LTN) ? 0.0 : (currentPNew[1] < 0 and currentPNew >= 0) ? high * 1.005 : (currentPNew[1] > 0 and currentPNew <= 0) ? low * 0.995 : LTN[1]

LClr = color.green
LClr :=  (currentPNew[1] < 0 and currentPNew >= 0) ? color.green : (currentPNew[1] > 0 and currentPNew <= 0) ? color.red : LClr[1]

plot(LTN,color=LClr,title="Level", style=plot.style_circles)


entryCondition:= high > LTN and LClr == color.green ? lkolkp : movnwx
exitCondition:= low < LTN and LClr == color.red ? lkolkp : movnwx

tradeRunning = movnwx
tradeRunning := nz(tradeRunning) ? movnwx :  (not tradeRunning[1]) and entryCondition ? lkolkp : tradeRunning[1] and exitCondition ? movnwx : tradeRunning[1]


plotshape(tradeRunning and (not tradeRunning[1]) and (not doBackTesting), style=shape.labelup, location=location.belowbar, color=color.new(#00FF00, 50), size=size.tiny, title='Buy wrtycv', text='➹', textcolor=color.new(color.black,0))
plotshape((not tradeRunning) and tradeRunning[1] and (not doBackTesting), style=shape.labeldown, location=location.abovebar, color=color.new(#FF0000, 50), size=size.tiny, title='Sell wrtycv', text='➷', textcolor=color.new(color.white, 0))


if  entryCondition  and doBackTesting
    strategy.entry(id="Buy",direction=strategy.long)

if exitCondition and doBackTesting
    strategy.close(id="Buy")