تجارتی سگنل کی حکمت عملی کو فلٹر کرنے کے لیے بولنگر بینڈز ووڈی سی سی آئی کے متعدد اشاریوں کے ساتھ مل کر

BB CCI MA OBV ATR SMA TP SL
تخلیق کی تاریخ: 2024-12-27 15:32:30 آخر میں ترمیم کریں: 2024-12-27 15:32:30
کاپی: 0 کلکس کی تعداد: 416
1
پر توجہ دیں
1617
پیروکار

تجارتی سگنل کی حکمت عملی کو فلٹر کرنے کے لیے بولنگر بینڈز ووڈی سی سی آئی کے متعدد اشاریوں کے ساتھ مل کر

جائزہ

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

حکمت عملی کا اصول

حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:

  1. قیمت کے اتار چڑھاؤ کا چینل بنانے کے لیے دو معیاری انحراف بولنگر بینڈز (1x اور 2x) استعمال کریں، جو مارکیٹ کے اتار چڑھاؤ کی حد کے لیے ایک حوالہ فراہم کرتے ہیں۔
  2. سگنل فلٹرز کے طور پر 6 پیریڈ اور 14 پیریڈ سی سی آئی انڈیکیٹرز استعمال کرنے کے لیے دونوں ادوار کے سی سی آئی کو ایک ہی سمت میں تصدیق کرنے کی ضرورت ہوتی ہے۔
  3. مارکیٹ کے رجحانات کا تعین کرنے کے لیے 50 پیریڈ اور 200 پیریڈ موونگ ایوریجز کو یکجا کریں اور جب موونگ ایوریج کراس ہو جائیں تو ابتدائی ٹریڈنگ سگنلز بنائیں
  4. حجم کے رجحان کی تصدیق OBV اشارے کی 10 مدت کی ہمواری سے ہوتی ہے۔
  5. ٹیک-پرافٹ اور اسٹاپ لاس کو متحرک طور پر سیٹ کرنے کے لیے 14-پیریڈ ATR کا استعمال کریں، ٹیک-پرافٹ 2 گنا ATR، اور سٹاپ لاس 1 گنا ATR ہے، اس کے برعکس ہے۔

اسٹریٹجک فوائد

  1. ایک سے زیادہ اشارے کراس توثیق غلط سگنلز کے امکان کو بہت کم کر دیتی ہے۔
  2. بولنگر بینڈز اور سی سی آئی کا امتزاج مارکیٹ کے اتار چڑھاؤ کا درست فیصلہ فراہم کرتا ہے۔
  3. طویل مدتی اور قلیل مدتی متحرک اوسط نظام عام رجحان کو مؤثر طریقے سے سمجھتا ہے۔
  4. OBV حجم کی حمایت کی تصدیق کرتا ہے اور سگنل کی وشوسنییتا کو بہتر بناتا ہے۔
  5. مارکیٹ کے مختلف ماحول کے مطابق ڈھالنے کے لیے ڈائنامک اسٹاپ پرافٹ اور اسٹاپ لاس سیٹنگز
  6. تجارتی سگنل واضح ہیں، عمل درآمد معیاری ہے، اور اس کی مقدار درست کرنا اور لاگو کرنا آسان ہے۔

اسٹریٹجک رسک

  1. متعدد اشارے سگنل وقفہ کا سبب بن سکتے ہیں اور بہترین اندراج کا وقت کھو سکتے ہیں۔
  2. غیر مستحکم مارکیٹوں میں سٹاپ لاسز اکثر شروع ہو سکتے ہیں۔
  3. پیرامیٹر کی اصلاح میں اوور فٹنگ کا خطرہ ہوتا ہے۔
  4. شدید اتار چڑھاؤ کے دوران سٹاپ نقصان بروقت نہیں ہو سکتا انسدادی اقدامات:
  • مختلف مارکیٹ سائیکلوں کے مطابق اشارے کے پیرامیٹرز کو متحرک طور پر ایڈجسٹ کریں۔
  • ریٹریسمنٹ اور پوزیشن کنٹرول کی ریئل ٹائم مانیٹرنگ
  • پیرامیٹر کی درستگی کو باقاعدگی سے چیک کریں۔
  • زیادہ سے زیادہ نقصان کی حد مقرر کریں۔

