موونگ ایوریج کراس اوور پر مبنی حکمت عملی کی پیروی کا رجحان


تخلیق کی تاریخ: 2024-02-23 12:21:40 آخر میں ترمیم کریں: 2024-02-23 12:21:40
کاپی: 4 کلکس کی تعداد: 619
1
پر توجہ دیں
1617
پیروکار

موونگ ایوریج کراس اوور پر مبنی حکمت عملی کی پیروی کا رجحان

جائزہ

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

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

یہ حکمت عملی دو مختلف پیرامیٹرز کی ترتیبات کے ساتھ چلنے والی اوسط کا موازنہ کرتی ہے۔ پہلا چلنے والا اوسط پیرامیٹرز len1 اور type1 کے ذریعہ ترتیب دیا گیا ہے ، اور دوسرا چلنے والا اوسط پیرامیٹرز len2 اور type2 کے ذریعہ ترتیب دیا گیا ہے۔ len1 اور len2 بالترتیب دو چلنے والی اوسط کی مدت کی نمائندگی کرتے ہیں ، اور type1 اور type2 حرکت پذیری اوسط کی الگورتھم کی قسم کی نمائندگی کرتے ہیں۔

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

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

اسٹریٹجک فوائد

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

خطرات اور حل

  1. متحرک اوسط تاخیر کا شکار ہے اور قیمتوں کے الٹ پوائنٹس سے محروم ہوسکتا ہے حل: موزوں طور پر کم اوسطاً چلنے والی اوسط کا دورانیہ یا دیگر اشارے کے ساتھ استعمال

  2. اعلی اتار چڑھاو اور بار بار الٹ کے ساتھ مارکیٹوں کے لئے موزوں نہیں حل: فلٹرنگ کے مزید شرائط اور ہنگامی حالات میں تجارت سے بچنے کے لئے

  3. غلط سگنل کا خطرہ حل: سگنل کی وشوسنییتا کو بہتر بنانے کے لئے دوسرے فلٹرنگ اشارے کے ساتھ مجموعہ

اصلاح کی سمت

  1. حکمت عملی کی واپسی پر طویل اور مختصر مدت کے پیرامیٹرز کے اثرات کو جانچنے کے لئے منتقل اوسط کے دورانیہ کو بہتر بنائیں
  2. مختلف قسم کے منتقل اوسط کی کارکردگی کی جانچ پڑتال اور بہترین منتقل اوسط الگورتھم تلاش کرنے کے لئے
  3. سگنل کے معیار کو بہتر بنانے کے لئے VARIABLE یا برننگ چینل جیسے اشارے شامل کریں
  4. پوزیشن مینجمنٹ کی حکمت عملی کو بہتر بنانا ، فی صد_ان_ایکوئٹی کو بہتر بنانا

خلاصہ کریں۔

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

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

//@version=2
strategy(title = "Noro's MAs Cross Tests v1.0", shorttitle = "MAs Cross tests 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

needlong = input(true, "long")
needshort = input(true, "short")

len2 = input(15, defval = 15, minval = 2, maxval = 1000, title = "Fast MA length")
type2 = input(1, defval = 1, minval = 1, maxval = 7, title = "Fast MA Type")
src2 = input(close, defval = close, title = "Fast MA Source")

len1 = input(30, defval = 30, minval = 2, maxval = 1000, title = "Slow MA length")
type1 = input(1, defval = 1, minval = 1, maxval = 7, title = "Slow MA Type")
src1 = input(close, defval = close, title = "Slow MA Source")

col = input(false, defval = false, title = "Color of bar")

o = input(false, title = "1 SMA, 2 EMA, 3 VWMA, 4 DEMA, 5 TEMA, 6 KAMA, 7 Price Channel") 

//DEMA 1
dema1 = 2 * ema(src1, len1) - ema(ema(close, len1), len1)

//TEMA 1
xEMA1 = ema(src1, len1)
xEMA2 = ema(xEMA1, len1)
xEMA3 = ema(xEMA2, len1)
tema1 = 3 * xEMA1 - 3 * xEMA2 + xEMA3

//KAMA 1
xvnoise = abs(src1 - src1[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src1 - src1[len1])
nnoise = sum(xvnoise, len1)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
kama1 = nz(kama1[1]) + nsmooth * (src1 - nz(kama1[1]))

//PriceChannel 1
lasthigh1 = highest(src1, len1)
lastlow1 = lowest(src1, len1)
center1 = (lasthigh1 + lastlow1) / 2

//DEMA 2
dema2 = 2 * ema(src2, len2) - ema(ema(close, len2), len2)

//TEMA 2
xEMA12 = ema(src2, len2)
xEMA22 = ema(xEMA12, len2)
xEMA32 = ema(xEMA22, len2)
tema2 = 3 * xEMA12 - 3 * xEMA22 + xEMA32

//KAMA 2
xvnoise2 = abs(src2 - src2[1])
nfastend2 = 0.20
nslowend2 = 0.05
nsignal2 = abs(src2 - src2[len2])
nnoise2 = sum(xvnoise2, len2)
nefratio2 = iff(nnoise2 != 0, nsignal2 / nnoise2, 0)
nsmooth2 = pow(nefratio2 * (nfastend2 - nslowend2) + nslowend2, 2) 
kama2 = nz(kama2[1]) + nsmooth2 * (src2 - nz(kama2[1]))

//PriceChannel 2
lasthigh2 = highest(src2, len2)
lastlow2 = lowest(src2, len2)
center2 = (lasthigh2 + lastlow2) / 2

//MAs
ma1 = type1 == 1 ? sma(src1, len1) : type1 == 2 ? ema(src1, len1) : type1 == 3 ? vwma(src1, len1) : type1 == 4 ? dema1 : type1 == 5 ? tema1 : type1 == 6 ? kama1 : type1 == 7 ? center1 : 0
ma2 = type2 == 1 ? sma(src2, len2) : type2 == 2 ? ema(src2, len2) : type2 == 3 ? vwma(src2, len2) : type2 == 4 ? dema2 : type2 == 5 ? tema2 : type2 == 6 ? kama2 : type2 == 7 ? center2 : 0
plot(ma1, color = blue, linewidth = 3, transp = 0)
plot(ma2, color = red, linewidth = 3, transp = 0)

//Signals
trend = ma2 > ma1 ? 1 : ma2 < ma1 ? -1 : trend[1]
up = trend == 1 and ((close < open and close[1] < open[1]) or col == false)
dn = trend == -1 and ((close > open and close[1] > open[1]) or col == false)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)