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

مصنف:چاؤ ژانگ، تاریخ: 2023-09-18 21:57:00
ٹیگز:

جائزہ

یہ حکمت عملی رجحان کی سمت کی نشاندہی کرنے اور سگنل پیدا کرنے کے لئے تیز رفتار اور سست حرکت پذیر اوسط استعمال کرتی ہے جب تیز رفتار ایم اے سست ایم اے کو عبور کرتا ہے ، جس سے دوہری ایم اے کا نظام پیدا ہوتا ہے۔

اصول

اس حکمت عملی میں ایک مختصر تیز رفتار ایم اے اور ایک طویل آہستہ آہستہ ایم اے استعمال کیا جاتا ہے.

سست ایم اے اہم رجحان کی سمت کی وضاحت کرتا ہے۔ ایم اے سے اوپر کی قیمت اپ ٹرینڈ ہے ، اس سے نیچے کی قیمت ڈاؤن ٹرینڈ ہے۔

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

سگنل کے بعد، ٹریلنگ سٹاپ اختیاری طور پر فعال کیا جا سکتا ہے.

فوائد

  1. تیز اور سست ایم اے کمبوڈ مؤثر طریقے سے رجحان کی نشاندہی کرتا ہے.

  2. فاسٹ ایم اے حساس ٹریڈنگ سگنل پیدا کرتا ہے۔

  3. سست ایم اے شور کو فلٹر کرتا ہے جو جھوٹے بھاگنے کو روکتا ہے۔

  4. مختلف ایم اے اقسام جیسے ای ایم اے، ڈی ای ایم اے استعمال کی جا سکتی ہیں۔

  5. ٹریلنگ سٹاپ نقصان فعال کیا جا سکتا ہے.

خطرات اور تخفیف

  1. ایم اے تاخیر سگنل میں تاخیر کر سکتی ہے۔ زیادہ حساس پیرامیٹرز کی جانچ کی جا سکتی ہے۔

  2. سٹاپ نقصان بہت تنگ ہو سکتا ہے جو قبل از وقت باہر نکلنے کا باعث بنتا ہے۔ اس سے حرکت کرنے کی گنجائش ہونی چاہیے۔

  3. حجم کو نظر انداز کیا جاتا ہے، قیمت میں ہیرا پھیری کا خطرہ موجود ہے۔ حجم کی تصدیق شامل کر سکتے ہیں۔

  4. صرف اشارے غلط سگنلز کے لئے موزوں ہیں. اضافی تصدیق کی ضرورت ہے.

  5. پیرامیٹر کی اصلاح مشکل ہے۔ مرحلہ وار اصلاح یا GA بہترین پیرامیٹرز تلاش کرسکتا ہے۔

بہتر مواقع

  1. بہترین نتائج کے لیے مختلف ایم اے اقسام اور پیرامیٹرز کا تجربہ کریں۔

  2. بہتر حساسیت کے لئے موافقت پذیر چلتی اوسط کی تحقیق.

  3. سگنل فلٹرنگ کے لئے دیگر اشارے یا عوامل شامل کریں.

  4. لچکدار رکاوٹوں کے لئے متحرک رکاوٹیں بنائیں.

  5. اے ٹی آر کے ساتھ متحرک پوزیشن سائزنگ کی طرح پیسہ مینجمنٹ کو بہتر بنائیں.

خلاصہ

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


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.7", shorttitle = "Trend MAs str 1.7", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
type = input(7, defval = 7, minval = 1, maxval = 7, title = "Type of Slow MA")
src = input(close, defval = close, title = "Source of Slow MA")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")

fastsma = ema(src, fastlen)

//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)

//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3

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

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Trend
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
trend = low > ma and low[1] > ma[1] and low[2] > ma[2] ? 1 : high < ma and high[1] < ma[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

//Signals
min = min(open, close)
max = max(open, close)
up = trend == 1 and (low < fastsma or usefastsma == false) and redbars == 1 ? 1 : 0
dn = trend == -1 and (high > fastsma or usefastsma == false) and greenbars == 1 ? 1 : 0

//Lines
colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast MA")
plot(ma, color = blue, linewidth = 3, transp = 0, title = "Slow MA")

//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')

//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    strategy.exit("Stop Long", "Long", stop = stoplong)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    strategy.exit("Stop Short", "Short", stop = stopshort)

مزید