یہ حکمت عملی اوسط حقیقی رینج (اے ٹی آر) سے حساب لگائے گئے مثبت سمت اشارے (ڈی آئی +) اور منفی سمت اشارے (ڈی آئی-) کے کراس اوور پر مبنی تجارتی سگنل تیار کرتی ہے۔ یہ رجحان کی پیروی کرنے والی حکمت عملی سے تعلق رکھتی ہے جو ڈی آئی + اور ڈی آئی - کے کراس اوور کے ذریعہ رجحان الٹ پوائنٹس کی نشاندہی کرتی ہے۔ اے ٹی آر کا استعمال اسٹاپ نقصان اور منافع کی سطح مقرر کرنے کے لئے کیا جاتا ہے۔
ATR کا حساب لگانا ((14): اعلی ، کم اور قریبی قیمتوں کا استعمال کرتے ہوئے پچھلے 14 دنوں میں اوسط حقیقی رینج کا حساب لگائیں۔
حساب DI+ اور DI-:
DI+ = 100 * RMA(MAX(UP،0،N) / ATNR
DI- = 100 * RMA(MAX(DOWN،0،N) / ATNR
جہاں UP موجودہ اعلی اور پچھلے بند کے درمیان فرق ہے، DOWN موجودہ کم اور پچھلے بند کے درمیان فرق ہے، N پیرامیٹر کی مدت ہے، ڈیفالٹ 14 تک، اور ATNR مرحلہ 1 سے حساب کردہ ATR ہے.
داخلہ اور باہر نکلنے کا تعین:
جب DI+ DI- سے عبور کرتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔
جب DI+ DI- سے نیچے گزرتا ہے، تو فروخت کا اشارہ پیدا ہوتا ہے۔
سٹاپ نقصان اور منافع حاصل کریں:
لانگ اسٹاپ نقصان لاگ ان قیمت سے کم اے ٹی آر ضرب سٹاپ نقصان ضرب ہے
لانگ ٹیک منافع داخلہ قیمت اور اے ٹی آر ضرب منافع لینے کے ضارب سے ہوتا ہے
مختصر سٹاپ نقصان داخلہ قیمت جمع ATR سٹاپ نقصان ضرب سے ضرب ہے
شارٹ ٹیک منافع داخلہ قیمت سے کم اے ٹی آر کو ٹیک منافع کے ضرب سے ضرب دیتا ہے
رجحان کی تبدیلی کا تعین کرنے کے لئے DI+/DI- کراس اوور کا استعمال نئے رجحان کی سمت کے لئے بروقت سگنل فراہم کرتا ہے۔
اے ٹی آر متحرک سٹاپ نقصان / منافع لینے کے اشارے کے طور پر مارکیٹ کی اتار چڑھاؤ کی بنیاد پر مناسب سطح مقرر کر سکتا ہے.
حکمت عملی میں چند پیرامیٹرز ہیں اور اسے سمجھنا اور لاگو کرنا آسان ہے۔
بیک ٹیسٹ کے نتائج سے پتہ چلتا ہے کہ اس حکمت عملی میں مثبت منافع کا عنصر ہے اور یہ خریدنے اور رکھنے سے بہتر ہے۔
DI کراس اوور سے غلط سگنل کا خطرہ
سٹاپ نقصان/فائدہ بہت قریب سے حاصل کریں
رینج سے منسلک مارکیٹ میں غیر موثر
استعمال کا خطرہ
فلٹرز شامل کریں جیسے چلتی اوسط مدت میں غلط سگنل سے بچنے کے لئے.
ڈراؤونگ کو کنٹرول کرنے اور منافع کو بڑھانے کے لئے فکسڈ فریکشنل یا مارٹنگیل کی طرح پوزیشن سائزنگ کو نافذ کریں۔
ATR پیرامیٹرز کو مختلف تجارتی آلات کی اتار چڑھاؤ کے مطابق کرنے کے لئے بہتر بنائیں۔
زیادہ سے زیادہ مجموعہ تلاش کرنے کے لئے DI مدت، ATR مدت، ATR ضارب وغیرہ پر پیرامیٹر کی اصلاح.
رات بھر اور ابتدائی سیشن منطق کو شامل کریں 24/7 حکمت عملی چلانے کے لئے.
یہ ایک سادہ اور عملی حکمت عملی ہے جو ڈی آئی کراس اوور سے سگنل پیدا کرتی ہے اور اے ٹی آر کے ساتھ متحرک اسٹاپ نقصان / منافع حاصل کرتی ہے۔ کچھ پیرامیٹرز کے ساتھ ، اس کی جانچ اور اصلاح کرنا آسان ہے۔ لیکن ڈی آئی کراس اوور استحکام کے دوران کم موثر ہے۔ آگے بڑھتے ہوئے ، اضافی فلٹرز کو جوڑنا بہتری کا بنیادی علاقہ ہے۔ مجموعی طور پر یہ حکمت عملی قلیل مدتی دن کی تجارت کے لئے موزوں مستحکم کارکردگی کا مظاہرہ کرتی ہے۔
/*backtest start: 2022-11-06 00:00:00 end: 2023-11-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © TheHulkTrading //@version=4 strategy("DI Crossing Daily Straregy HulkTrading", overlay=true) // ATR Multiplier. Recommended values between 1..4 atr_multiplier = input(1, minval=1, title="ATR Multiplier") //Length of DI. Recommended default value = 14 length = input(14, minval=1, title="Length di") up = change(high) down = -change(low) range = rma(tr, 14) //DI+ and DI- Calculations di_plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, length) / range) di_minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, length) / range) //Long and short conditions longCond = crossover(di_plus,di_minus) shortCond = crossunder(di_plus,di_minus) //Stop levels and take profits stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14) take_level_long = strategy.position_avg_price + 2*atr_multiplier*atr(14) stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14) take_level_short = strategy.position_avg_price - 2*atr_multiplier*atr(14) //Entries and exits strategy.entry("Long", strategy.long, when=longCond) strategy.exit("Close Long","Long", stop=stop_level_long, limit = take_level_long) strategy.entry("Short", strategy.short, when=shortCond) strategy.exit("Close Short","Short", stop=stop_level_short, limit = take_level_short)