یہ حکمت عملی دوہری حرکت پذیر اوسط کے کراس اوور کو تجارتی سگنلز کے طور پر استعمال کرتی ہے ، جس میں تجارت کے بعد رجحان کے لئے اے ٹی آر اسٹاپس کے ساتھ مل کر استعمال ہوتا ہے۔ بنیادی خیال یہ ہے کہ جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر عبور کرتا ہے تو طویل عرصے تک جانا ، اور اس سے نیچے عبور کرتے وقت مختصر ہوجاتا ہے ، جبکہ اے ٹی آر کا استعمال متحرک طور پر پیچھے آنے والی اسٹاپس کے لئے اسٹاپ نقصان کی سطح مقرر کرنے کے لئے کیا جاتا ہے۔
یہ حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے دو سیٹ حرکت پذیر اوسط کا استعمال کرتی ہے۔ فاسٹ حرکت پذیر اوسط کی لمبائی 25 دن ہے ، اور سست حرکت پذیر اوسط کی لمبائی 100 دن ہے۔ جب تیز رفتار ایم اے سست ایم اے سے تجاوز کرتا ہے تو خرید کا اشارہ پیدا ہوتا ہے ، اور اس سے نیچے عبور کرتے وقت فروخت کا اشارہ پیدا ہوتا ہے۔
کچھ جھوٹے سگنلوں کو فلٹر کرنے کے لئے ، حکمت عملی میں کراس اوور کاؤنٹر شامل ہوتا ہے جسے کراس کاؤنٹ کہا جاتا ہے۔ سگنل صرف اس وقت ٹرگر ہوتے ہیں جب بیک بیک مدت (ڈیفالٹ 25 دن) میں فاسٹ ایم اے کے لئے کراس کی تعداد زیادہ سے زیادہ نہیں ہوتی ہے۔
اس کے علاوہ، حکمت عملی میں ایک توثیقی طریقہ کار ہے، جہاں سگنل بھی تصدیق کی جاتی ہے اگر قیمت ابتدائی سگنل کے بعد دو چلتی اوسط کے درمیان دوبارہ داخل ہوتی ہے.
پوزیشنوں میں داخل ہونے کے بعد ، حکمت عملی اسٹاپ نقصان کی سطح مقرر کرنے کے لئے اے ٹی آر کا استعمال کرتی ہے۔ اے ٹی آر ایک خاص مدت کے دوران قیمت میں اتار چڑھاؤ کی حد کی پیمائش کرتا ہے ، اور یہاں اس کے 14x کو اسٹاپ فاصلے کے طور پر استعمال کیا جاتا ہے۔ اسٹاپ کی سطح قیمت کی نقل و حرکت کے مطابق تیرتی ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
فلٹرنگ کے ساتھ ڈبل ایم اے کراس کا استعمال کرتے ہوئے ، یہ غلط سگنل سے بچتے ہوئے مضبوط رجحان کی نقل و حرکت کو مؤثر طریقے سے پکڑ سکتا ہے۔
تصدیق کے طریقہ کار سے جھوٹے بھاگنے کی طرف سے جعلی ہونے سے روکتا ہے.
فلوٹنگ اے ٹی آر سٹاپ نقصان سے منافع کو زیادہ سے زیادہ کرنے میں مدد ملتی ہے جبکہ ڈراؤنڈ کو محدود کیا جاتا ہے۔
اس میں بہت کم بہتر پیرامیٹرز ہیں اور اس پر عمل درآمد کرنا آسان ہے۔
کریپٹو اور روایتی اثاثوں سمیت تمام مارکیٹوں پر لاگو ہوتا ہے۔
استحکام کے لئے متعدد تکنیکی اشارے کو یکجا کرتا ہے۔
اس حکمت عملی کے اہم خطرات میں شامل ہیں:
رینج محدود ادوار کے دوران ایم اے کے بار بار عبور کرنے سے متعدد نقصانات ہو سکتے ہیں۔
ATR پیرامیٹر کی غلط ترتیب کے نتیجے میں رکاوٹیں بہت وسیع یا بہت تنگ ہوسکتی ہیں۔
بڑے خلا براہ راست رکنے کا سبب بن سکتے ہیں.
بڑی خبروں کی وجہ سے بہت زیادہ اتار چڑھاؤ بھی پوزیشنوں کو روک سکتا ہے۔
ایم اے کے ناکافی پیرامیٹرز کے نتیجے میں رجحانات کی کمی یا بہت سے غلط سگنل ہوسکتے ہیں۔
حالیہ قیمت کی حرکت سے اے ٹی آر اسٹاپز پرانی ہو سکتی ہیں۔
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
بہتر مجموعے تلاش کرنے کے لئے ایم اے پیرامیٹرز کو بہتر بنائیں ، مختلف ادوار اور وزن شدہ اوسط کی جانچ کریں۔
بہتر سٹاپ فاصلے تلاش کرنے کے لئے مختلف ATR ادوار کی جانچ کریں.
اضافی فلٹرز شامل کریں جیسے حجم کی چوٹی، اشارے کی عدم استحکام سگنل کے معیار کو بہتر بنانے کے لئے.
رجحان کی پیمائش کو شامل کریں تاکہ متضاد مارکیٹوں میں وِچساؤ سے بچ سکیں۔
بیک ٹسٹنگ کے ذریعے پیرامیٹرز کو خودکار طور پر بہتر بنانے کے لئے مشین لرننگ الگورتھم شامل کریں۔
قلیل مدتی شور سے بچنے کے لیے زیادہ لمبے وقت کے فریم پر مزید تصدیق کی تلاش کریں۔
منافع بخش پوزیشنوں سے باہر پیمانے کے لئے مرحلہ وار منافع لینے کے قوانین کو لاگو کریں.
یہ حکمت عملی دوہری ایم اے کراسز ، ٹرینڈ فلٹرنگ ، توثیق ، اور متحرک اے ٹی آر اسٹاپس کو مضبوط رجحان کی پیروی کے لئے جوڑتی ہے۔ اگرچہ اصلاح اور رسک کنٹرول میں بہتری کی گنجائش ہے ، لیکن تجارتی منطق آسان اور نقل کرنے میں آسان ہے ، جس سے یہ مستحکم رجحان تجارتی نظام بن جاتا ہے۔
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("QuantCat Intraday Strategy (15M)", overlay=true) //MA's for basic signals, can experiment with these values fastEMA = sma(close, 25) slowEMA = sma(close, 100) //Parameters for validation of position lookback_value = 25 maxNoCross=10 //value used for maximum number of crosses on a certain MA to mitigate noise and maximise value from trending markets //Amount of crosses on MA to filter out noise ema25_crossover = (cross(close, fastEMA)) == true ? 1 : 0 ema25_crossover_sum = sum(ema25_crossover, lookback_value) ///potentially change lookback value to alter results crossCount = (ema25_crossover_sum <= maxNoCross) //Entries long agrLong = ((crossover(fastEMA, slowEMA)) and (crossCount == true)) ? true : false consLong = ((close < fastEMA) and (close > slowEMA) and (fastEMA > slowEMA) and (crossCount == true)) ? true : false //Entries short agrShort = ((crossunder(fastEMA, slowEMA)) and (crossCount == true)) ? true : false consShort = ((close > fastEMA) and (close < slowEMA) and (fastEMA < slowEMA) and (crossCount == true)) ? true : false //ATR atrLkb = input(14, minval=1, title='ATR Stop Period') atrRes = input("15", title='ATR Resolution') atr = request.security(syminfo.tickerid, atrRes, atr(atrLkb)) //Strategy longCondition = ((agrLong or consLong) == true) if (longCondition) strategy.entry("Long", strategy.long) shortCondition = ((agrShort or consShort) == true) if (shortCondition) strategy.entry("Short", strategy.short) //Stop multiplier stopMult = 4 //horizontal stoplosses longStop = na longStop := shortCondition ? na : longCondition and strategy.position_size <=0 ? close - (atr * stopMult) : longStop[1] shortStop = na shortStop := longCondition ? na : shortCondition and strategy.position_size >=0 ? close + (atr * stopMult) : shortStop[1] //Strategy exit functions strategy.exit("Long ATR Stop", "Long", stop=longStop) strategy.exit("Short ATR Stop", "Short", stop=shortStop) //Plots redgreen = (fastEMA > slowEMA) ? green : red p1 = plot(fastEMA, title="Fast EMA", color=redgreen, linewidth=2) p2 = plot(slowEMA, title="Slow EMA", color=redgreen, linewidth=2) fill(p1, p2, color=redgreen) s1 = plot(longStop, style=linebr, color=red, linewidth=2, title='Long ATR Stop') s2 = plot(shortStop, style=linebr, color=red, linewidth=2, title='Short ATR Stop') fill(p2, s1, color=red, transp=95) fill(p2, s2, color=red, transp=95)