موافقت پذیر زیرو لیگ ایکسپونینشیل موونگ ایوریج کوانٹیٹیٹیو ٹریڈنگ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو جان ایلرز کے زیرو لیگ ایکسپونینشیل موونگ ایوریج (زی ایل ای ایم اے) کے خیال پر مبنی ہے۔ یہ حکمت عملی ایکسپونینشیل موونگ ایوریج کو ایک بیس لائن اشارے کے طور پر استعمال کرتی ہے اور ایکسپونینشیل موونگ ایوریج کے دورانیے کے پیرامیٹر کو متحرک طور پر بہتر بنانے کے لئے فوری تعدد پیمائش (آئی ایف ایم) کا ایک موافقت پذیر طریقہ شامل کرتی ہے۔
اس حکمت عملی کا بنیادی خیال جان ایلرز کے نظریہ صفر تاخیر فلٹرز سے ماخوذ ہے۔ اگرچہ ایکسپونینشل موونگ ایمیری ایک وسیع پیمانے پر مشہور تکنیکی اشارے ہے ، لیکن اس میں فطری طور پر تاخیر کا مسئلہ ہے۔ ایلرز نے تاخیر کے رجحان کو مؤثر طریقے سے ختم کرنے کے لئے ایکسپونینشل موونگ ایمیری کے حساب کتاب کے فارمولے میں غلطی کی اصلاح کا عنصر متعارف کرایا ، جس سے زیرو لیگ ای ایم اے کو قیمت کی تبدیلیوں کو ٹریک کرنے میں زیادہ حساس بنا دیا گیا۔
ایڈیپٹیو زیرو لیگ ای ایم اے کی حکمت عملی میں ، ہم زلیما کے دورانیے کے پیرامیٹر کو موافقت پذیر طریقے سے بہتر بنانے کے لئے فوری تعدد کی پیمائش کے طریقوں کا استعمال کرتے ہیں۔ آئی ایف ایم میں دو تکنیکیں شامل ہیں - کوسین طریقہ اور انفیز اسکواڈریچر طریقہ ، جو قیمتوں میں اتار چڑھاؤ کے غالب چکر کی پیمائش کرسکتے ہیں۔ ان دونوں پیمائشوں کے ذریعہ حساب لگائے جانے والے زیادہ سے زیادہ ادوار کی حقیقی وقت سے باخبر رہنے سے ، ہم متحرک طور پر زلیما کے دورانیے کے پیرامیٹر کو بہتر طور پر موجودہ مارکیٹ کی حالت کے مطابق بناتے ہیں۔
جب تیز EMA (ZLEMA) نیچے سے سست EMA کو عبور کرتا ہے تو ، ایک لمبا سگنل تیار کیا جاتا ہے۔ جب تیز EMA سست EMA سے نیچے عبور کرتا ہے تو ، ایک مختصر سگنل متحرک ہوجاتا ہے۔ یہ چلتی اوسط کراس اوور سسٹم کی طرح ہی تجارتی حکمت عملی تشکیل دیتا ہے۔
ایڈیپٹیو زیرو لیگ ای ایم اے حکمت عملی صفر لیگ فلٹر اور موافقت پذیر مدت کی اصلاح کو یکجا کرتی ہے، جس کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی میں کچھ خطرات بھی ہیں:
ان خطرات پر قابو پانے کے لیے ہمیں مختلف مارکیٹ کے حالات میں پیرامیٹرز کا مکمل ٹیسٹ کرنے کی ضرورت ہے، SL/TP کو مناسب طریقے سے ایڈجسٹ کرنے کی ضرورت ہے اور بیک ٹیسٹ میں براہ راست ٹریڈنگ ماحول کی نقالی کرنے کی ضرورت ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لئے ابھی بھی کافی گنجائش موجود ہے:
ان اصلاح کے ذرائع کے ذریعے، حکمت عملی کی جیت کی شرح، منافع بخش، خطرے سے متعلق ایڈجسٹ میٹرکس کو مزید بہتر بنانے کی صلاحیت ہے.
ایڈیپٹیو زیرو لیگ ای ایم اے حکمت عملی صفر لیگ فلٹر اور متحرک مدت کی اصلاح کو کامیابی کے ساتھ جوڑتی ہے۔ کم پیرامیٹرز اور کام کرنے میں آسان ، یہ خاص طور پر ٹرینڈنگ مارکیٹوں کے لئے موزوں ہے۔ مناسب اسٹاپ نقصان ، پوزیشن سائزنگ اور دیگر رسک مینجمنٹ تکنیکوں کے ساتھ مل کر ، اس کے استحکام اور منافع کو مزید بڑھا سکتا ہے۔ اس حکمت عملی کو بہتر کارکردگی کے ل.
/*backtest start: 2024-01-19 00:00:00 end: 2024-02-18 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Adaptive Zero Lag EMA v2", shorttitle="AZLEMA", overlay = true) src = input(title="Source", defval=close) Period = input(title="Period", defval = 20) adaptive = input(title="Adaptive Method", options=["Off", "Cos IFM", "I-Q IFM", "Average"], defval="Off") GainLimit = input(title="Gain Limit", defval = 10) Threshold = input(title="Threshold", type = float, defval=0.05, step=0.01) fixedSL = input(title="SL Points", defval=70) fixedTP = input(title="TP Points", defval=5) risk = input(title='Risk', defval=0.01, step=0.01) //############################################################################## //I-Q IFM //############################################################################# range = input(title="Max Period", defval=60, minval=8, maxval=100) PI = 3.14159265359 imult = 0.635 qmult = 0.338 inphase = 0.0 quadrature = 0.0 re = 0.0 im = 0.0 deltaIQ = 0.0 instIQ = 0.0 lenIQ = 0.0 V = 0.0 P = src - src[7] inphase := 1.25*(P[4] - imult*P[2]) + imult*nz(inphase[3]) quadrature := P[2] - qmult*P + qmult*nz(quadrature[2]) re := 0.2*(inphase*inphase[1] + quadrature*quadrature[1]) + 0.8*nz(re[1]) im := 0.2*(inphase*quadrature[1] - inphase[1]*quadrature) + 0.8*nz(im[1]) if (re!= 0.0) deltaIQ := atan(im/re) for i=0 to range V := V + deltaIQ[i] if (V > 2*PI and instIQ == 0.0) instIQ := i if (instIQ == 0.0) instIQ := nz(instIQ[1]) lenIQ := 0.25*instIQ + 0.75*nz(lenIQ[1]) //############################################################################## //COSINE IFM //############################################################################# s2 = 0.0 s3 = 0.0 deltaC = 0.0 instC = 0.0 lenC = 0.0 v1 = 0.0 v2 = 0.0 v4 = 0.0 v1 := src - src[7] s2 := 0.2*(v1[1] + v1)*(v1[1] + v1) + 0.8*nz(s2[1]) s3 := 0.2*(v1[1] - v1)*(v1[1] - v1) + 0.8*nz(s3[1]) if (s2 != 0) v2 := sqrt(s3/s2) if (s3 != 0) deltaC := 2*atan(v2) for i = 0 to range v4 := v4 + deltaC[i] if (v4 > 2*PI and instC == 0.0) instC := i - 1 if (instC == 0.0) instC := instC[1] lenC := 0.25*instC + 0.75*nz(lenC[1]) if (adaptive == "Cos IFM") Period := round(lenC) if (adaptive == "I-Q IFM") Period := round(lenIQ) if (adaptive == "Average") Period := round((lenC + lenIQ)/2) //############################################################################## //ZERO LAG EXPONENTIAL MOVING AVERAGE //############################################################################## LeastError = 1000000.0 EC = 0.0 Gain = 0.0 EMA = 0.0 Error = 0.0 BestGain = 0.0 alpha =2/(Period + 1) EMA := alpha*src + (1-alpha)*nz(EMA[1]) for i = -GainLimit to GainLimit Gain := i/10 EC := alpha*(EMA + Gain*(src - nz(EC[1]))) + (1 - alpha)*nz(EC[1]) Error := src - EC if(abs(Error)<LeastError) LeastError := abs(Error) BestGain := Gain EC := alpha*(EMA + BestGain*(src - nz(EC[1]))) + (1-alpha)*nz(EC[1]) plot(EC, title="EC", color=orange, linewidth=2) plot(EMA, title="EMA", color=red, linewidth=2) buy = crossover(EC,EMA) and 100*LeastError/src > Threshold sell = crossunder(EC,EMA) and 100*LeastError/src > Threshold strategy.initial_capital = 50000 if (time>timestamp(2016, 1, 1 , 0, 0)) //LONG balance = strategy.initial_capital + strategy.netprofit lots = ((risk * balance)/fixedSL)*1 strategy.entry("BUY", strategy.long, qty=lots, oca_name="BUY", when=buy) strategy.exit("B.Exit", "BUY", qty_percent = 100, loss=fixedSL, trail_offset=15, trail_points=fixedTP) //SHORT strategy.entry("SELL", strategy.short, qty=lots, oca_name="SELL", when=sell) strategy.exit("S.Exit", "SELL", qty_percent = 100, loss=fixedSL, trail_offset=15, trail_points=fixedTP)