یہ حکمت عملی اسٹیو کارنیش کے ذریعہ تیار کردہ سی سی ٹی بولنگر بینڈ آسکیلیٹر (سی سی ٹی بی او) اشارے پر مبنی ہے۔ یہ ٹریلنگ اسٹاپ میکانزم کے ساتھ مل کر حرکت پذیر اوسط کی قیمتوں میں خرابی کا پتہ لگانے سے قیمتوں میں ردوبدل کی نشاندہی کرتا ہے۔
یہ حکمت عملی سی سی ٹی بی بی او کی قیمت کا حساب لگانے کے لئے اعلی قیمت کو سورس ڈیٹا کے طور پر استعمال کرتی ہے۔ آسکیلیٹر -200 اور 200 کے درمیان اتار چڑھاؤ کرتا ہے ، جہاں 0 اوسط قیمت کو مائنس 2 معیاری انحراف اور 100 اوسط قیمت کے علاوہ 2 معیاری انحراف کی نمائندگی کرتا ہے۔ جب آسکیلیٹر اپنی ای ایم اے لائن کو عبور کرتا ہے یا اس سے نیچے گرتا ہے تو تجارتی سگنل پیدا ہوتے ہیں۔ خاص طور پر ، جب آسکیلیٹر اپنی ای ایم اے لائن سے اوپر عبور کرتا ہے اور ان کے درمیان فاصلہ مقررہ مارجن ویلیو سے زیادہ ہوتا ہے تو ، ایک طویل پوزیشن کھولی جاتی ہے۔ جب آسکیلیٹر اپنی ای ایم اے لائن سے نیچے گرتا ہے اور فاصلہ منفی مقررہ قدر سے کم ہوتا ہے تو ، ایک مختصر پوزیشن کھولی جاتی ہے۔ پوزیشن مارجن کا سائز مقررہ فیصد کے مطابق شمار کیا جاتا ہے۔ اس کے علاوہ ، حکمت عملی میں پوزیشنوں سے باہر نکلنے کے لئے فیصد قیمت کی تبدیلی یا ٹک کی نقل و حرکت کی تعداد کی بنیاد پر ٹریلنگ اسٹاپ نقصان کا استعمال ہوتا ہے۔
خطرے کا انتظام:
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
خلاصہ میں ، یہ سی سی ٹی بولنگر بینڈ اشارے کا استعمال کرتے ہوئے قیمتوں میں ردوبدل کی نشاندہی کرنے کے لئے ایک مقداری تجارتی حکمت عملی ہے۔ اس کے کچھ فوائد ہیں لیکن اس میں بہتری کی گنجائش بھی ہے۔ پیرامیٹرز کو بہتر بنانا ، فلٹرز شامل کرنا ، فیچر انجینئرنگ کا استعمال کرنا ، مشین لرننگ متعارف کرانا وغیرہ ، اس حکمت عملی کے استحکام اور منافع کو مزید بڑھا سکتا ہے۔
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-17 11:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // This strategy is based on the CCT Bollinger Band Oscillator (CCTBO) // developed by Steve Karnish of Cedar Creek Trading and coded by LazyBear. // Indicator is available here https://www.tradingview.com/v/iA4XGCJW/ strategy("Strategy CCTBBO v2 | Fadior", shorttitle="Strategy CCTBBO v2", pyramiding=0, precision=2, calc_on_order_fills=false, initial_capital=1000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false) length_stddev=input(title="Stddev loopback period",defval=20) length_ema=input(title="EMA period", defval=2) margin=input(title="Margin", defval=0, type=float, step=0.1) price = input(title="Source", defval=high) digits= input(title="Number of digits",defval=2,step=1,minval=2,maxval=6) offset = input(title="Trailing offset (0.01 = 1%) :", defval=0.013, type=float, step=0.01) pips= input(title="Offset in ticks ?",defval=false,type=bool) src=request.security(syminfo.tickerid, "1440", price) cctbbo=100 * ( src + 2*stdev( src, length_stddev) - sma( src, length_stddev ) ) / ( 4 * stdev( src, length_stddev ) ) ul=hline(150, color=gray, editable=true) ll=hline(-50, color=gray) hline(50, color=gray) fill(ul,ll, color=green, transp=90) plot(style=line, series=cctbbo, color=blue, linewidth=2) plot(ema(cctbbo, length_ema), color=red) d = digits == 2 ? 100 : digits == 3 ? 1000 : digits == 4 ? 10000 : digits == 5 ? 100000 : digits == 6 ? 1000000 : na TS = 1 TO = pips ? offset : close*offset*d CQ = 100 TSP = TS TOP = (TO > 0) ? TO : na longCondition = crossover(cctbbo, ema(cctbbo, length_ema)) and cctbbo - ema(cctbbo, length_ema) > margin if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Close Long", "Long", qty_percent=CQ, trail_points=TSP, trail_offset=TOP) shortCondition = crossunder(cctbbo, ema(cctbbo, length_ema)) and cctbbo - ema(cctbbo, length_ema) < -margin if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Close Short", "Short", qty_percent=CQ, trail_points=TSP, trail_offset=TOP)