حکمت عملی کی اصلاح کی سمت

  1. زیادہ اتار چڑھاؤ کے دوران پوزیشنوں کو ایڈجسٹ کرنے کے لیے مارکیٹ کے اتار چڑھاؤ کے اشارے متعارف کروائیں۔
  2. غیر مستحکم مارکیٹوں میں ٹریڈنگ سے بچنے کے لیے ٹرینڈ طاقت کا فلٹر شامل کریں۔
  3. CCI سائیکل کے انتخاب کو بہتر بنائیں اور سگنل کی حساسیت کو بہتر بنائیں
  4. سٹاپ پرافٹ اور سٹاپ لوس میکانزم کو بہتر بنائیں، جیسے بیچوں میں منافع لینے پر غور
  5. غیر معمولی تجارتی حجم انتباہی طریقہ کار شامل کیا گیا۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy(shorttitle="BB Debug + Woodies CCI Filter", title="Debug Buy/Sell Signals with Woodies CCI Filter", overlay=true)

// Input Parameters
length = input.int(20, minval=1, title="BB MA Length")
src = input.source(close, title="BB Source")
mult1 = input.float(1.0, minval=0.001, maxval=50, title="BB Multiplier 1 (Std Dev 1)")
mult2 = input.float(2.0, minval=0.001, maxval=50, title="BB Multiplier 2 (Std Dev 2)")
ma_length = input.int(50, minval=1, title="MA Length")
ma_long_length = input.int(200, minval=1, title="Long MA Length")
obv_smoothing = input.int(10, minval=1, title="OBV Smoothing Length")
atr_length = input.int(14, minval=1, title="ATR Length") // ATR Length for TP/SL

// Bollinger Bands
basis = ta.sma(src, length)
dev1 = mult1 * ta.stdev(src, length)
dev2 = mult2 * ta.stdev(src, length)

upper_1 = basis + dev1
lower_1 = basis - dev1
upper_2 = basis + dev2
lower_2 = basis - dev2

plot(basis, color=color.blue, title="BB MA")
p1 = plot(upper_1, color=color.new(color.green, 80), title="BB Upper 1")
p2 = plot(lower_1, color=color.new(color.green, 80), title="BB Lower 1")
p3 = plot(upper_2, color=color.new(color.red, 80), title="BB Upper 2")
p4 = plot(lower_2, color=color.new(color.red, 80), title="BB Lower 2")

fill(p1, p2, color=color.new(color.green, 90))
fill(p3, p4, color=color.new(color.red, 90))

// Moving Averages
ma_short = ta.sma(close, ma_length)
ma_long = ta.sma(close, ma_long_length)
plot(ma_short, color=color.orange, title="MA Short")
plot(ma_long, color=color.yellow, title="MA Long")

// OBV and Smoothing
obv = ta.cum(ta.change(close) > 0 ? volume : ta.change(close) < 0 ? -volume : 0)
obv_smooth = ta.sma(obv, obv_smoothing)

// Debugging: Buy/Sell Signals
debugBuy = ta.crossover(close, ma_short)
debugSell = ta.crossunder(close, ma_short)

// Woodies CCI
cciTurboLength = 6
cci14Length = 14
cciTurbo = ta.cci(src, cciTurboLength)
cci14 = ta.cci(src, cci14Length)

// Filter: Only allow trades when CCI confirms the signal
cciBuyFilter = cciTurbo > 0 and cci14 > 0
cciSellFilter = cciTurbo < 0 and cci14 < 0

finalBuySignal = debugBuy and cciBuyFilter
finalSellSignal = debugSell and cciSellFilter

// Plot Debug Buy/Sell Signals
plotshape(finalBuySignal, title="Filtered Buy", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.normal)
plotshape(finalSellSignal, title="Filtered Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.normal)

// Change candle color based on filtered signals
barcolor(finalBuySignal ? color.lime : finalSellSignal ? color.red : na)

// ATR for Stop Loss and Take Profit
atr = ta.atr(atr_length)
tp_long = close + 2 * atr  // Take Profit for Long = 2x ATR
sl_long = close - 1 * atr  // Stop Loss for Long = 1x ATR
tp_short = close - 2 * atr // Take Profit for Short = 2x ATR
sl_short = close + 1 * atr // Stop Loss for Short = 1x ATR

// Strategy Execution
if (finalBuySignal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=tp_long, stop=sl_long)

if (finalSellSignal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=tp_short, stop=sl_short)

// Check for BTC/USDT pair
isBTCUSDT = syminfo.ticker == "BTCUSDT"

// Add alerts only for BTC/USDT
alertcondition(isBTCUSDT and finalBuySignal, title="BTCUSDT Buy Signal", message="Buy signal detected for BTCUSDT!")
alertcondition(isBTCUSDT and finalSellSignal, title="BTCUSDT Sell Signal", message="Sell signal detected for BTCUSDT!")