دوہری حرکت پذیر اوسط حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-17 17:45:45
ٹیگز:

img

جائزہ

اس حکمت عملی میں دوہری چلتی اوسط ، خاص طور پر 8 مدت اور 21 مدت کی اوسط استعمال کی جاتی ہے۔ یہ طویل سگنل تیار کرتا ہے جب مختصر ایم اے لمبے سے زیادہ ہوتا ہے ، اور مختصر سگنل جب مختصر ایم اے لمبے سے نیچے ہوتا ہے۔

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

اصول

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

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

خاص طور پر، ٹریڈنگ سگنل پیدا کرنے کے لئے منطق یہ ہے:

  1. 8 دورانیے اور 21 دورانیے کے سادہ چلنے والے اوسط کا حساب لگائیں
  2. دونوں کے درمیان کراس اوور سگنل کا پتہ لگائیں
  3. arctangent تقریب atan کا استعمال کرتے ہوئے 21 مدت چلتی اوسط لائن کے ڈھال کا حساب لگائیں
  4. صرف لمبے سگنل پیدا کریں جب ڈھلوان ایک پیش سیٹ مثبت حد سے زیادہ ہو
  5. صرف مختصر سگنل پیدا کریں جب ڈھلوان ایک پیش سیٹ منفی حد سے نیچے آتا ہے

فوائد کا تجزیہ

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

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

خطرے کا تجزیہ

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

  1. شدید مارکیٹ اتار چڑھاؤ کے دوران زیادہ غلط سگنل ہوسکتے ہیں
  2. کراس اوور خود میں کچھ غلط سگنل پیدا کرنے کا رجحان ہے
  3. کچھ حد تک تاخیر ہے، فوری طور پر رجحان الٹ قبضہ کرنے کے قابل نہیں

ان خطرات کی بنیاد پر بہتر بنانے کے کچھ طریقے:

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

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

حکمت عملی کو بہتر بنانے کے لئے کچھ ہدایات:

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

نتیجہ

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


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//written by sixpathssenin
//@version=4
strategy(title="Dual Moving Average",initial_capital=10000,overlay=true)

ma1= sma(close,8)
ma2= sma(close,21)

angleCriteria = input(title="Angle", type=input.integer, defval=7, minval=1, maxval=13)

i_lookback   = input(2,     "Angle Period", input.integer, minval = 1)
i_atrPeriod  = input(10,    "ATR Period",   input.integer, minval = 1)
i_angleLevel = input(6,     "Angle Level",  input.integer, minval = 1)
i_maSource   = input(close, "MA Source",    input.source)

f_angle(_src, _lookback, _atrPeriod) =>
    rad2degree = 180 / 3.141592653589793238462643  //pi 
    ang = rad2degree * atan((_src[0] - _src[_lookback]) / atr(_atrPeriod)/_lookback)
    ang
_angle = f_angle(ma2, i_lookback, i_atrPeriod)

plot(ma1,color=#FF0000)
plot(ma2,color=#00FF00)

crosso=crossover(ma1,ma2) 
crossu=crossunder(ma1,ma2)

_lookback = 15

f_somethingHappened(_cond, _lookback) =>
    bool _crossed = false
    for i = 1 to _lookback
        if _cond[i]
            _crossed := true
    _crossed
    
longcrossed = f_somethingHappened(crosso,_lookback)
shortcrossed = f_somethingHappened(crossu,_lookback)

long = longcrossed and _angle > angleCriteria
short= shortcrossed and _angle < -(angleCriteria)


if(long)
    strategy.entry("Long",strategy.long)
if(short)
    strategy.entry("short",strategy.short)
    


مزید