یہ حکمت عملی تجارتی سگنل پیدا کرنے کے لئے بولنگر بینڈ اور 5 روزہ توسیعی حرکت پذیر اوسط (ای ایم اے) کو جوڑتی ہے۔ جب قیمت اوپری بولنگر بینڈ سے اوپر ہوتی ہے اور 5 دن کے ای ایم اے سے نیچے بند ہوجاتی ہے تو ، ایک مختصر پوزیشن کھولی جاتی ہے۔ اس کے برعکس ، جب قیمت نچلی بولنگر بینڈ سے نیچے ہوتی ہے اور 5 دن کے ای ایم اے سے اوپر بند ہوجاتی ہے تو ، ایک لمبی پوزیشن کھولی جاتی ہے۔ اس کے علاوہ ، جب الٹ سگنل ظاہر ہوتا ہے تو ، حکمت عملی موجودہ پوزیشن کو بند کردیتی ہے اور مخالف سمت میں ایک نئی پوزیشن کھولتی ہے۔ اس حکمت عملی کا مقصد مارکیٹ میں اتار چڑھاؤ اور رجحان کی تبدیلیوں کو پکڑنا ہے جس کا استعمال بولنگر بینڈ کے ذریعہ نسبتا price قیمت کی سطحوں کا اندازہ لگانے اور ای ایم اے کو تجارتی سگنل پیدا کرنے کے لئے رجحان فلٹر کے طور پر کیا جاتا ہے۔
بولنگر بینڈ اور ای ایم اے کو ملا کر ، یہ حکمت عملی مؤثر طریقے سے رجحانات اور اتار چڑھاؤ کے مواقع کو حاصل کرسکتی ہے ، جو درمیانی سے طویل مدتی تجارتی حکمت عملیوں کے لئے موزوں ہے۔ تاہم ، پیرامیٹر کی اصلاح ، پوزیشن کنٹرول ، اور رسک مینجمنٹ پر توجہ دی جانی چاہئے۔ بہتر کارکردگی کے ل it اسے دوسرے تکنیکی اشارے اور بنیادی تجزیہ کے ساتھ بھی جوڑا جانا چاہئے۔ حکمت عملی کی کارکردگی مارکیٹ کے حالات سے متاثر ہوسکتی ہے اور اصل حالات کی بنیاد پر ایڈجسٹمنٹ اور اصلاحات کی ضرورت ہوتی ہے۔
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands and EMA Strategy", overlay=true) // Define the Bollinger Bands length = input.int(20, title="BB Length") src = input(close, title="BB Source") mult = input.float(2.0, title="BB Multiplier") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(upper, "Upper Band", color=color.red) plot(lower, "Lower Band", color=color.green) plot(basis, "Middle Band", color=color.blue) // Use plot instead of hline for basis // Define the 5-period EMA ema5 = ta.ema(close, 5) // Plot the 5 EMA plot(ema5, "5 EMA", color=color.orange) // Generate signals var float entry_price = na var string trade_direction = "none" if (na(close[1])) trade_direction := "none" // Condition for entering a short trade if (open > upper and close < ema5) if (trade_direction != "short") strategy.entry("Short", strategy.short) entry_price := close trade_direction := "short" // Condition for entering a long trade if (open < lower and close > ema5) if (trade_direction != "long") strategy.entry("Long", strategy.long) entry_price := close trade_direction := "long" // Close short trade on a long signal if (trade_direction == "short" and open < lower and close > ema5) strategy.close("Short") strategy.entry("Long", strategy.long) entry_price := close trade_direction := "long" // Close long trade on a short signal if (trade_direction == "long" and open > upper and close < ema5) strategy.close("Long") strategy.entry("Short", strategy.short) entry_price := close trade_direction := "short" // Close trades when opposite signal is generated if (trade_direction == "long" and open > upper and close < ema5) strategy.close("Long") trade_direction := "none" if (trade_direction == "short" and open < lower and close > ema5) strategy.close("Short") trade_direction := "none"