ڈبل ای ایم اے اسٹریٹیجی تجزیہ

مصنف:چاؤ ژانگ، تاریخ: 2024-02-28 18:07:59
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

یہ حکمت عملی بنیادی طور پر دو ای ایم اے اشارے پر مبنی ہے ، ایک قلیل مدتی 9 دن کا ای ایم اے اور ایک طویل 21 دن کا ای ایم اے۔ ان کے کراس اوورز اندراج اور باہر نکلنے کے اشارے پیدا کرتے ہیں۔

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

ای ایم اے اشارے مؤثر طریقے سے قیمت کے اعداد و شمار سے شور کو فلٹر کرسکتے ہیں اور رجحان کی اہم سمت کی نشاندہی کرسکتے ہیں۔ لہذا ، حکمت عملی طویل مدتی قیمت کے رجحانات کو پکڑنے کے لئے اندراجات اور باہر نکلنے کے لئے دوہری ای ایم اے کو بنیاد کے طور پر استعمال کرتی ہے۔

فوائد

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. حکمت عملی کا خیال سادہ اور سمجھنے اور لاگو کرنے میں آسان ہے۔
  2. یہ مؤثر طریقے سے قیمت کے رجحانات کی نشاندہی کرسکتا ہے اور رجحانات کی پیروی کرنے کے لئے بروقت پوزیشنوں میں داخل ہوسکتا ہے.
  3. ای ایم اے کا استعمال شور کو فلٹر کرتا ہے اور قلیل مدتی قیمتوں میں اتار چڑھاؤ سے مداخلت سے بچتا ہے۔
  4. EMA پیرامیٹرز کو حکمت عملی کی حساسیت کو ایڈجسٹ کرنے کے لئے تشکیل دیا جا سکتا ہے.

خطرات

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. ای ایم اے کی پسماندہ خصوصیت رجحانات کے الٹ جانے پر نقصانات میں اضافہ کر سکتی ہے۔
  2. غلط EMA پیرامیٹرز کی ترتیبات غلط سگنل کی شرح میں اضافہ کرتی ہیں.
  3. یہ حکمت عملی مضبوط رجحانات والے بازاروں کے لئے زیادہ موزوں ہے اور رینج سے منسلک ادوار میں کمزور ہے۔

بہتری

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

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

خلاصہ

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


/*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)

مزید