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


تخلیق کی تاریخ: 2024-01-23 14:20:50 آخر میں ترمیم کریں: 2024-01-23 14:20:50
کاپی: 0 کلکس کی تعداد: 624
1
پر توجہ دیں
1617
پیروکار

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

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

اصول

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

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

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

فوائد

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

خطرات

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

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

اصلاح کی سمت

  • رجحانات کا اندازہ لگانے کے لئے دیگر اشارے شامل کریں ، جیسے 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)