بولنگر بینڈس کنسولیڈیشن حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-22 13:43:14
ٹیگز:

img

جائزہ

بولنگر بینڈوں کی استحکام کی حکمت عملی ایک اہم حکمت عملی ہے جو بولنگر بینڈوں کا استعمال کرتے ہوئے کم اتار چڑھاؤ کی استحکام کے مراحل کی نشاندہی کرتی ہے۔ جب مارکیٹ میں ایک حد کی مدت میں داخل ہوتا ہے تو ، بولنگر بینڈ متفق ہوجائیں گے ، جس سے مارکیٹ میں داخل ہونے کا موقع ملتا ہے۔ ہم اتار چڑھاؤ میں کمی کی تصدیق کے لئے اوسط حقیقی رینج اشارے کو بھی شامل کرتے ہیں۔

حکمت عملی منطق

یہ حکمت عملی بنیادی طور پر بولنگر بینڈ پر انحصار کرتی ہے جب قیمتیں کم اتار چڑھاؤ کے استحکام کے مرحلے میں داخل ہوتی ہیں۔ بولنگر بینڈ کا وسط بینڈ اختتامی قیمتوں کا ایک چلتا ہوا اوسط ہے۔ اوپری اور نچلی بینڈ کو وسط بینڈ کے اوپر اور نیچے دو معیاری انحراف سے معاوضہ دیا جاتا ہے۔ جب اتار چڑھاؤ کم ہوتا ہے تو ، اوپری اور نچلی بینڈ کے مابین فاصلہ نمایاں طور پر تنگ ہوجاتا ہے۔ ہم پہلے چیک کرتے ہیں کہ آیا موجودہ اے ٹی آر ویلیو بولنگر بینڈ کے مابین معیاری انحراف سے کم ہے تاکہ ابتدائی طور پر تبادلوں کی تصدیق کی جاسکے۔ اس سے اشارہ ہوتا ہے کہ قیمتیں ابھی تک استحکام میں داخل ہوچکی ہیں۔

اتار چڑھاؤ میں کمی کو مزید ثابت کرنے کے لئے ، ہم چیک کرتے ہیں کہ آیا اے ٹی آر اقدار کی چلتی اوسط میں نیچے کا رجحان ہے۔ اوسط اے ٹی آر میں کمی بھی اس طرف سے تصدیق کرتی ہے کہ اتار چڑھاؤ کم ہورہا ہے۔ جب دونوں شرائط بیک وقت پوری ہوتی ہیں تو ، ہم اس بات کا تعین کرتے ہیں کہ بولنگر بینڈ نے نمایاں تبادلہ ظاہر کیا ہے ، جو خریدنے کا ایک بہترین موقع ہے۔

خریدنے کے بعد، ہم ATR قدر کے دوگنا سٹاپ نقصان کے فاصلے کے ساتھ ایک چلنے سٹاپ نقصان کی حکمت عملی کو چالو کرتے ہیں. یہ مؤثر طریقے سے نقصانات کو کنٹرول کرتا ہے.

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ درست طریقے سے اس بات کا تعین کرسکتا ہے کہ مارکیٹ کم اتار چڑھاؤ کے استحکام کے مرحلے میں کب داخل ہوتی ہے اور بہترین خریداری کے موقع کی نشاندہی کرتی ہے۔ دیگر طویل مدتی حکمت عملیوں کے مقابلے میں ، بولنگر بینڈ استحکام کی حکمت عملی میں منافع کا زیادہ امکان ہے۔

اس کے علاوہ ، یہ حکمت عملی خطرات کو فعال طور پر کنٹرول کرنے کے لئے ایک متحرک اسٹاپ نقصان کا بھی استعمال کرتی ہے۔ اس سے نقصانات میں کمی کو زیادہ سے زیادہ کیا جاسکتا ہے یہاں تک کہ جب مارکیٹ کا رویہ منفی ہو۔ بہت سی طویل مدتی حکمت عملیوں میں اس کی کمی ہے۔

خطرے کا تجزیہ

اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ بولنگر بینڈ اشارے وقت کے 100٪ میں قیمت کی اتار چڑھاؤ میں ہونے والی تبدیلیوں کا درست اندازہ نہیں لگا سکتا ہے۔ جب بولنگر بینڈ غلط اندازہ لگاتے ہیں کہ اتار چڑھاؤ کم ہو گیا ہے تو ، ہماری انٹری ٹائمنگ ناقص ہوسکتی ہے۔ اس مقام پر ، چلتی اسٹاپ نقصان ایک اہم کردار ادا کرتی ہے اور جتنی جلدی ممکن ہو تجارت سے باہر نکل سکتی ہے۔

اس کے علاوہ ، حکمت عملی میں مختلف پیرامیٹرز کی ترتیب بھی نتائج کو متاثر کرے گی۔ ہمیں حکمت عملی کو زیادہ مضبوط بنانے کے لئے وسیع پیمانے پر بیک ٹیسٹنگ کے ذریعے پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔

اصلاح کی ہدایات

