بریک آؤٹ ڈھانچہ اور حجم کی تصدیق کثیر مشروط سمارٹ تجارتی حکمت عملی

BOS SMA ATR TP SL
تخلیق کی تاریخ: 2024-12-20 16:15:43 آخر میں ترمیم کریں: 2024-12-20 16:15:43
کاپی: 0 کلکس کی تعداد: 442
1
پر توجہ دیں
1617
پیروکار

بریک آؤٹ ڈھانچہ اور حجم کی تصدیق کثیر مشروط سمارٹ تجارتی حکمت عملی

جائزہ

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

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

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

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

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

//@version=5
strategy("BOS and Volume Strategy with Confirmation", overlay=true)

// Parameters
swingLength = input.int(20, title="Swing Length", minval=1)
volumeMultiplier = input.float(1.1, title="Volume Multiplier", step=0.1)
volumeSMA_length = input.int(10, title="Volume SMA Length", minval=1)
takeProfitPercentage = input.float(0.02, title="Take Profit Percentage", step=0.01)
stopLossPercentage = input.float(0.15, title="Stop Loss Percentage", step=0.01)  // New parameter for stop loss
atrLength = input.int(14, title="ATR Length")
confirmationBars = input.int(2, title="Confirmation Bars", minval=1)

// Calculate Swing Highs and Lows
swingHigh = ta.highest(high, swingLength)[1]
swingLow = ta.lowest(low, swingLength)[1]

// Calculate Volume Moving Average
volumeSMA = ta.sma(volume, volumeSMA_length)
highVolume = volume > (volumeSMA * volumeMultiplier)

// Break of Structure Detection with Confirmation
var int bullishCount = 0
var int bearishCount = 0

if (close > swingHigh and highVolume)
    bullishCount := bullishCount + 1
    bearishCount := 0
else if (close < swingLow and highVolume)
    bearishCount := bearishCount + 1
    bullishCount := 0
else
    bullishCount := 0
    bearishCount := 0

bullishBOSConfirmed = (bullishCount >= confirmationBars)
bearishBOSConfirmed = (bearishCount >= confirmationBars)

// Entry and Exit Conditions
var float entryPrice = na  // Declare entryPrice as a variable

if (bullishBOSConfirmed and strategy.position_size <= 0)
    entryPrice := close  // Use ':=' for assignment
    strategy.entry("Long", strategy.long)

if (strategy.position_size > 0)
    // Calculate stop loss price
    stopLossPrice = entryPrice * (1 - stopLossPercentage)
    strategy.exit("Take Profit Long", from_entry="Long", limit=entryPrice * (1 + takeProfitPercentage), stop=stopLossPrice)

if (bearishBOSConfirmed and strategy.position_size >= 0)
    entryPrice := close  // Use ':=' for assignment
    strategy.entry("Short", strategy.short)

if (strategy.position_size < 0)
    // Calculate stop loss price
    stopLossPrice = entryPrice * (1 + stopLossPercentage)
    strategy.exit("Take Profit Short", from_entry="Short", limit=entryPrice * (1 - takeProfitPercentage), stop=stopLossPrice)

// Plot Swing Highs and Lows for Visualization
plot(swingHigh, title="Swing High", color=color.green, linewidth=1)
plot(swingLow, title="Swing Low", color=color.red, linewidth=1)