
یہ حکمت عملی مختلف اقسام کی حرکت پذیری اوسط کی طرف سے بلین بینڈ کی تعمیر کرتا ہے، اس طرح زیادہ سے زیادہ ٹریڈنگ کے مواقع کا پتہ لگاتا ہے. یہ 12 قسم کی حرکت پذیری اوسط پیش کرتا ہے، جو بہترین پیرامیٹرز حاصل کرنے کے لئے لچکدار مجموعہ فراہم کرتا ہے.
اس حکمت عملی کا بنیادی حصہ یہ ہے کہ ٹریڈنگ سگنل بنانے کے لئے صارف کے ذریعہ درج کردہ 12 قسم کے متحرک اوسط ، بشمول SMA ، EMA ، WMA ، DEMA ، TMA ، VAR ، WWMA ، ZLEMA ، TSF ، HULL ، اور TILL شامل ہیں۔ برلن بینڈ اشارے کے ساتھ مل کر ، برلن بینڈ کی درمیانی اوسط منتخب شدہ متحرک اوسط پر مشتمل ہے ، اور اوپر اور نیچے کی درمیانی اوسط ایک مثبت معیاری فاصلے پر ہے۔ جب قیمت اوپر کی طرف سے ٹوٹ جاتی ہے تو ، خالی ہوجائیں۔ جب قیمت نیچے کی طرف سے ٹوٹ جاتی ہے تو ، زیادہ کریں۔ مختلف قسم کے متحرک اوسط کے امتزاج کے ذریعہ ، پیرامیٹرز کو بہتر بنانے کے ل more ، زیادہ مستحکم اور درست تجارتی سگنل حاصل کریں۔
یہ کوڈ مندرجہ ذیل حصوں پر مشتمل ہے:
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اس میں متعدد قسم کے چلنے والی اوسط کی قسمیں پیش کی جاتی ہیں۔ مختلف مارکیٹ کے حالات میں ، چلتی اوسط مختلف رفتار سے رد عمل ظاہر کرتی ہے ، اور متعدد قسم کے چلنے والی اوسط کو اپنانے سے حکمت عملی کی موافقت میں نمایاں اضافہ ہوتا ہے۔ اس کے علاوہ ، حکمت عملی چلتی اوسط لمبائی کے پیرامیٹرز کو بہتر بنانے کے ل the بہترین مجموعہ تلاش کرسکتی ہے ، اور اس طرح زیادہ درست تجارت حاصل کرسکتی ہے۔ سگنل
اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ حرکت پذیر اوسط خود ہی سگنل میں خلل ڈالتا ہے ، جس میں متعدد جھوٹے وقفے ہوسکتے ہیں۔ اس کے علاوہ ، برن بینڈ اشارے شدید قیمتوں میں تبدیلی کے لئے بھی حساس ہیں ، اور درمیانی مدار کی لائن قیمتوں کو مؤثر طریقے سے ٹریک نہیں کرسکتی ہے۔ اس کے لئے زیادہ مستحکم حرکت پذیر اوسط کی اقسام کو اپنانے کی ضرورت ہے ، اور پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
یہ حکمت عملی مجموعی طور پر بہت ہی جدید ہے ، جس میں برن بینڈ اشارے کے لئے زیادہ سے زیادہ ٹکڑے ٹکڑے کی درخواست فراہم کی گئی ہے۔ پورٹ فولیو منتقل اوسط کو ایڈجسٹ کرکے ، ایک زیادہ درست اور مستحکم سگنل حاصل کیا جاسکتا ہے۔ اس کے ساتھ ساتھ برن بینڈ حکمت عملی کو بہتر بنانے کے لئے نئے خیالات بھی فراہم کیے گئے ہیں۔ پیرامیٹرز کو ایڈجسٹ اور بہتر بنانے کے ذریعہ ، یہ حکمت عملی ایک بہت ہی عملی تجارتی آلہ بن سکتی ہے۔
/*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)