یہ حکمت عملی بنیادی طور پر دوہری حرکت پذیر اوسطوں کو رجحان کے الٹ سے فائدہ اٹھانے کے لئے خرید و فروخت کے سگنل کے طور پر استعمال کرتی ہے۔ جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے تجاوز کرتا ہے تو یہ طویل ہوجاتا ہے ، اور جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے تجاوز کرتا ہے تو مختصر ہوجاتا ہے۔ یہ ایک عام ٹریلنگ اسٹاپ نقصان کی حکمت عملی سے تعلق رکھتا ہے۔
اسٹریٹجی میں پہلے دو حرکت پذیر اوسط ، ایک قلیل مدتی 20 دن کا ایم اے اور ایک طویل مدتی 60 دن کا ایم اے طے ہوتا ہے۔ پھر یہ دو ایم اے کے مابین عبور کی صورتحال کا اندازہ کرتا ہے تاکہ اندراج کا تعین کیا جاسکے۔
خاص طور پر ، جب قلیل مدتی ایم اے طویل مدتی ایم اے سے اوپر جاتا ہے تو ، یہ ایک اپ ٹرینڈ کا اشارہ کرتا ہے ، لہذا طویل عرصے تک جانا۔ جب قلیل مدتی ایم اے طویل مدتی ایم اے سے نیچے جاتا ہے تو ، یہ ایک ڈاؤن ٹرینڈ کا اشارہ کرتا ہے ، لہذا مختصر جانا۔
طویل یا مختصر جانے کے بعد سٹاپ نقصان کا طریقہ زیادہ سے زیادہ منافع میں مقفل کرنے کے لئے سب سے زیادہ قیمت اور سب سے کم قیمت پر مبنی ٹریلنگ اسٹاپ ہے۔
کوڈ کا بنیادی منطق یہ ہے:
اس حکمت عملی کے فوائد یہ ہیں:
کچھ خطرات بھی ہیں:
خطرات سے نمٹنے کے لئے:
اسٹریٹیجی کو مندرجہ ذیل شعبوں میں مزید بہتر بنایا جاسکتا ہے:
دیگر فلٹرز شامل کریں جیسے RSI کثیر حالت اندراج کے لئے، جھوٹے وقفے سے بچنے کے لئے.
بہترین پیرامیٹر مکس تلاش کرنے کے لئے ایم اے ادوار کو بہتر بنائیں۔ اضافی قدم آگے بڑھ کر مختلف ادوار کی جانچ کرسکتے ہیں۔
زیادہ سے زیادہ حد تلاش کرنے کے لئے بیک ٹیسٹ حساب کتاب کے ذریعہ اسٹاپ نقصان کی حد کو بہتر بنائیں۔ متحرک اسٹاپ نقصان کا بھی استعمال کرسکتا ہے۔
تجارتی تعدد کو کم کرنے کے لئے سٹاپ نقصان سے باہر نکلنے کے بعد دوبارہ داخلہ منطق مقرر کریں.
جب رجحان واضح نہ ہو تو تجارت کو روکنے کے لئے رجحان اشارے کے ساتھ مل کر.
مارکیٹ کے حالات کی بنیاد پر پوزیشن سائزنگ اور متحرک سٹاپ نقصان شامل کریں.
خلاصہ یہ ہے کہ ، ڈبل ایم اے الٹ کرنے کی حکمت عملی مجموعی طور پر آسان اور عملی ہے ، ڈبل ایم اے کراس اوورز کے ذریعہ رجحان کی موڑ کے مقامات کی نشاندہی کرتی ہے۔ لیکن ایسے خطرات ہیں جن میں پیرامیٹر ٹوننگ ، اسٹاپ نقصان کی اصلاح ، اور حکمت عملی کی افادیت کو زیادہ سے زیادہ کرنے کے لئے فلٹرز کا اضافہ کرنے کی ضرورت ہے۔ محتاط اصلاح اور نظم و ضبط کے ساتھ رسک مینجمنٹ کے ساتھ ، یہ مستحکم منافع بخش سوئنگ ٹریڈنگ کی حکمت عملی بن سکتی ہے۔
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.4", shorttitle = "Scalper str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needbe = input(true, defval = true, title = "Bands Entry") needct = input(false, defval = false, title = "Counter-trend entry") needdb = input(true, defval = true, title = "Double Body") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel 1 lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd2 = center + distsma * 2 ld2 = center - distsma * 2 //Trend trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2") plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1") plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Body body = abs(close - open) smabody = needdb == false ? ema(body, 30) : ema(body, 30) * 2 candle = high - low //Signals bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0 dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)