اس حکمت عملی میں دوہری چلتی اوسط ، خاص طور پر 8 مدت اور 21 مدت کی اوسط استعمال کی جاتی ہے۔ یہ طویل سگنل تیار کرتا ہے جب مختصر ایم اے لمبے سے زیادہ ہوتا ہے ، اور مختصر سگنل جب مختصر ایم اے لمبے سے نیچے ہوتا ہے۔
اس حکمت عملی میں کچھ غیر رجحان سازی کے ادوار کو فلٹر کرنے کے لئے حرکت پذیر اوسط لائن کی ڈھال بھی شامل ہے اور جب رجحان زیادہ واضح ہوتا ہے تو صرف سگنل تیار کرتا ہے۔
اس حکمت عملی کا مرکز قلیل مدتی اور طویل مدتی متحرک اوسط کے کراس اوور میں ہے۔ مختصر ایم اے تیزی سے رجحان کی تبدیلیوں کو پکڑ سکتا ہے ، جبکہ طویل ایم اے میں شور فلٹرنگ کے بہتر اثرات مرتب ہوتے ہیں۔ جب مختصر ایم اے طویل ایم اے سے عبور کرتا ہے تو ایک اپ ٹرینڈ کا قیام تجویز کیا جاتا ہے ، جس سے طویل سگنل ہوتا ہے۔ جب مختصر ایم اے طویل ایم اے سے نیچے عبور کرتا ہے ، جس سے مختصر سگنل ہوتا ہے تو ڈاؤن ٹرینڈ کا قیام تجویز کیا جاتا ہے۔
اسٹریٹجی میں ڈھلوان کی حد بھی طے کی جاتی ہے۔ صرف اس وقت جب ڈھلوان مثبت حد سے زیادہ ہو تو ایک لمبا سگنل تیار کیا جائے گا۔ صرف اس وقت جب ڈھلوان منفی حد سے کم ہو تو ایک مختصر سگنل تیار کیا جائے گا۔ اس سے ایسے علاقوں کو فلٹر کرنے میں مدد ملتی ہے جہاں کوئی واضح رجحان موجود نہیں ہوتا ہے ، جس کے نتیجے میں اعلی معیار کے تجارتی سگنل پیدا ہوتے ہیں۔
خاص طور پر، ٹریڈنگ سگنل پیدا کرنے کے لئے منطق یہ ہے:
اس حکمت عملی کے فوائد میں شامل ہیں:
اس حکمت عملی کے ساتھ کچھ خطرات بھی موجود ہیں:
ان خطرات کی بنیاد پر بہتر بنانے کے کچھ طریقے:
حکمت عملی کو بہتر بنانے کے لئے کچھ ہدایات:
خلاصہ میں ، یہ دوہری ایم اے حکمت عملی آسان اور عملی ہے۔ دو مدت کے پیرامیٹرز کے ذریعہ مختلف رجحانات کی خصوصیات کو پکڑ کر اور انہیں تجارتی سگنل پیدا کرنے کے لئے جوڑ کر۔ دریں اثنا ، ڈھلوان کی حد کو شامل کرنے سے سگنل کا معیار بہتر ہوتا ہے۔ یہ حکمت عملی توسیع کے لئے ایک بنیادی حیثیت رکھ سکتی ہے ، جس میں کافی اصلاح کی جگہ اور صلاحیت ہے۔
/*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)