یہ حکمت عملی بولنگر بینڈ پر مبنی ایک رفتار توڑنے والا تجارتی نظام ہے ، بنیادی طور پر قیمت اور بالائی بولنگر بینڈ کے مابین تعلقات کے ذریعے رجحان کے مواقع کو حاصل کرتا ہے۔ یہ حکمت عملی مارکیٹ میں اتار چڑھاؤ کی خصوصیات کی نشاندہی کرنے کے لئے معیاری انحراف چینلز کے ساتھ مل کر ایک موافقت پذیر حرکت پذیر اوسط قسم کے انتخاب کے طریقہ کار کو استعمال کرتی ہے ، جو خاص طور پر اعلی اتار چڑھاؤ والی منڈیوں کے لئے موزوں ہے۔
حکمت عملی کا بنیادی منطق مندرجہ ذیل اہم عناصر پر مبنی ہے: بولنگر بینڈ کے درمیانی بینڈ کا حساب لگانے کے لئے اپنی مرضی کے مطابق چلنے والے اوسط (بشمول ایس ایم اے ، ای ایم اے ، ایس ایم ایم اے ، ڈبلیو ایم اے ، وی ڈبلیو ایم اے) کا استعمال کرتا ہے۔ معیاری انحراف ضرب (ڈیفالٹ 2.0) کے ذریعے متحرک طور پر اوپری اور نچلے بینڈ کی پوزیشن کا تعین کرتا ہے۔ جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو طویل پوزیشنوں میں داخل ہوتا ہے ، جس سے مضبوط بریک آؤٹ رجحانات کی تشکیل کی نشاندہی ہوتی ہے۔ جب قیمت نچلی بینڈ سے نیچے آجاتی ہے تو پوزیشنوں سے باہر نکل جاتا ہے، جس سے ممکنہ طور پر اپ ٹرینڈ کا اختتام ہوتا ہے۔ تجارت کے اخراجات (0.1٪) اور سلائپج (3 پوائنٹس) کو شامل کرتا ہے ، جو حقیقی تجارتی حالات کو بہتر طور پر ظاہر کرتا ہے۔
یہ واضح منطق کے ساتھ حکمت عملی کے بعد ایک اچھی طرح سے ڈیزائن کردہ رجحان ہے۔ یہ بولنگر بینڈ کی متحرک نوعیت کے ذریعے مارکیٹ کی رفتار کو پکڑتا ہے اور اس میں خطرہ کنٹرول کے اچھے طریقہ کار شامل ہیں۔ حکمت عملی انتہائی حسب ضرورت ہے اور پیرامیٹر ایڈجسٹمنٹ کے ذریعے مختلف مارکیٹ کے ماحول میں ڈھل سکتی ہے۔ براہ راست تجارت کے نفاذ کے لئے ، حکمت عملی کو بہتر بنانے کے لئے تجویز کردہ اصلاح کی سمتوں کو شامل کرتے ہوئے ، پیرامیٹر کی مکمل اصلاح اور بیک ٹیسٹنگ کی توثیق کرنے کی سفارش کی جاتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Demo GPT - Bollinger Bands", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Inputs length = input.int(20, minval=1, title="Length") maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") offset = input.int(0, "Offset", minval=-500, maxval=500) // Date range inputs startYear = input.int(2018, "Start Year", minval=1970, maxval=2100) startMonth = input.int(1, "Start Month", minval=1, maxval=12) startDay = input.int(1, "Start Day", minval=1, maxval=31) endYear = input.int(2069, "End Year", minval=1970, maxval=2100) endMonth = input.int(12, "End Month", minval=1, maxval=12) endDay = input.int(31, "End Day", minval=1, maxval=31) // Time range startTime = timestamp("GMT+0", startYear, startMonth, startDay, 0, 0) endTime = timestamp("GMT+0", endYear, endMonth, endDay, 23, 59) // 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 // Plot 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)) // Strategy logic: Only go long and flat inDateRange = time >= startTime and time <= endTime noPosition = strategy.position_size == 0 longPosition = strategy.position_size > 0 // Buy if close is above upper band if inDateRange and noPosition and close > upper strategy.entry("Long", strategy.long) // Sell/Exit if close is below lower band if inDateRange and longPosition and close < lower strategy.close("Long")