وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2024-12-27 15:32:30
ٹیگز:بی بیسی سی آئیایم اےاو بی ویاے ٹی آرایس ایم اےٹی پیSL

img

جائزہ

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

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

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

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

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

  1. اعلی اتار چڑھاؤ کے ادوار میں پوزیشنوں کو ایڈجسٹ کرنے کے لئے اتار چڑھاؤ کے اشارے متعارف کروانا
  2. مارکیٹ کی تجارت سے بچنے کے لئے رجحان کی طاقت فلٹرنگ شامل کریں
  3. بہتر سگنل حساسیت کے لئے سی سی آئی مدت کے انتخاب کو بہتر بنائیں
  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!")

متعلقہ

مزید