متعدد موونگ ایوریج بولنگر بینڈ کی حکمت عملی


تخلیق کی تاریخ: 2024-02-06 15:08:26 آخر میں ترمیم کریں: 2024-02-06 15:08:26
کاپی: 4 کلکس کی تعداد: 632
1
پر توجہ دیں
1617
پیروکار

متعدد موونگ ایوریج بولنگر بینڈ کی حکمت عملی

جائزہ

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

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

اس حکمت عملی کا بنیادی حصہ یہ ہے کہ ٹریڈنگ سگنل بنانے کے لئے صارف کے ذریعہ درج کردہ 12 قسم کے متحرک اوسط ، بشمول SMA ، EMA ، WMA ، DEMA ، TMA ، VAR ، WWMA ، ZLEMA ، TSF ، HULL ، اور TILL شامل ہیں۔ برلن بینڈ اشارے کے ساتھ مل کر ، برلن بینڈ کی درمیانی اوسط منتخب شدہ متحرک اوسط پر مشتمل ہے ، اور اوپر اور نیچے کی درمیانی اوسط ایک مثبت معیاری فاصلے پر ہے۔ جب قیمت اوپر کی طرف سے ٹوٹ جاتی ہے تو ، خالی ہوجائیں۔ جب قیمت نیچے کی طرف سے ٹوٹ جاتی ہے تو ، زیادہ کریں۔ مختلف قسم کے متحرک اوسط کے امتزاج کے ذریعہ ، پیرامیٹرز کو بہتر بنانے کے ل more ، زیادہ مستحکم اور درست تجارتی سگنل حاصل کریں۔

یہ کوڈ مندرجہ ذیل حصوں پر مشتمل ہے:

  1. 12 قسم کی حرکت پذیری اوسط کی قسموں کے لئے حساب کے افعال کی وضاحت کریں ، بشمول SMA ، EMA ، WMA وغیرہ۔
  2. getMA فنکشن ، جو mav ان پٹ پیرامیٹرز کے مطابق متعلقہ چلتی اوسط کو لوٹاتا ہے۔
  3. برن بینڈ کی وسط ، اوپر اور نیچے کی قطاریں حساب کریں۔ وسط ٹریک کے لئے گیٹ ایم اے فنکشن کا استعمال کرتے ہوئے ایک منتقل اوسط حاصل کریں۔
  4. برین بینڈ کا نقشہ
  5. بڑھتی ہوئی سگنل اور خالی سگنل. قیمتوں کو ٹریک پر توڑنے کے لئے خالی سر، ٹریک پر توڑنے کے لئے زیادہ سر.

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

  1. مختلف حرکت پذیر اوسط کے مجموعے کی جانچ کرنا ، بہترین پیرامیٹرز تلاش کرنا ، اور سگنل استحکام کو بہتر بنانا۔
  2. اسٹاپ نقصان کی حکمت عملی میں اضافہ ، جو انفرادی غلط سگنل سے ہونے والے نقصان کو کنٹرول کرتی ہے۔
  3. دوسرے اشارے کے ساتھ مل کر سگنل کو فلٹر کریں تاکہ بار بار تجارت سے بچا جاسکے۔ جیسے MACD ، KD وغیرہ۔
  4. پیسے کے انتظام کو بہتر بنانے اور پوزیشنوں کو ایڈجسٹ کرنے کے لئے

خلاصہ کریں۔

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

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

//@version=4
strategy("Bollinger Bands Strategy (MA type)", overlay=true)
src = input(close, title="Source")
length = input(20,step=10, minval=1)
mult = input(1,type=input.float, minval=0.001, maxval=50, title="StdDev")

length1=input(26, "Long Moving Average Length", minval=1)
length2=input(9, "Trigger Length", minval=1)
T3a1 = input(0.7, "TILLSON T3 Volume Factor", step=0.1)
////////////
mav = input(title="Moving Average Type", defval="VAR", options=["SMA", "EMA", "WMA", "DEMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF", "HULL", "TILL"])
Var_Func(src,length)=>
    valpha=2/(length+1)
    vud1=src>src[1] ? src-src[1] : 0
    vdd1=src<src[1] ? src[1]-src : 0
    vUD=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
VAR=Var_Func(src,length)
DEMA = ( 2 * ema(src,length)) - (ema(ema(src,length),length) )
Wwma_Func(src,length)=>
    wwalpha = 1/ length
    WWMA = 0.0
    WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1])
WWMA=Wwma_Func(src,length)
Zlema_Func(src,length)=>
    zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2
    zxEMAData = (src + (src - src[zxLag]))
    ZLEMA = ema(zxEMAData, length)
ZLEMA=Zlema_Func(src,length)
Tsf_Func(src,length)=>
    lrc = linreg(src, length, 0)
    lrc1 = linreg(src,length,1)
    lrs = (lrc-lrc1)
    TSF = linreg(src, length, 0)+lrs
TSF=Tsf_Func(src,length)
HMA = wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length)))
T3e1=ema(src, length)
T3e2=ema(T3e1,length)
T3e3=ema(T3e2,length)
T3e4=ema(T3e3,length)
T3e5=ema(T3e4,length)
T3e6=ema(T3e5,length)
T3c1=-T3a1*T3a1*T3a1
T3c2=3*T3a1*T3a1+3*T3a1*T3a1*T3a1
T3c3=-6*T3a1*T3a1-3*T3a1-3*T3a1*T3a1*T3a1
T3c4=1+3*T3a1+T3a1*T3a1*T3a1+3*T3a1*T3a1
T3=T3c1*T3e6+T3c2*T3e5+T3c3*T3e4+T3c4*T3e3


getMA(src, length) =>
    ma = 0.0
    if mav == "SMA"
        ma := sma(src, length)
        ma

    if mav == "EMA"
        ma := ema(src, length)
        ma

    if mav == "WMA"
        ma := wma(src, length)
        ma

    if mav == "DEMA"
        ma := DEMA
        ma

    if mav == "TMA"
        ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1)
        ma

    if mav == "VAR"
        ma := VAR
        ma

    if mav == "WWMA"
        ma := WWMA
        ma

    if mav == "ZLEMA"
        ma := ZLEMA
        ma

    if mav == "TSF"
        ma := TSF
        ma

    if mav == "HULL"
        ma := HMA
        ma

    if mav == "TILL"
        ma := T3
        ma
    ma
    
//////////
basis = getMA(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset",minval = -500, maxval = 500)
plot(basis, "Basis",color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
/////////
buyEntry = crossover(src, lower)
sellEntry = crossunder(src, upper)
if (crossover(src, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
	strategy.cancel(id="BBandLE")
if (crossunder(src, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="BBandSE")
else
	strategy.cancel(id="BBandSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)