چلتی اوسط کراس اوور پر مبنی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-02-23 12:21:40
ٹیگز:

img

جائزہ

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

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

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

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

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

فوائد

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

خطرات اور حل

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

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

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

اصلاح کی ہدایات

  1. چلتی اوسط کے سائیکل مجموعہ کو بہتر بنائیں اور حکمت عملی کی واپسی پر طویل اور مختصر سائیکل پیرامیٹرز کے اثرات کا تجربہ کریں
  2. بہترین حرکت پذیر اوسط الگورتھم تلاش کرنے کے لئے مختلف قسم کے چلتے ہوئے اوسط کی کارکردگی کی جانچ کریں
  3. سگنل کے معیار کو بہتر بنانے کے لئے تجارت کے حجم متغیر یا بولنگر بینڈ کو شامل کریں
  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)

مزید