جب بولنگر بینڈ متفق ہوتے ہیں تو ہم رجحان کے اشارے پر موڑنے والے اشاروں کی تصدیق کے ل other دوسرے اشارے شامل کرنے پر غور کرسکتے ہیں۔ مثال کے طور پر ، جب بولنگر بینڈ متفق ہوتے ہیں تو ، ہمیں یہ بھی درکار ہوتا ہے کہ ایم اے سی ڈی کا فرق مثبت سے منفی ہو گیا ہے ، یا آر ایس آئی اوور بک زون سے پیچھے ہٹ گیا ہے۔ اس سے خریداری کے اشاروں کی درستگی میں مزید بہتری آسکتی ہے۔

ایک اور سمت نتائج پر مختلف پیرامیٹر کی ترتیبات کے اثرات کی جانچ کرنا ہے ، جیسے بولنگر بینڈ ، اے ٹی آر اور متحرک اسٹاپ نقصان کے ضارب کی مدت۔ ہمیں پیرامیٹر کا بہترین مجموعہ تلاش کرنے کے لئے مرحلہ وار اصلاحات کا استعمال کرنے کی ضرورت ہے۔

نتیجہ

بولنگر بینڈس کنسولیشن حکمت عملی بولنگر بینڈس کا استعمال کم قیمت کی اتار چڑھاؤ کے وقت کا تعین کرنے کے لئے کرتی ہے اور خطرات کو مؤثر طریقے سے کنٹرول کرنے کے لئے متحرک اسٹاپ نقصان کا استعمال کرتی ہے۔ یہ ایک نسبتا stable مستحکم طویل مدتی بریک آؤٹ حکمت عملی ہے۔ ہمیں ابھی بھی پیرامیٹرز کو بہتر بنانے اور حکمت عملی کی استحکام کو بڑھانے کے ل other دوسرے اشارے شامل کرنے کی ضرورت ہے۔


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DojiEmoji

//@version=4
strategy("[KL] Bollinger Bands Consolidation Strategy",overlay=true,pyramiding=1)

// Timeframe {
backtest_timeframe_start = input(defval = timestamp("01 Apr 2016 13:30 +0000"), title = "Backtest Start Time", type = input.time)
USE_ENDTIME = input(false,title="Define backtest end-time (If false, will test up to most recent candle)")
backtest_timeframe_end = input(defval = timestamp("19 Apr 2021 19:30 +0000"), title = "Backtest End Time (if checked above)", type = input.time)
within_timeframe = true
// }

// Indicator: BOLL bands {
BOLL_length = 20//input(20,title="Periods to lookback for BOLL and ATR calc. (default 20)")
BOLL_src = close
BOLL_center = sma(BOLL_src, BOLL_length)
BOLL_sDEV_x2 = 2 * stdev(BOLL_src, BOLL_length)
BOLL_upper = BOLL_center + BOLL_sDEV_x2
BOLL_lower = BOLL_center - BOLL_sDEV_x2
plot(BOLL_center, "Basis", color=#872323, offset = 0)
BOLL_p1 = plot(BOLL_upper, "Upper", color=color.navy, offset = 0, transp=50)
BOLL_p2 = plot(BOLL_lower, "Lower", color=color.navy, offset = 0, transp=50)
fill(BOLL_p1, BOLL_p2, title = "Background", color=#198787, transp=85)
// }
// ATR and volatility Indicator {
ATR_x2 = atr(BOLL_length) * 2 // multiplier aligns with BOLL
avg_volat = sma(ATR_x2, BOLL_length)
//}

// Trailing stop loss {
var entry_price = float(0)
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
trail_profit_line_color = color.green
UPDATE_ATR_TSL = false
if strategy.position_size == 0 or not within_timeframe // make TSL line less visible
    trail_profit_line_color := color.black
    stop_loss_price := close - trailing_SL_buffer
else if strategy.position_size > 0
    if UPDATE_ATR_TSL and ATR_x2 < trailing_SL_buffer
        trailing_SL_buffer := ATR_x2
    stop_loss_price := max(stop_loss_price, close[1] - trailing_SL_buffer)
plot(stop_loss_price,color=trail_profit_line_color)
// }


IGNORE_BOLL_SHAPE = false//input(false,title="Ignore BOLL (vs ATR) during entry (experimental)")
IGNORE_VOLATILITY = false///input(false,title="Ignore average ATR during entry (experimental)")
// Main:
if within_timeframe
    // ENTRY:
    if (ATR_x2 > BOLL_sDEV_x2 or IGNORE_BOLL_SHAPE) and (avg_volat < avg_volat[1] or IGNORE_VOLATILITY)
        if strategy.position_size == 0
            entry_price := close
            trailing_SL_buffer := ATR_x2
            stop_loss_price := close - ATR_x2
            strategy.entry("Long",strategy.long, comment="enter")
        if strategy.position_size > 0
            strategy.entry("Long",strategy.long, comment="+")

    // EXIT:
    if strategy.position_size > 0
        if low <= stop_loss_price
            if close > entry_price
                strategy.close("Long", comment="take profit")
            else if low <= entry_price
                strategy.close("Long", comment="stop loss")
    
            if strategy.position_size == 0
                entry_price := 0
                

مزید