ڈائریکشنل موومنٹ انڈیکس دو طرفہ تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-19 14:13:52
ٹیگز:

img

جائزہ

یہ حکمت عملی اجناس کے سمتی تحریک انڈیکس (ڈی آئی) کا حساب لگاتی ہے اور اسے دو طرفہ تجارت کو نافذ کرنے کے لئے حد کے پیرامیٹرز کے ساتھ جوڑتی ہے۔ جب ڈی آئی + حد کے پیرامیٹر سے زیادہ ہے تو یہ طویل ہوجاتا ہے اور جب ڈی آئی + حد کے پیرامیٹر سے زیادہ ہے تو یہ مختصر ہوجاتا ہے۔

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

اس حکمت عملی کا بنیادی اشارے سمتی تحریک انڈیکس (ڈی آئی) ہے۔ ڈی آئی کا حساب مندرجہ ذیل فارمولوں کے ذریعہ کیا جاتا ہے:

DI+ = (DM+ / حقیقی رینج) × 100 DI- = (DM- / حقیقی رینج) × 100

جہاں ڈی ایم + سمت کی تحریک مثبت کی نمائندگی کرتا ہے ، ڈی ایم - سمت کی تحریک منفی کی نمائندگی کرتا ہے۔ حقیقی رینج پچھلے دن کی سب سے زیادہ قیمت ، سب سے کم قیمت اور بند ہونے کی قیمت کا حساب لگاتے ہوئے حالیہ اتار چڑھاؤ کی نمائندگی کرتا ہے۔

ڈی آئی کی تعریف کے مطابق، جب ڈی آئی + > ڈی آئی -، اس کا مطلب یہ ہے کہ موجودہ مارکیٹ کی رفتار مضبوط ہے، جو ایک بیل مارکیٹ سے تعلق رکھتا ہے؛ جب ڈی آئی - > ڈی آئی +، اس کا مطلب یہ ہے کہ ریچھ کی رفتار ریچھ کی رفتار سے زیادہ مضبوط ہے، جو ریچھ مارکیٹ سے تعلق رکھتا ہے.

یہ حکمت عملی اس خصوصیت کا استعمال کرتی ہے اور ایک حد پیرامیٹر طے کرتی ہے۔ جب DI + ایک حد پیرامیٹر کے ذریعہ DI- سے بڑا ہوتا ہے تو ، یہ طے کرتا ہے کہ موجودہ مارکیٹ ایک بیل مارکیٹ ہے اور لمبی جاتی ہے۔ جب DI- ایک حد پیرامیٹر کے ذریعہ DI + سے بڑا ہوتا ہے تو ، یہ طے کرتا ہے کہ موجودہ مارکیٹ ایک ریچھ مارکیٹ ہے اور مختصر ہوجاتی ہے۔

مثال کے طور پر، اگر حد پیرامیٹر 3 پر مقرر کیا جاتا ہے تو، مخصوص تجارتی قوانین ہیں:

  1. جب DI+ - DI- > 3، طویل ہو جاؤ
  2. جب DI- - DI+ > 3، مختصر ہو

چونکہ DI + اور DI - کے درمیان اکثر چھوٹے اتار چڑھاؤ والے اختلافات ہوتے ہیں ، لہذا ایک حد پیرامیٹر کا تعین کرنا کچھ تجارتوں کو بغیر کسی اہم سمت کے فلٹر کرسکتا ہے اور غیر ضروری تجارت کو کم کرسکتا ہے۔ یہ اس حکمت عملی کا ایک فائدہ ہے۔

فوائد کا تجزیہ

اس حکمت عملی کے اہم فوائد یہ ہیں:

  1. ڈی آئی مارکیٹ کی سمت کا جائزہ لینے میں قابل اعتماد ہے

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

  2. حد پیرامیٹر مؤثر طریقے سے سگنل فلٹر کر سکتے ہیں

    حد پیرامیٹر اہم سمت کے بغیر چھوٹے اتار چڑھاؤ کو فلٹر کرتا ہے ، صرف تجارت کے لئے اہم سمت کے ساتھ حصوں کا انتخاب کرتا ہے ، اس طرح پھنس جانے سے بچتا ہے۔

  3. خودکار دو طرفہ تجارت حاصل کریں

    طویل اور مختصر پوزیشنوں کو دستی فیصلے کے بغیر DI اشارے کی بنیاد پر خود بخود تبدیل کیا جاسکتا ہے، جس سے ٹریڈنگ کی مشکل کم ہوتی ہے۔

  4. اپنی مرضی کے مطابق ٹریڈنگ کا وقت فریم

    صرف ایک مرضی کے مطابق تاریخ کی حد کے اندر تجارت کرنے کی ترتیب کی حمایت کرتا ہے اور بعد میں تمام پوزیشنوں کو خود بخود بند کر دیتا ہے، لچکدار اور آسان.

  5. صرف طویل یا مختصر منتخب

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

