یہ حکمت عملی مارکیٹ کے رجحانات کی نشاندہی کرنے اور بریکر کی حکمت عملی کو نافذ کرنے کے لئے بولنگر بینڈ کے ساتھ مل کر سی بی ایم اے کو اہم تکنیکی اشارے کے طور پر استعمال کرتی ہے۔ جب قیمت اوپری بینڈ سے اوپر ہوتی ہے تو یہ مختصر ہوجاتی ہے اور جب قیمت نچلی بینڈ سے نیچے ہوتی ہے تو یہ طویل ہوجاتی ہے ، جو مقبول ڈبل ٹریک بریک آؤٹ سسٹم سے تعلق رکھتی ہے۔
سی بی ایم اے کا حساب لگائیں: سی بی ایم اے کو ہموار کرنے کے لئے موافقت پذیر ای ایم اے کا استعمال کریں جو قیمتوں میں ہونے والی تبدیلیوں کو مؤثر طریقے سے ٹریک کرسکے۔
بولنگر بینڈ پیرامیٹرز مقرر کریں: سی بی ایم اے کو درمیانی بینڈ کے طور پر استعمال کریں ، اور معیاری انحراف ضارب کا استعمال کرتے ہوئے اوپری / نچلے بینڈ مقرر کریں ، جسے مارکیٹ کی بنیاد پر ایڈجسٹ کیا جاسکتا ہے۔
بریکآؤٹ ٹریڈنگ: جب قیمت اوپری بینڈ سے اوپر ہوتی ہے تو فروخت کریں ، جب قیمت نیچے کی بینڈ سے نیچے ہوتی ہے تو خریدیں ، بریکآؤٹر کی حکمت عملی کے بعد رجحان کا استعمال کریں۔
فلیش آرڈرز منسوخ کریں، ایک وقت میں صرف ایک سمت میں تجارت کریں.
مقرر شدہ آرڈر سائز، سرمایہ کی بنیاد پر ایڈجسٹ کیا جا سکتا ہے.
سی بی ایم اے میں اچھی آسانی ہے اور وہ قیمتوں کو مؤثر طریقے سے ٹریک کر سکتا ہے۔
موافقت پذیر ای ایم اے چلتی اوسط کی ردعمل کو بہتر بناتا ہے۔
اوپری / نچلے بینڈ بریک آؤٹ ہونے پر واضح سمت سگنل دیتے ہیں.
رجحان کے بعد ماڈل کو پٹڑی کی تجارت سے بچنے کے لئے.
مقررہ آرڈر سائز واحد تجارت کے خطرے کو کنٹرول کرتا ہے.
بولنگر بینڈ پیرامیٹرز کو بہتر بنانے کی ضرورت ہے، بہت وسیع یا بہت تنگ مسائل کا سبب بن سکتا ہے.
بریک آؤٹ سگنلز میں جھوٹے بریک آؤٹ ہو سکتے ہیں۔
نقصان پر قابو پانے کے لیے سٹاپ نقصان کی ضرورت ہے۔
مقررہ آرڈر سائز مارکیٹ کی بنیاد پر پوزیشن کو ایڈجسٹ نہیں کر سکتا.
صرف ایک سمت میں تجارت، زیادہ منافع نہیں کر سکتے ہیں.
متحرک طور پر مارکیٹ کو بہتر بنانے کے لئے بولنگر بینڈ پیرامیٹرز کو بہتر بنائیں.
فلٹریشن کے لئے مزید اشارے شامل کریں، جھوٹے بریک آؤٹ سے بچیں.
منافع میں تالا لگانے کے لئے پیچھے سٹاپ نقصان شامل کریں.
ہیج ٹریڈنگ، زیادہ منافع کے لیے طویل اور مختصر دونوں کا انتخاب کریں۔
پوزیشن سائزنگ سسٹم شامل کریں.
یہ حکمت عملی ایک بریک ٹرینڈ مندرجہ ذیل نظام ہے جس میں واضح بریک آؤٹ سگنلز کے لئے بولنگر بینڈ کے ساتھ مل کر انکولی حرکت پذیر اوسط ٹیکنالوجی کا استعمال کیا جاتا ہے۔ اس میں سادہ منطق اور مقررہ آرڈر سائز کا خطرہ کنٹرول ہوتا ہے ، جس میں کچھ عملی قدر ہوتی ہے۔ لیکن غلط بریک آؤٹ اور پیرامیٹر کی اصلاح جیسے مسائل باقی رہتے ہیں ، جن میں خطرہ کو کنٹرول کرتے ہوئے حقیقی تجارتی کارکردگی کو بہتر بنانے اور بڑھانے کے لئے مزید اشارے کی ضرورت ہوتی ہے۔ مجموعی طور پر یہ بہتری کی گنجائش کے ساتھ ایک مہذب اسٹارٹر بریک آؤٹ سسٹم ہے۔
/*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")