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

کثیر عنصر کاؤنٹر ٹرینڈ ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-12-11 17:36:41
ٹیگز:بی بیVOLاے ٹی آرای ایم اے

img

جائزہ

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

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

حکمت عملی تین بنیادی عناصر پر مبنی تجارتی سگنل پیدا کرتی ہے:

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

ٹریڈ سگنل اس وقت ٹرگر ہوتے ہیں جب مقررہ شرائط پوری ہوجاتی ہیں۔ سسٹم مثلث کے مارکر کو پلاٹ کرتا ہے اور بار کی تصدیق کے بعد اسی طرح کی لمبی / مختصر پوزیشنز کو انجام دیتا ہے۔ حکمت عملی پوزیشن سائزنگ کے لئے اکاؤنٹ کے 80٪ ایکویٹی کا استعمال کرتی ہے اور 0.01٪ ٹریڈنگ کمیشن میں عوامل رکھتی ہے۔

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

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

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

  1. ناکامی کا خطرہ - مخالف رجحان سگنل مضبوط رجحانات میں نقصانات کا باعث بن سکتے ہیں
  2. سرمایہ کاری کی کارکردگی کے مسائل - مقررہ 80٪ ایکویٹی کا استعمال کچھ مارکیٹ کے حالات میں بہت جارحانہ ہوسکتا ہے
  3. ٹائم لیگ رسک - بار کی تصدیق کا انتظار کرنے سے سب سے کم انٹری پوائنٹس کا نتیجہ نکل سکتا ہے
  4. پیرامیٹر حساسیت - کارکردگی مختلف پیرامیٹر مجموعوں کے ساتھ نمایاں طور پر مختلف ہوتی ہے

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

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

خلاصہ

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


/*backtest
start: 2024-12-03 00:00:00
end: 2024-12-10 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="The Bar Counter Trend Reversal Strategy [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01)

// Initialize variables
var bool rise_triangle_ready = false
var bool fall_triangle_ready = false
var bool rise_triangle_plotted = false
var bool fall_triangle_plotted = false

//Strategy condition setup
noOfRises = input.int(3, "No. of Rises", minval=1, group="STRATEGY")
noOfFalls = input.int(3, "No. of Falls", minval=1, group="STRATEGY")
volume_confirm = input.bool(false, "Volume Confirmation", group="STRATEGY")

channel_confirm = input.bool(true, "", inline="CHANNEL", group="STRATEGY")
channel_type = input.string("KC", "", inline="CHANNEL", options=["BB", "KC"],group="STRATEGY")
channel_source = input(close, "", inline="CHANNEL", group="STRATEGY")
channel_length = input.int(20, "", inline="CHANNEL", minval=1,group="STRATEGY")
channel_mult = input.int(2, "", inline="CHANNEL", minval=1,group="STRATEGY")

//Get channel line information
[_, upper, lower] = if channel_type == "KC"
    ta.kc(channel_source, channel_length,channel_mult)
else 
    ta.bb(channel_source, channel_length,channel_mult)

//Entry Condition Check
if channel_confirm and volume_confirm
    rise_triangle_ready := ta.falling(close, noOfFalls) and ta.rising(volume, noOfFalls) and high > upper
    fall_triangle_ready := ta.rising(close, noOfRises) and ta.rising(volume, noOfRises) and low < lower

else if channel_confirm
    rise_triangle_ready := ta.falling(close, noOfFalls) and low < lower
    fall_triangle_ready := ta.rising(close, noOfRises) and high > upper 

else if volume_confirm
    rise_triangle_ready := ta.falling(close, noOfFalls) and ta.rising(volume, noOfFalls)
    fall_triangle_ready := ta.rising(close, noOfRises) and ta.rising(volume, noOfRises)
else
    rise_triangle_ready := ta.falling(close, noOfFalls)
    fall_triangle_ready := ta.rising(close, noOfRises)

// Check if trend is reversed
if close > close[1]
    rise_triangle_plotted := false  // Reset triangle plotted flag

if close < close[1]
    fall_triangle_plotted := false

//Wait for bar close and enter trades
if barstate.isconfirmed
    // Plot triangle when ready and counts exceed threshold
    if rise_triangle_ready and not rise_triangle_plotted 
        label.new(bar_index, low, yloc = yloc.belowbar, style=label.style_triangleup, color=color.new(#9CFF87,10))
        strategy.entry("Long", strategy.long)
        rise_triangle_plotted := true
        rise_triangle_ready := false  // Prevent plotting again until reset

    if fall_triangle_ready and not fall_triangle_plotted
        label.new(bar_index, low, yloc = yloc.abovebar, style=label.style_triangledown, color=color.new(#F9396A,10))
        strategy.entry("Short", strategy.short)
        fall_triangle_plotted := true
        fall_triangle_ready := false

// plot channel bands
plot(upper, color = color.new(#56CBF9, 70), linewidth = 3, title = "Upper Channel Line")
plot(lower, color = color.new(#56CBF9, 70), linewidth = 3, title = "Lower Channel Line")

متعلقہ

مزید