چلتی اوسط ربن حکمت عملی متعدد چلتی اوسط پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ بیک وقت تیز اور سست چلتی اوسط کی نگرانی کرتی ہے ، اور جب قیمتیں چلتی اوسط ربن کو توڑتی ہیں تو تجارتی سگنل تیار کرتی ہے۔ حکمت عملی میں رجحان کا تعین اور زیادہ خرید / فروخت کے اشارے ملتے ہیں ، جو درمیانی اور طویل مدتی رجحانات کو مؤثر طریقے سے پکڑ سکتے ہیں۔
اس حکمت عملی میں 5 تیز رفتار اوسط (5 ، 8 ، 13 ، 20 اور 30 دن کی لائنیں) اور 4 سست حرکت پذیر اوسط (45 ، 70 ، 105 اور 150 دن کی لائنیں) استعمال ہوتی ہیں۔ تیز رفتار لائنیں اندرونی حرکت پذیر اوسط ربن تشکیل دیتی ہیں اور سست لائنیں بیرونی حرکت پذیر اوسط ربن تشکیل دیتی ہیں۔ جب قیمتیں اندرونی ربن سے اوپر ہوتی ہیں تو خرید کا اشارہ پیدا ہوتا ہے ، اور جب قیمتیں اندرونی ربن سے نیچے ہوتی ہیں تو فروخت کا اشارہ پیدا ہوتا ہے۔ جھوٹے وقفوں کو فلٹر کرنے کے ل it ، قیمتوں کو مسلسل 3 موم بتیوں کے لئے اندرونی ربن کو توڑنے کی ضرورت ہوتی ہے ، اور زیادہ تر تیز رفتار اوسط بھی تجارتی سگنل پیدا کرنے سے پہلے ہم وقت ساز طور پر توڑ دیتے ہیں۔
اس کے علاوہ ، حکمت عملی طویل مدتی رجحانات کا بھی جائزہ لیتی ہے۔ یہ صرف اس وقت خرید سگنل پیدا کرنے پر غور کرتی ہے جب قیمتیں 200 دن کے چلتے ہوئے اوسط سے اوپر ہوں۔ اس کے برعکس ، یہ صرف اس وقت فروخت سگنل پیدا کرنے پر غور کرتی ہے جب قیمتیں 200 دن کے چلتے ہوئے اوسط سے نیچے ہوجاتی ہیں۔ طویل مدتی رجحانات کا تعین کرکے ، یہ استحکام کے دوران پھنس جانے سے روکتا ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
کثیر متحرک اوسط ڈیزائن ٹرینڈ کی سمت کو درست طریقے سے طے کرسکتا ہے۔ تیز اور سست لائنوں کے ساتھ اندرونی اور بیرونی متحرک اوسط ربن کا امتزاج درمیانی سے طویل مدتی رجحانات کی نشاندہی کرنے میں اچھی طرح کام کرتا ہے۔
مسلسل وقفے کا طریقہ کار غلط وقفوں کو مؤثر طریقے سے فلٹر کرسکتا ہے۔ دریں اثنا ، زیادہ تر تیز رفتار اوسط کو توڑنے کی ضرورت ہوتی ہے تاکہ یہ یقینی بنایا جاسکے کہ رجحان بدل رہا ہے۔
طویل مدتی رجحانات کا اندازہ لگانے سے استحکام کے دوران پھنسنے سے بچتا ہے۔ اس کا تعین کرنے کے لئے 200 دن کی لائن کا استعمال صرف اس وقت پوزیشن کھولنے کی اجازت دیتا ہے جب رجحانات الٹنا شروع ہوجاتے ہیں۔
رجحان کے بعد اور زیادہ خرید / زیادہ فروخت کی حالتوں میں توازن رکھتا ہے۔ خود حرکت پذیر اوسطوں میں رجحان کی پیروی کرنے کی صلاحیت ہوتی ہے ، جبکہ زیادہ خرید / زیادہ فروخت کے اشارے کو روکنے کے نقصان کے مقامات کو ترتیب دینے کے لئے جوڑنا خطرہ کنٹرول کو یقینی بناتا ہے۔
اس حکمت عملی کے اہم خطرات میں شامل ہیں:
ناکام بریک آؤٹ کا خطرہ۔ جب جھوٹے بریک آؤٹ ہوتے ہیں تو ، حکمت عملی نقصانات سے مکمل طور پر بچ نہیں سکتی ہے۔
جب مارکیٹ طویل عرصے تک مختلف ہوتی ہے تو ، اسٹاپ نقصان کے مقامات کو کثرت سے مارا جاسکتا ہے ، جس سے بڑے نقصانات ہوتے ہیں۔
پیرامیٹر کی اصلاح کا خطرہ۔ حرکت پذیر اوسط پیرامیٹرز کی غلط ترتیبات ٹریڈنگ سگنلز میں غلطیوں کا باعث بن سکتی ہیں ، جس کے نتیجے میں زیادہ نقصانات ہوتے ہیں۔
اس کے مطابق حل یہ ہیں:
مناسب طریقے سے اسٹاپ نقصان کے نکات کو بڑھانا تاکہ قیمتوں کو منتقل ہونے کے لئے کافی جگہ مل سکے۔ یا اسٹاپ نقصان کی لائن کو قیمتوں کی پیروی کرنے کی اجازت دینے کے لئے ٹریلنگ اسٹاپ نقصان کا طریقہ اپنائیں۔
مضبوطی کے دوران سمت کے بغیر پوزیشنوں کے قیام سے بچنے کے لئے رجحان کا اندازہ کرنے والے اشارے شامل کریں۔ جیسے ڈی ایم آئی ، ایم اے سی ڈی اور دیگر اشارے کے ساتھ فلٹرنگ۔
بہترین پیرامیٹر مجموعے کا انتخاب کرنے کے لئے تاریخی بیک ٹیسٹنگ اور پیرامیٹر کی اصلاح کے طریقوں کا استعمال کریں۔ حقیقی تجارت میں پیرامیٹر کی تاثیر کو بھی ٹریک کریں اور متحرک اصلاحات کریں۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
بہترین سائیکل نمبروں کا انتخاب کرنے کے لئے اوسط پیرامیٹرز کو بہتر بنائیں۔ بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے مختلف سائیکل نمبروں کے ساتھ اوسط چلتے ہوئے بیک ٹیسٹ چلائیں۔
فلٹرنگ کے لئے رجحان کا جائزہ لینے والے اشارے شامل کریں۔ جیسے اوور بک / اوور سیلڈ کے لئے آر ایس آئی ، چینل بریک آؤٹ کے لئے بولنگر بینڈ وغیرہ۔ جب رجحانات غیر واضح ہوں تو اندھے پن سے پوزیشنوں کے قیام سے گریز کریں۔
موافقت پذیر چلتی اوسط کو اپنانا۔ چلتی اوسط پیرامیٹرز کو متحرک طور پر بدلتے ہوئے مارکیٹ کے حالات اور اتار چڑھاؤ کے مطابق بہتر بنائیں ، تاکہ وہ موجودہ مارکیٹ کی حالت میں بہتر طور پر فٹ ہوں۔
رجحان کے امکانات کا فیصلہ کرنے کے لئے مشین لرننگ ماڈلز کو یکجا کریں۔ کامیاب بریک آؤٹ کے امکانات کا اندازہ کرنے کے لئے امکانات کے ماڈل قائم کریں ، فیصلہ سازی کے نظام کو مثالی انٹری ٹائمنگ کا فیصلہ کرنے میں مدد کریں۔
قیمتوں کی بہتر نگرانی کے لئے اسٹاپ نقصان کی حکمت عملیوں کو بہتر بنائیں۔ جیسے اسٹاپ نقصان کو پیچھے چھوڑنا یا اسٹاپ نقصان کی لائن کو زیادہ ذہین بنانے کے لئے متحرک پوزیشن سائزنگ اسٹاپ نقصان۔
حرکت پذیر اوسط ربن حکمت عملی رجحان کی پیروی کرنے والی حکمت عملیوں میں سے ایک ہے۔ یہ درمیانی اور طویل مدتی رجحانات کا جائزہ لینے کے لئے تیز اور سست لائنوں کو جوڑتا ہے ، اور اندراجات کا فیصلہ کرنے کے لئے لگاتار بریک آؤٹ میکانزم طے کرتا ہے۔ یہ حکمت عملی رجحان کی پیروی اور زیادہ خرید / فروخت کی شرائط کو متوازن کرتی ہے۔ پیرامیٹر کی اصلاح اور اشارے کو بڑھانے کے ساتھ ، اس کی کارکردگی میں مزید بہتری آسکتی ہے۔ یہ ان سرمایہ کاروں کے لئے موزوں ہے جو درمیانے اور طویل مدتی پوزیشن رکھتے ہیں۔
//@version=4 strategy(title="Moving Average Ribbon", shorttitle="MA Ribbon", overlay=true) src = input(close, type=input.source, title="Source") matype = input(title="Input one in lowercase: sma, ema, wma, trima, zlema, dema, tema, or hma", type=input.string, defval="trima") // possible values: sma, ema, wma, trima, zlema, dema, tema, hma (hull ma) trima(_src, _len) => sma(sma(_src, _len), _len) hma(_src, _len) => wma(2 * wma(_src, _len / 2) - wma(_src, _len), round(sqrt(_len))) dema(_src, _len) => 2 * ema(_src, _len) - ema(ema(_src, _len), _len) tema(_src, _len) => 3 * ema(_src, _len) - 3 * ema(ema(_src, _len), _len) + ema(ema(ema(_src, _len), _len), _len) zlema(_src, _len) => ema(_src, _len) + ema(_src, _len) - ema(ema(_src, _len), _len) ma(_src, _len) => hma__1 = hma(_src, _len) ema_1 = ema(_src, _len) sma_1 = sma(_src, _len) wma_1 = wma(_src, _len) trima__1 = trima(_src, _len) zlema__1 = zlema(_src, _len) dema__1 = dema(_src, _len) tema__1 = tema(_src, _len) matype == "hma" ? hma__1 : matype == "ema" ? ema_1 : matype == "sma" ? sma_1 : matype == "wma" ? wma_1 : matype == "trima" ? trima__1 : matype == "zlema" ? zlema__1 : matype == "dema" ? dema__1 : tema__1 ma05 = ma(src, 5) ma08 = ma(src, 8) ma13 = ma(src, 13) ma20 = ma(src, 20) ma30 = ma(src, 30) ma45 = ma(src, 45) ma70 = ma(src, 70) ma105 = ma(src, 105) ma150 = ma(src, 150) ma200 = ma(src, 200) maColor(ma, maRef) => if change(ma) <= 0 and ma05 < maRef color.new(color.red, 20) else if change(ma) >= 0 and ma05 > maRef color.new(color.navy, 20) else if change(ma) < 0 and ma05 > maRef color.new(color.red, 20) else if change(ma) >= 0 and ma05 < maRef color.new(color.navy, 20) else color.gray aboveConfirmed(x,maRef)=> above=true for i=1 to x if close[i]<maRef[i] and not (close[i]>ma200[i]*1.01) and not (ma05[i]>ma105[i]*1.015) above:=false above aboveMost(x,len)=> above=0 boolean=false if close[len]>ma05[len] above:=above+1 if close[len]>ma08[len] above:=above+1 if close[len]>ma13[len] above:=above+1 if close[len]>ma20[len] above:=above+1 if close[len]>ma30[len] above:=above+1 if close[len]>ma45[len] above:=above+1 if close[len]>ma70[len] above:=above+1 if close[len]>ma105[len] above:=above+1 if close[len]>ma150[len] above:=above+1 if close[len]>ma200[len] above:=above+1 if(above>=x) boolean:=true boolean belowMost(x,len)=> above=0 boolean=false if close[len]<ma05[len] above:=above+1 if close[len]<ma08[len] above:=above+1 if close[len]<ma13[len] above:=above+1 if close[len]<ma20[len] above:=above+1 if close[len]<ma30[len] above:=above+1 if close[len]<ma45[len] above:=above+1 if close[len]<ma70[len] above:=above+1 if close[len]<ma105[len] above:=above+1 if close[len]<ma150[len] above:=above+1 if close[len]<ma200[len] above:=above+1 if(above>=x) boolean:=true boolean belowConfirmed(x,maRef)=> below=true for i=1 to x if close[i]>maRef[i] and not (close[i]<maRef[i]*0.99) and not (ma05[i]<ma105[i]*0.985) below:=false below //plotshape(aboveConfirmed(5,ma150),color=color.navy,location=location.abovebar,style=shape.triangleup,size=size.large,title="above",text="above") plot(ma05, color=maColor(ma05, ma150), style=plot.style_line, title="MMA05", linewidth=2) plot(ma08, color=maColor(ma08, ma150), style=plot.style_line, title="MMA08", linewidth=1) plot(ma13, color=maColor(ma13, ma150), style=plot.style_line, title="MMA13", linewidth=1) plot(ma20, color=maColor(ma20, ma150), style=plot.style_line, title="MMA20", linewidth=1) plot(ma30, color=maColor(ma30, ma150), style=plot.style_line, title="MMA30", linewidth=1) plot(ma45, color=maColor(ma45, ma200), style=plot.style_line, title="MMA45", linewidth=1) plot(ma70, color=maColor(ma70, ma200), style=plot.style_line, title="MMA70", linewidth=2) plot(ma105, color=maColor(ma105, ma200), style=plot.style_line, title="MMA105", linewidth=2) plot(ma150, color=maColor(ma150, ma200), style=plot.style_line, title="MMA150", linewidth=3) plot(ma200, color=maColor(ma200, ma200), style=plot.style_line, title="MM200", linewidth=3) closeLong=belowMost(6,1) and belowMost(6,2) and belowMost(6,3) closeShort=aboveMost(6,1) and aboveMost(6,2) and aboveMost(6,3) isAbove=aboveConfirmed(5,ma200) strategy.entry("short", false, when=belowConfirmed(3,ma200) and belowMost(8,1) and belowMost(8,2) and belowMost(8,3)) strategy.entry("long", true, when=aboveConfirmed(3,ma200) and aboveMost(8,1) and aboveMost(8,2) and aboveMost(8,3)) strategy.close("long",when=closeLong) strategy.close("short",when=closeShort)