یہ حکمت عملی بولنگر بینڈ اور اے ٹی آر اشارے پر مبنی ایک ذہین تجارتی نظام ہے ، جس میں کثیر سطح کے منافع لینے اور اسٹاپ نقصان کے طریقہ کار شامل ہیں۔ یہ حکمت عملی بنیادی طور پر نچلے بولنگر بینڈ کے قریب الٹ سگنل کی نشاندہی کرکے لانگ پوزیشنوں میں داخل ہوتی ہے اور متحرک ٹریلنگ اسٹاپس کا استعمال کرتے ہوئے خطرے کا انتظام کرتی ہے۔ یہ نظام 20٪ منافع کا ہدف اور 12٪ اسٹاپ نقصان کی سطح کے ساتھ ڈیزائن کیا گیا ہے ، جبکہ منافع کی حفاظت کے لئے اے ٹی آر پر مبنی متحرک ٹریلنگ اسٹاپس کو شامل کرتے ہوئے ، رجحانات کو تیار کرنے کے لئے کافی گنجائش فراہم کرتا ہے۔
بنیادی منطق میں کئی اہم اجزاء شامل ہیں: داخلہ کی شرائط: ایک سبز موم بتی کی ضرورت ہوتی ہے جو سرخ موم بتی کے بعد نیچے بولنگر بینڈ کو چھوتی ہے ، عام طور پر ممکنہ الٹ سگنل کی نشاندہی کرتی ہے۔ اوسط حرکت پذیری کا انتخاب: ڈیفالٹ 20 پیریڈ ایس ایم اے کے ساتھ متعدد اقسام (ایس ایم اے ، ای ایم اے ، ایس ایم ایم اے ، ڈبلیو ایم اے ، وی ڈبلیو ایم اے) کی حمایت کرتا ہے۔ بولنگر بینڈ پیرامیٹرز: بینڈوڈتھ کے لئے 1.5 معیاری انحراف کا استعمال کرتا ہے ، جو روایتی 2 معیاری انحراف سے زیادہ قدامت پسند ہے۔ منافع لینے کا طریقہ کار: ابتدائی 20 فیصد منافع کا ہدف مقرر کریں۔ اسٹاپ نقصان کا طریقہ کار: سرمایہ کی حفاظت کے لئے 12 فیصد فکسڈ اسٹاپ نقصان کا نفاذ کیا جاتا ہے۔ 6. متحرک ٹریلنگ سٹاپ: - منافع ہدف تک پہنچنے کے بعد ATR ٹریلنگ سٹاپ چالو - اوپری بولنگر بینڈ کو چھونے کے بعد اے ٹی آر متحرک ٹریلنگ اسٹاپ شروع کرتا ہے - متحرک طور پر پیچھے سٹاپ فاصلے کو ایڈجسٹ کرنے کے لئے ATR ضرب استعمال کرتا ہے
یہ حکمت عملی بولنگر بینڈ اور اے ٹی آر اشارے کا استعمال کرتے ہوئے ایک کثیر سطح کا تجارتی نظام تیار کرتی ہے ، جس میں داخلے ، اسٹاپ نقصان اور منافع لینے کے لئے متحرک انتظامی طریقوں کا استعمال کیا جاتا ہے۔ اس کی طاقت اس کے جامع رسک کنٹرول سسٹم اور مارکیٹ میں اتار چڑھاؤ کے مطابق ڈھالنے کی صلاحیت میں ہے۔ تجویز کردہ اصلاح کی سمتوں کے ذریعے ، حکمت عملی میں بہتری کی گنجائش ہے۔ یہ خاص طور پر بڑے ٹائم فریموں پر استعمال کے لئے موزوں ہے اور معیاری اثاثوں کو رکھنے والے سرمایہ کاروں کو ان کے داخلے اور باہر نکلنے کے وقت کو بہتر بنانے میں مدد مل سکتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Demo GPT - Bollinger Bands Strategy with Tightened Trailing Stops", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3) // Input settings length = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = 1.5 // Standard deviation multiplier set to 1.5 offset = input.int(0, "Offset", minval=-500, maxval=500) atrMultiplier = input.float(1.0, title="ATR Multiplier for Trailing Stop", minval=0.1) // ATR multiplier for trailing stop // Time range filters start_date = input(timestamp("2018-01-01 00:00"), title="Start Date") end_date = input(timestamp("2069-12-31 23:59"), title="End Date") in_date_range = true // Moving average function ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Calculate Bollinger Bands basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // ATR Calculation atr = ta.atr(length) // Use ATR for trailing stop adjustments // Plotting plot(basis, "Basis", color=#2962FF, offset=offset) p1 = plot(upper, "Upper", color=#F23645, offset=offset) p2 = plot(lower, "Lower", color=#089981, offset=offset) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95)) // Candle color detection isGreen = close > open isRed = close < open // Flags for entry and exit conditions var bool redTouchedLower = false var float targetPrice = na var float stopLossPrice = na var float trailingStopPrice = na if in_date_range // Entry Logic: First green candle after a red candle touches the lower band if close < lower and isRed redTouchedLower := true if redTouchedLower and isGreen strategy.entry("Long", strategy.long) targetPrice := close * 1.2 // Set the target price to 20% above the entry price stopLossPrice := close * 0.88 // Set the stop loss to 12% below the entry price trailingStopPrice := na // Reset trailing stop on entry redTouchedLower := false // Exit Logic: Trailing stop after 20% price increase if strategy.position_size > 0 and not na(targetPrice) and close >= targetPrice if na(trailingStopPrice) trailingStopPrice := close - atr * atrMultiplier // Initialize trailing stop using ATR trailingStopPrice := math.max(trailingStopPrice, close - atr * atrMultiplier) // Tighten dynamically based on ATR // Exit if the price falls below the trailing stop after 20% increase if strategy.position_size > 0 and not na(trailingStopPrice) and close < trailingStopPrice strategy.close("Long", comment="Trailing Stop After 20% Increase") targetPrice := na // Reset the target price stopLossPrice := na // Reset the stop loss price trailingStopPrice := na // Reset trailing stop // Stop Loss: Exit if the price drops 12% below the entry price if strategy.position_size > 0 and not na(stopLossPrice) and close <= stopLossPrice strategy.close("Long", comment="Stop Loss Triggered") targetPrice := na // Reset the target price stopLossPrice := na // Reset the stop loss price trailingStopPrice := na // Reset trailing stop // Trailing Stop: Activate after touching the upper band if strategy.position_size > 0 and close >= upper and isGreen if na(trailingStopPrice) trailingStopPrice := close - atr * atrMultiplier // Initialize trailing stop using ATR trailingStopPrice := math.max(trailingStopPrice, close - atr * atrMultiplier) // Tighten dynamically based on ATR // Exit if the price falls below the trailing stop if strategy.position_size > 0 and not na(trailingStopPrice) and close < trailingStopPrice strategy.close("Long", comment="Trailing Stop Triggered") trailingStopPrice := na // Reset trailing stop targetPrice := na // Reset the target price stopLossPrice := na // Reset the stop loss price