متعدد موونگ ایوریج بینڈز پر مبنی حکمت عملی


تخلیق کی تاریخ: 2023-12-18 12:29:19 آخر میں ترمیم کریں: 2023-12-18 12:29:19
کاپی: 1 کلکس کی تعداد: 807
1
پر توجہ دیں
1621
پیروکار

متعدد موونگ ایوریج بینڈز پر مبنی حکمت عملی

جائزہ

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

حکمت عملی کا اصول

یہ حکمت عملی ایک ہی وقت میں 5 فاسٹ منتقل اوسط ((5th لائن، 8th لائن، 13th لائن، 20th لائن اور 30th لائن) اور 4 سست رفتار منتقل اوسط ((45th لائن، 70th لائن، 105th لائن اور 150th لائن) کا استعمال کرتی ہے، جس میں تیز رفتار لائن اندرونی منتقل اوسط کی تشکیل کرتی ہے، اور سست رفتار لائن بیرونی منتقل اوسط کی تشکیل کرتی ہے. جب قیمت اندرونی اوسط کی حد سے تجاوز کرتی ہے تو خریدنے کا اشارہ ہوتا ہے، جب قیمت اندرونی اوسط کی حد سے تجاوز کرتی ہے تو فروخت کا اشارہ ہوتا ہے.

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

طاقت کا تجزیہ

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

  1. ایک سے زیادہ چلتی اوسط ڈیزائن ، جس سے رجحان کی سمت کا درست اندازہ لگایا جاسکتا ہے۔ اندرونی اور بیرونی چلتی اوسط بینڈ تیز اور سست اوسط لائن کے ساتھ مل کر ، درمیانی اور لمبی لائن رجحانات کی شناخت کے لئے اچھا ہے۔

  2. مسلسل توڑنے کا طریقہ کار جعلی توڑ کو مؤثر طریقے سے فلٹر کرسکتا ہے۔ اس کے ساتھ ساتھ زیادہ تر تیز رفتار اوسط توڑ کی ضرورت ہوتی ہے تاکہ رجحان کی تبدیلی کو یقینی بنایا جاسکے۔

  3. طویل مدتی رجحانات کا اندازہ لگائیں ، اور اس کی صفائی کے دوران اس کا احاطہ نہ کریں۔ 200 تاریخ کی لائن کے فیصلے کے ساتھ مل کر ، صرف اس صورت میں پوزیشن لگانے پر غور کریں جب رجحانات میں تبدیلی آئے۔

  4. رجحان کی پیروی اور اوور خرید اوور فروخت کو مدنظر رکھتے ہوئے۔ متحرک اوسط خود ہی رجحان کی پیروی کرنے کا کام کرتا ہے ، اور اس کے علاوہ اوور خرید اوور فروخت اشارے کے ساتھ مل کر اسٹاپ نقصان کی ترتیب دیتا ہے ، اور خطرہ کو کنٹرول کرتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات شامل ہیں:

  1. توڑنے کی ناکامی کا خطرہ۔ جب قیمتوں میں جھوٹی توڑ ہوتی ہے تو ، حکمت عملی نقصانات کو مکمل طور پر روک نہیں سکتی ہے۔

  2. زلزلے کے رجحان کے تحت نقصان کا خطرہ۔ جب مارکیٹ میں طویل عرصے سے ہلچل ہوتی ہے تو ، اسٹاپ نقصان کا نقطہ بار بار مارا جاسکتا ہے ، جس سے نقصان میں اضافہ ہوتا ہے۔

  3. پیرامیٹرز کو بہتر بنانے کا خطرہ۔ حرکت پذیر اوسط پیرامیٹرز کی غلط ترتیب بھی تجارتی سگنل میں غلطی کا سبب بن سکتی ہے ، جس سے نقصان میں اضافہ ہوتا ہے۔

اس کا حل کیا ہے؟

  1. اسٹاپ نقصان کو مناسب طریقے سے چھوڑ دیں ، قیمتوں کو چلانے کے لئے کافی جگہ دیں۔ یا ایک لیجٹریل اسٹاپ نقصان کا طریقہ اپنائیں ، تاکہ اسٹاپ نقصان کی لائن قیمتوں کے ساتھ چل سکے۔

  2. رجحان کا فیصلہ کرنے والے اشارے میں اضافہ کریں ، اور زلزلے کے وقت بے راہ روی سے بچنے سے گریز کریں۔ مثال کے طور پر DMI ، MACD اور دیگر اشارے کے ساتھ مل کر فلٹر کریں۔

  3. تاریخ کی بازیافت اور پیرامیٹرز کی اصلاح کے ذریعہ ، بہترین پیرامیٹرز کا مجموعہ منتخب کریں۔ متحرک اصلاح کے ل the ، پیرامیٹرز کے اثر کو بھی اصل ڈسک میں ٹریک کریں۔

اصلاح کی سمت

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

  1. حرکت پذیر اوسط پیرامیٹرز کو بہتر بنائیں ، بہترین دورانیہ کا انتخاب کریں۔ مختلف دورانیوں کی حرکت پذیر اوسط کو دوبارہ جانچ کر ، بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکتا ہے۔

  2. رجحان کا فیصلہ کرنے والے اشارے میں اضافے کے لئے فلٹر کریں۔ مثال کے طور پر RSI اشارے نے اوور بیئر اوور سیل کا فیصلہ کیا ، برین بینڈ نے چینل کو توڑنے کا فیصلہ کیا ، وغیرہ۔ جب رجحان واضح نہیں ہوتا ہے تو اندھے پوزیشنوں سے گریز کریں۔

  3. ایک انکولی منتقل اوسط کو اپنانا۔ مارکیٹ کی تبدیلیوں اور اتار چڑھاؤ کی شرح کے مطابق ، اصل وقت میں منتقل اوسط پیرامیٹرز کو بہتر بنانے کے ل. ، تاکہ یہ موجودہ مارکیٹ کی حالت کے مطابق ہو۔

  4. مشین لرننگ ماڈل کے ساتھ مل کر رجحانات کا اندازہ لگانے کا امکان۔ کامیابی کے امکانات کا اندازہ لگانے کے لئے امکانات کے ماڈل کی تشکیل ، فیصلہ سازی کے نظام کو داخلے کے وقت کا اندازہ لگانے میں مدد کریں۔

  5. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں تاکہ اسٹاپ نقصان کی قیمتوں کو بہتر طور پر ٹریک کیا جاسکے۔ مثال کے طور پر ٹریلنگ اسٹاپ نقصان یا خودکار سکیننگ اسٹاپ نقصان ، تاکہ اسٹاپ لائن زیادہ ذہین ہو۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
//@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)