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

مصنف:چاؤ ژانگ، تاریخ: 2023-11-06 16:25:01
ٹیگز:

img

جائزہ

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

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

  1. سی بی ایم اے کا حساب لگائیں: سی بی ایم اے کو ہموار کرنے کے لئے موافقت پذیر ای ایم اے کا استعمال کریں جو قیمتوں میں ہونے والی تبدیلیوں کو مؤثر طریقے سے ٹریک کرسکے۔

  2. بولنگر بینڈ پیرامیٹرز مقرر کریں: سی بی ایم اے کو درمیانی بینڈ کے طور پر استعمال کریں ، اور معیاری انحراف ضارب کا استعمال کرتے ہوئے اوپری / نچلے بینڈ مقرر کریں ، جسے مارکیٹ کی بنیاد پر ایڈجسٹ کیا جاسکتا ہے۔

  3. بریکآؤٹ ٹریڈنگ: جب قیمت اوپری بینڈ سے اوپر ہوتی ہے تو فروخت کریں ، جب قیمت نیچے کی بینڈ سے نیچے ہوتی ہے تو خریدیں ، بریکآؤٹر کی حکمت عملی کے بعد رجحان کا استعمال کریں۔

  4. فلیش آرڈرز منسوخ کریں، ایک وقت میں صرف ایک سمت میں تجارت کریں.

  5. مقرر شدہ آرڈر سائز، سرمایہ کی بنیاد پر ایڈجسٹ کیا جا سکتا ہے.

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

  1. سی بی ایم اے میں اچھی آسانی ہے اور وہ قیمتوں کو مؤثر طریقے سے ٹریک کر سکتا ہے۔

  2. موافقت پذیر ای ایم اے چلتی اوسط کی ردعمل کو بہتر بناتا ہے۔

  3. اوپری / نچلے بینڈ بریک آؤٹ ہونے پر واضح سمت سگنل دیتے ہیں.

  4. رجحان کے بعد ماڈل کو پٹڑی کی تجارت سے بچنے کے لئے.

  5. مقررہ آرڈر سائز واحد تجارت کے خطرے کو کنٹرول کرتا ہے.

خطرے کا تجزیہ

  1. بولنگر بینڈ پیرامیٹرز کو بہتر بنانے کی ضرورت ہے، بہت وسیع یا بہت تنگ مسائل کا سبب بن سکتا ہے.

  2. بریک آؤٹ سگنلز میں جھوٹے بریک آؤٹ ہو سکتے ہیں۔

  3. نقصان پر قابو پانے کے لیے سٹاپ نقصان کی ضرورت ہے۔

  4. مقررہ آرڈر سائز مارکیٹ کی بنیاد پر پوزیشن کو ایڈجسٹ نہیں کر سکتا.

  5. صرف ایک سمت میں تجارت، زیادہ منافع نہیں کر سکتے ہیں.

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

  1. متحرک طور پر مارکیٹ کو بہتر بنانے کے لئے بولنگر بینڈ پیرامیٹرز کو بہتر بنائیں.

  2. فلٹریشن کے لئے مزید اشارے شامل کریں، جھوٹے بریک آؤٹ سے بچیں.

  3. منافع میں تالا لگانے کے لئے پیچھے سٹاپ نقصان شامل کریں.

  4. ہیج ٹریڈنگ، زیادہ منافع کے لیے طویل اور مختصر دونوں کا انتخاب کریں۔

  5. پوزیشن سائزنگ سسٹم شامل کریں.

نتیجہ

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


/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="CBMA Bollinger Bands Strategy directed [ChuckBanger]", shorttitle="CBMA BB CB", 
   overlay=true )


length = input(title="Length", type=input.integer, defval=12, minval=1)
regular = input(title="Regular BB Or CBMA?", type=input.bool, defval=false)
src = input(title="Source", type=input.source, defval=close)
mult = input(title="Multipler", type=input.float, defval=2.3, minval=.001, maxval=50, step=.1)
emaLen = input(title="EMA Length", type=input.integer, defval=11, minval=1)
emaGL = input(title="EMA Gain Limit", type=input.integer, defval=50, minval=1)
highlight = input(title="Highlight On/Off", type=input.bool, defval=true)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)

strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//strategy.risk.max_drawdown(50, strategy.percent_of_equity)

calc_hma(src, length) =>
    hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
    hullma

calc_cbma(price, length, emaLength, emaGainLimit) =>
    alpha = 2 / (emaLength + 1)
    ema = ema(price, emaLength)
    int leastError = 1000000
    
    float ec = 0
    float bestGain = 0
    
    for i = emaGainLimit to emaGainLimit
        gain = i / 10
        ec := alpha * ( ema + gain * (price - nz(ec[1])) ) + (1 - alpha) * nz(ec[1])
        error = price - ec
        if (abs(error) < leastError)
            leastError = abs(error)
            bestGain = gain
    
    ec := alpha * ( ema + bestGain * (price - nz(ec[1])) ) + (1 - alpha) * nz(ec[1])
    hull = calc_hma(price, length)
    
    cbma = (ec + hull) / 2
    cbma

cbma = calc_cbma(src, length, emaLen, emaGL)
basis = regular ? sma(src, length) : cbma
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
cbmaColor = fixnan(highlight and not regular ? cbma > high ? color.purple : cbma < low ? color.aqua : na : color.red)
plot(basis, color=cbmaColor)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)

if (crossover(src, lower))
    strategy.entry("CBMA_BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="CBMA_BBandLE")
else
    strategy.cancel(id="CBMA_BBandLE")

if (crossunder(src, upper))
    strategy.entry("CBMA_BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="CBMA_BBandSE")
else
    strategy.cancel(id="CBMA_BBandSE")


مزید