خطرے کا تجزیہ

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. DI غلط سگنل دینے کا امکان

    جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے تو ڈی آئی قلیل مدتی غلط سگنل دے سکتا ہے ، جس کی وجہ سے تجارت ناکام ہوجاتی ہے۔ تصدیق کے لئے دوسرے اشارے کو جوڑنے کی ضرورت ہے۔

  2. غلط حد پیرامیٹر کی ترتیبات

    اعلی یا کم حد کے پیرامیٹرز کی غلط ترتیب سے بہت کم یا بہت زیادہ تجارتی سگنل پیدا ہوسکتے ہیں۔ پیرامیٹرز کو مارکیٹ کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔

  3. رجحان اختتامی نقطہ کا تعین کرنے میں ناکام

    ڈی آئی صرف موجودہ رجحان کی سمت کا تعین کرسکتا ہے اور اس کا فیصلہ نہیں کرسکتا ہے کہ رجحان ختم ہو گیا ہے یا الٹ گیا ہے۔ دیگر اشارے کو جوڑنے کی ضرورت ہے۔

خطرات کے حل میں شامل ہیں:

  1. DI سگنل فلٹر کرنے کے لئے چلتی اوسط اور دیگر اشارے کو یکجا کریں

  2. بیک ٹسٹ کے نتائج کی بنیاد پر حد کے پیرامیٹرز کو ایڈجسٹ کریں

  3. حجم، ایم اے سی ڈی وغیرہ کو یکجا کریں تاکہ یہ معلوم ہو سکے کہ رجحان کی تبدیلی

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

حکمت عملی کو مندرجہ ذیل طریقوں سے مزید بہتر بنایا جاسکتا ہے:

  1. مارکیٹ پروفائل جیسے دیگر رجحان کی تشخیص کے اشارے کو یکجا کریں

    مارکیٹ پروفائل جیسے اشارے کو جوڑنا جو طویل قلیل طاقت کو DI کے ساتھ بدیہی طور پر بھی اندازہ لگاتے ہیں ، فیصلے کی درستگی کو بہتر بنا سکتے ہیں۔

  2. سٹاپ منافع اور سٹاپ نقصان کی حکمت عملی شامل کریں

    اسٹاپ منافع ، وقت یا فیصد اسٹاپ نقصانات کی ترتیب سے منافع میں تالا لگا اور نقصانات کو کم کیا جاسکتا ہے۔

  3. مخصوص مصنوعات کے لئے پیرامیٹرز کو ایڈجسٹ کریں

    مختلف مصنوعات کی خصوصیات کے مطابق حد کے پیرامیٹرز اور تجارتی اوقات کو ایڈجسٹ کرنے سے حکمت عملی کی کارکردگی میں بہتری آسکتی ہے۔

  4. مشین لرننگ کا استعمال کرتے ہوئے متحرک اصلاح

    مضبوطی سیکھنے کے الگورتھم کا اطلاق براہ راست سگنلز کی بنیاد پر پیرامیٹر کی ترتیبات کو متحرک طور پر بہتر بنانے کے لئے۔

خلاصہ

خلاصہ یہ ہے کہ یہ حکمت عملی نسبتا simple آسان اور عملی ہے۔ یہ مارکیٹ کی سمت کا تعین کرنے کے لئے DI s حساب کتاب کا استعمال کرتی ہے۔ حد کے پیرامیٹرز کے ذریعے سگنل فلٹر کرتی ہے۔ دو طرفہ تجارت یا صرف لمبی / مختصر کی حمایت کرتی ہے۔ تجارتی ٹائم فریم کی ترتیب کی اجازت دیتی ہے۔ اس کے اہم فوائد اعلی وشوسنییتا اور موثر سگنل فلٹرنگ ہیں۔ اس میں غلط سگنل اور پیرامیٹر کی ترتیبات جیسے مسائل بھی ہیں۔ ہم اسے دوسرے اشارے کو جوڑ کر ، اسٹاپ نقصان / منافع کی ترتیب ، پیرامیٹرز کو ایڈجسٹ کرنے وغیرہ ، یا مشین لرننگ کے ساتھ متحرک طور پر بہتر بنا کر بہتر بنا سکتے ہیں۔ مجموعی طور پر یہ دوسرے نتائج کے ل other دیگر حکمت عملیوں کے ساتھ مل کر سمت کے اشارے کے طور پر موزوں ہے۔


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Noro's DI Strategy", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(title="Length", defval=14)
limit = input(3, title = "limit, %")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//DI
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = 0.0
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementMinus = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100

//Trend
trend = 0
trend := DIPlus > DIMinus + limit ? 1 : DIPlus < DIMinus - limit ? -1 : trend[1]

//Background
col = trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Lines
plot(DIPlus, color=lime, title="DI+", linewidth = 3)
plot(DIMinus, color=red, title="DI-", linewidth = 3)

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if trend == 1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if trend == -1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

مزید