ڈبل ای ایم اے حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو مختلف سائیکلوں کے ای ایم اے کا حساب لگاتے ہوئے قیمتوں کی رجحان کی سمت کی نشاندہی کرتی ہے اور اس کا استعمال اندراجات اور باہر نکلنے کا تعین کرنے کے لئے کرتی ہے۔ یہ آسان اور عملی حکمت عملی رجحاناتی منڈیوں میں اچھی طرح کام کرتی ہے۔
یہ حکمت عملی بنیادی طور پر دو ای ایم اے اشارے پر مبنی ہے ، ایک قلیل مدتی 9 دن کا ای ایم اے اور ایک طویل 21 دن کا ای ایم اے۔ ان کے کراس اوورز اندراج اور باہر نکلنے کے اشارے پیدا کرتے ہیں۔
جب مختصر ای ایم اے طویل ای ایم اے سے اوپر سے گزرتا ہے تو ، اسے قیمتوں میں اضافے کے رجحان میں داخل ہونے کے طور پر دیکھا جاتا ہے۔ حکمت عملی بڑھتی ہوئی رجحان کی پیروی کرنے کے لئے لمبی ہوگی۔ جب مختصر ای ایم اے طویل ای ایم اے سے نیچے سے گزرتا ہے تو ، اسے قیمتوں میں کمی کے رجحان میں داخل ہونے کے طور پر دیکھا جاتا ہے۔ حکمت عملی گرتی ہوئی رجحان کی پیروی کرنے کے لئے مختصر ہوگی۔
ای ایم اے اشارے مؤثر طریقے سے قیمت کے اعداد و شمار سے شور کو فلٹر کرسکتے ہیں اور رجحان کی اہم سمت کی نشاندہی کرسکتے ہیں۔ لہذا ، حکمت عملی طویل مدتی قیمت کے رجحانات کو پکڑنے کے لئے اندراجات اور باہر نکلنے کے لئے دوہری ای ایم اے کو بنیاد کے طور پر استعمال کرتی ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
خلاصہ میں ، ڈبل ای ایم اے حکمت عملی ایک بہت ہی مفید رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ کام کرنا آسان ، سمجھنا اور مضبوط رجحان سازی والی منڈیوں میں عمدہ کارکردگی کا مظاہرہ کرتا ہے۔ اس حکمت عملی میں کچھ خطرات بھی ہیں جن کو اس کے استحکام کو بہتر بنانے کے لئے مختلف بہتریوں کے ذریعے کم کیا جاسکتا ہے۔ مجموعی طور پر ، ڈبل ای ایم اے مقداری تجارت کے لئے ایک اہم حوالہ ٹیمپلیٹ کے طور پر کام کرتے ہیں۔
/*backtest start: 2023-02-21 00:00:00 end: 2024-02-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // This can only draw so many lines. Use bar replay to go back further strategy("Strategy Lines", shorttitle="Strategy Lines", overlay=true, max_lines_count=500) //########################################################################################################################################### // Replace your strategy here //########################################################################################################################################### shortEMA = ta.ema(close, input(9, title="Short EMA Length")) longEMA = ta.ema(close, input(21, title="Long EMA Length")) // Entry conditions for long and short positions longCondition = ta.crossover(shortEMA, longEMA) shortCondition = ta.crossunder(shortEMA, longEMA) //########################################################################################################################################### // Strategy Lines //########################################################################################################################################### var timeLow = bar_index var line li = na var openLPrice = 0.0000 var openSPrice = 0.0000 LongWColor = input.color(color.rgb(0,255,0,0),"Long Win Color", group="Strategy Lines") LongLColor = input.color(color.rgb(0,0,255,0),"Long Loss Color", group="Strategy Lines") ShortWColor = input.color(color.rgb(255,255,0,0),"Short Win Color", group="Strategy Lines") ShortLColor = input.color(color.rgb(255,0,0,0),"Short Loss Color", group="Strategy Lines") WinFontColor = input.color(color.rgb(0,0,0,0),"Win Font Color", group="Strategy Lines") LossFontColor = input.color(color.rgb(255,255,255,0),"Loss Font Color", group="Strategy Lines") LinesShowLabel = input(false,"Show Labels?",group = "Strategy Lines") // // Start new line when we go long // if strategy.position_size >0 // line.delete(li) // li := line.new(timeLow, close[bar_index-timeLow], bar_index, close, width=2, color=close>openLPrice?LongWColor:LongLColor) // // Start new line when we go short // if strategy.position_size <0 // line.delete(li) // li := line.new(timeLow, close[bar_index-timeLow], bar_index, close, width=2, color=close<openSPrice?ShortWColor:ShortLColor) // //Delete Lines if we don't have a position open // if strategy.position_size ==0 // li := line.new(timeLow, close[bar_index-timeLow], bar_index, close, width=2, color=color.rgb(0,0,0,100)) // line.delete(li) if LinesShowLabel // Short Label if strategy.position_size>=0 and strategy.position_size[1] <0 label.new( timeLow, na, text=str.tostring((openSPrice-close[1])/(syminfo.mintick*10)), color=close[1]<openSPrice?ShortWColor:ShortLColor, textcolor=close[1]<openSPrice?WinFontColor:LossFontColor, size=size.small, style=label.style_label_down, yloc=yloc.abovebar) // Long Label if strategy.position_size<=0 and strategy.position_size[1] >0 label.new( timeLow, na, text=str.tostring((close[1]-openLPrice)/(syminfo.mintick*10)), color=close[1]>openLPrice?LongWColor:LongLColor, textcolor=close[1]>openLPrice?WinFontColor:LossFontColor, size=size.small, style=label.style_label_down, yloc=yloc.abovebar) // Open long position and draw line if (longCondition) //strategy.entry("Long", strategy.long) // timeLow := bar_index // li := line.new(timeLow, close[bar_index-timeLow], bar_index, close, width=2, color=close>openLPrice?LongWColor:LongLColor) openLPrice := close // Open short position and draw line if (shortCondition) //strategy.entry("Short", strategy.short) // timeLow := bar_index // li := line.new(timeLow, close[bar_index-timeLow], bar_index, close, width=2, color=close<openSPrice?ShortWColor:ShortLColor) openSPrice := close //########################################################################################################################################### // Strategy Execution (Replace this as well) //########################################################################################################################################### if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)