ٹرپل حرکت پذیر اوسط کی مقدار پر مبنی تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-23 14:20:50
ٹیگز:

img

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

اصول

اس حکمت عملی میں تین حرکت پذیر اوسط شامل ہیں: ایم اے 1 ، ایم اے 2 اور ایم اے 3۔ ایم اے 1 اور ایم اے 2 تجارتی چینل تشکیل دیتے ہیں ، اور ان کا کراس اوور تجارتی سگنل تیار کرتا ہے۔ ایم اے 3 سگنل کو فلٹر کرنے کے لئے استعمال ہوتا ہے۔

جب تیز رفتار حرکت پذیر اوسط MA1 درمیانی مدتی حرکت پذیر اوسط MA2 سے اوپر عبور کرتا ہے تو ، اس سے قلیل مدتی رجحان کی مضبوطی ظاہر ہوتی ہے۔ اس وقت ، اگر قیمت طویل مدتی حرکت پذیر اوسط MA3 سے اوپر ہے تو ، ایک لمبا سگنل تیار کیا جاتا ہے۔ اس کے برعکس ، اگر MA1 MA2 سے نیچے عبور کرتا ہے اور قیمت MA3 سے نیچے ہے تو ، ایک مختصر سگنل تیار کیا جاتا ہے۔

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

فوائد

  • متعدد حرکت پذیر اوسطوں کے ذریعے مختلف سائیکلوں کے رجحانات کو پکڑو
  • ایم اے 3 فلیٹرز سگنلز کو وِپساؤ سے بچنے کے لئے
  • حسب ضرورت قسم اور پیرامیٹرز، اعلی موافقت
  • سگنل پوائنٹس کی نشاندہی کرنے کے لئے صلیبوں کو تصور کریں

خطرات

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

مختلف مصنوعات کے لئے MA ادوار کو بہتر بنا سکتے ہیں؛ واحد نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کو بہتر بنا سکتے ہیں؛ سگنل کی موزونیت کی تصدیق اور جھوٹے سگنل کو کم کرنے کے لئے دیگر تکنیکی اشارے کو یکجا کر سکتے ہیں.

اصلاح کی ہدایات

  • رجحانات کا تعین کرنے کے لئے دیگر اشارے شامل کریں، مثال کے طور پر MACD، بولنگر بینڈ، وغیرہ.
  • سٹاپ نقصان / منافع لینے کی حکمت عملی شامل کریں
  • بہترین مجموعے تلاش کرنے کے لئے متحرک طور پر پیرامیٹرز کو ایڈجسٹ کریں
  • مختلف مصنوعات کے لئے پیرامیٹر کی اصلاح
  • تجارتی اخراجات پر غور کریں، تجارتی تعدد کو بہتر بنائیں

خلاصہ

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


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Meesemoo

//@version=4
strategy("Custom MA Strategy Tester", overlay = true)
MA1Period = input(13, title="MA1 Period")
MA1Type = input(title="MA1 Type", defval="SMA", options=["RMA", "SMA", "EMA", "WMA", "HMA", "DEMA", "TEMA"])
MA1Source = input(title="MA1 Source", type=input.source, defval=close)
MA1Visible = input(title="MA1 Visible", type=input.bool, defval=true)
MA2Period = input(50, title="MA2 Period")
MA2Type = input(title="MA2 Type", defval="SMA", options=["RMA", "SMA", "EMA", "WMA", "HMA", "DEMA", "TEMA"])
MA2Source = input(title="MA2 Source", type=input.source, defval=close)
MA2Visible = input(title="MA2 Visible", type=input.bool, defval=true) 
MA3Period = input(200, title="MA3 Period")
MA3Type = input(title="MA3 Type", defval="SMA", options=["RMA", "SMA", "EMA", "WMA", "HMA", "DEMA", "TEMA"])
MA3Source = input(title="MA3 Source", type=input.source, defval=close)
MA3Visible = input(title="MA3 Visible", type=input.bool, defval=true)
ShowCrosses = input(title="Show Crosses", type=input.bool, defval=true)

MA1 = if MA1Type == "SMA"
    sma(MA1Source, MA1Period)
else
    if MA1Type == "EMA"
        ema(MA1Source, MA1Period)
    else
        if MA1Type == "WMA"
            wma(MA1Source, MA1Period)
        else
            if MA1Type == "RMA"
                rma(MA1Source, MA1Period)
            else
                if MA1Type == "HMA"
                    wma(2*wma(MA1Source, MA1Period/2)-wma(MA1Source, MA1Period), round(sqrt(MA1Period)))
                else
                    if MA1Type == "DEMA"
                        e = ema(MA1Source, MA1Period)
                        2 * e - ema(e, MA1Period)
                    else
                        if MA1Type == "TEMA"
                            e = ema(MA1Source, MA1Period)
                            3 * (e - ema(e, MA1Period)) + ema(ema(e, MA1Period), MA1Period)

                    
MA2 = if MA2Type == "SMA"
    sma(MA2Source, MA2Period)
else
    if MA2Type == "EMA"
        ema(MA2Source, MA2Period)
    else
        if MA2Type == "WMA"
            wma(MA2Source, MA2Period)
        else
            if MA2Type == "RMA"
                rma(MA2Source, MA2Period)
            else
                if MA2Type == "HMA"
                    wma(2*wma(MA2Source, MA2Period/2)-wma(MA2Source, MA2Period), round(sqrt(MA2Period)))
                else
                    if MA2Type == "DEMA"
                        e = ema(MA2Source, MA2Period)
                        2 * e - ema(e, MA2Period)
                    else
                        if MA2Type == "TEMA"
                            e = ema(MA2Source, MA2Period)
                            3 * (e - ema(e, MA2Period)) + ema(ema(e, MA2Period), MA2Period)
                    
MA3 = if MA3Type == "SMA"
    sma(MA3Source, MA3Period)
else
    if MA3Type == "EMA"
        ema(MA3Source, MA3Period)
    else
        if MA3Type == "WMA"
            wma(MA3Source, MA3Period)
        else
            if MA3Type == "RMA"
                rma(MA3Source, MA3Period)
            else
                if MA3Type == "HMA"
                    wma(2*wma(MA3Source, MA3Period/2)-wma(MA3Source, MA3Period), round(sqrt(MA3Period)))
                else
                    if MA3Type == "DEMA"
                        e = ema(MA3Source, MA3Period)
                        2 * e - ema(e, MA3Period)
                    else
                        if MA3Type == "TEMA"
                            e = ema(MA3Source, MA3Period)
                            3 * (e - ema(e, MA3Period)) + ema(ema(e, MA3Period), MA3Period)
                    


p1 = plot(MA1Visible ? MA1 : na, color=color.green, linewidth=1)
p2 = plot(MA2Visible ? MA2 : na, color=color.yellow, linewidth=1)
p3 = plot(MA3Visible ? MA3 : na, color=color.red, linewidth=2)

fill(p1, p2, color.silver, transp=80, title="Fill")


start = timestamp(2019, 1, 1, 1, 0)
end = timestamp(2025, 1, 1, 1, 0)

if time >= start and time <= end
    longCondition = crossover(MA1, MA2) and close > MA3
    if (longCondition)
        strategy.entry("Long", strategy.long)
        
    shortCondition = crossunder(MA1, MA2) and close < MA3
    if (shortCondition)
        strategy.entry("Short", strategy.short)

مزید