ڈبل موونگ ایوریج ٹرینڈ ٹریکنگ حکمت عملی ایک ایسی حکمت عملی ہے جو مارکیٹ کے رجحان کا تعین کرنے کے لئے تیز اور سست حرکت پذیر اوسط کے امتزاج کا استعمال کرتی ہے ، اور جب رجحان کی سمت بدل جاتی ہے تو تجارتی سگنل تیار کرتی ہے۔ یہ رجحان کی نشاندہی کرنے کے لئے حرکت پذیر اوسط اشارے اور قیمت چینل اشارے کو جوڑتی ہے ، جو مؤثر طریقے سے مارکیٹ کے شور کو فلٹر کرسکتی ہے اور رجحان کی سمت کا تعین کرسکتی ہے۔
ڈبل موونگ ایوریج ٹرینڈ ٹریکنگ حکمت عملی دو حرکت پذیر اوسطوں کا استعمال کرتی ہے - ایک تیز رفتار اوسط (5 ادوار) اور ایک سست حرکت پذیر اوسط (21 ادوار) ۔ تیز رفتار ایم اے ٹریڈنگ سگنل پیدا کرنے کے لئے استعمال ہوتا ہے جبکہ سست ایم اے مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے استعمال ہوتا ہے۔ جب تیز رفتار ایم اے سست ایم اے سے اوپر عبور کرتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب تیز رفتار ایم اے سست ایم اے سے نیچے عبور کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی میں رجحان کا تعین کرنے میں مدد کے لئے قیمت چینل اشارے کا بھی استعمال ہوتا ہے۔ قیمت چینل کا تعین اعلی ترین اور کم ترین قیمتوں کے چلتے ہوئے اوسط سے ہوتا ہے۔ جب قیمتیں چینل کو توڑتی ہیں تو ، اس سے رجحان کی تبدیلی کا اشارہ ہوتا ہے۔ یہ حکمت عملی دو قیمت چینلز کا استعمال کرتی ہے جس میں بالترتیب 21 اور 5 کے ادوار ہوتے ہیں ، جو ایم اے ادوار سے ملتے ہیں۔
خرید و فروخت کے اشاروں کا تعین کرتے وقت ، حکمت عملی کے لئے ایک دوسرے کے پیچھے سرخ / سبز موم بتیاں ظاہر ہونے کی ضرورت ہوتی ہے (صارف کی طرف سے ایڈجسٹ) ایک اضافی فلٹر کی حالت کے طور پر۔ اس سے مارکیٹ میں استحکام کے دوران غلط اشاروں سے بچنے میں مدد ملتی ہے۔
خلاصہ میں، اس حکمت عملی میں رجحان کا تعین کرنے کا منطق یہ ہے:
وقت کے فریموں میں رجحان کا فیصلہ کرکے، مارکیٹ شور کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے اور رجحان کی سمت کی تصدیق کی جاسکتی ہے.
دوہری حرکت پذیر اوسط رجحان ٹریکنگ کی حکمت عملی میں مندرجہ ذیل فوائد ہیں:
آخر میں، اس حکمت عملی میں نسبتا good اچھی مجموعی استحکام ہے اور مضبوط رجحان مارکیٹوں میں اچھی کارکردگی کا مظاہرہ کرتا ہے۔
دوہری حرکت پذیر اوسط رجحان کی نگرانی کی حکمت عملی میں بھی کچھ خطرات ہیں ، بنیادی طور پر:
خطرات کو کم کرنے کے لئے متعلقہ اقدامات میں شامل ہیں:
اسٹریٹیجی کو مزید بہتر بنانے کی گنجائش ہے ، بنیادی طور پر مندرجہ ذیل سمتوں میں:
ان اصلاحاتی سمتوں سے حکمت عملی کے استحکام ، موافقت اور ذہانت کی سطح میں مزید اضافہ ہوسکتا ہے۔
اختتام کے طور پر ، ڈبل موونگ ایوریج ٹرینڈ ٹریکنگ حکمت عملی ایک نسبتا rob مضبوط رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ رجحان کی سمت اور طاقت کا تعین کرنے کے لئے موونگ ایوریجز اور قیمت چینلز کو جوڑتا ہے ، تیز ایم اے کے ساتھ تجارتی سگنل تیار کرتا ہے۔ اضافی موم بتی فلٹرز غلط سگنل سے بچنے میں بھی مدد کرتے ہیں۔ سایڈست پیرامیٹرز مختلف مارکیٹ کے ماحول میں موافقت کی اجازت دیتے ہیں۔ قابل اعتماد ، ذہین خودکار تجارتی حکمت عملی بنانے کے لئے مزید اصلاحات کے لئے بھی کافی گنجائش ہے۔
/*backtest start: 2023-12-24 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's Trend MAs Strategy v1.8", shorttitle = "Trend MAs str 1.8", 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, %") useohlc4 = input(false, defval = false, title = "Use OHLC4") usefastsma = input(true, "Use fast MA Filter") fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period") slowlen = input(21, 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?") src = useohlc4 == true ? ohlc4 : close fastsma = ema(src, 5) //PriceChannel 1 lasthigh = highest(src, slowlen) lastlow = lowest(src, slowlen) center = (lasthigh + lastlow) / 2 //PriceChannel 2 lasthigh2 = highest(src, fastlen) lastlow2 = lowest(src, fastlen) center2 = (lasthigh2 + lastlow2) / 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] trend1 = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend1[1] trend2 = low > center2 and low[1] > center2[1] ? 1 : high < center2 and high[1] < center2[1] ? -1 : trend1[1] trend = trend1 == 1 and trend2 == 1 ? 1 : trend2 == -1 and trend2 == -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 up = trend == 1 and (low < center2 or usefastsma == false) and (redbars == 1) ? 1 : 0 dn = trend == -1 and (high > center2 or usefastsma == false) and (greenbars == 1) ? 1 : 0 //Lines colorfastsma = usefastsma == true ? red : na plot(fastsma, color = colorfastsma, title = "Fast MA") plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA") plot(center2, color = red, linewidth = 3, transp = 0, title = "PriceChannel 2") //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)