ریورس مومنٹم بریکآؤٹ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو قیمتوں میں الٹ اور رفتار کے اشارے کا استعمال کرتے ہوئے تجارتی سگنل تیار کرتی ہے۔
اس حکمت عملی کا بنیادی منطق ایک مخصوص پلٹائیں ونڈو (مثال کے طور پر 20 دن) کے دوران سب سے زیادہ اور سب سے کم قیمتوں کا حساب لگاتے ہوئے مارکیٹ کے الٹ پوائنٹس کی نشاندہی کرنا ہے۔ مخصوص منطق یہ ہے:
پچھلے 20 دنوں میں سب سے زیادہ قیمت (window_high) اور سب سے کم قیمت (window_low) کا حساب لگائیں۔
اگر آج کی اونچائی گزشتہ 20 دنوں کی اونچائی سے زیادہ ہے (ایک نئی 20 دن کی اونچائی) ، تو اونچائی کی تبدیلی کی نگرانی کی مدت درج کریں اور کاؤنٹر کو 5 دن پر سیٹ کریں۔
اگر کوئی نئی اونچائی واقع نہیں ہوتی ہے تو ، کاؤنٹر کو ہر دن 1 سے کم کریں۔ جب کاؤنٹر 0 تک پہنچ جاتا ہے تو ، اونچائی کے الٹ جانے کی نگرانی کی مدت ختم ہوجاتی ہے۔
سب سے کم قیمت کے لئے فیصلے کی منطق اسی طرح کی ہے۔ اگر نئی کم واقع ہوتی ہے تو ، کم الٹ کی نگرانی کی مدت میں داخل ہوں۔
طویل اور مختصر پوزیشنوں کو الٹ پلٹ کی نگرانی کے ادوار کے اندر لیا جاتا ہے۔ اہم الٹ پلٹ پوائنٹس کے قریب الٹ پلٹ کے سگنل بڑی چالوں کو پکڑنے کی اجازت دیتے ہیں۔
حکمت عملی میں تجارتی آغاز کا وقت بھی طے کیا گیا ہے تاکہ تاریخی اعداد و شمار پر سگنل پیدا نہ کیے جائیں۔
ریورس مومنٹم بریک آؤٹ کی حکمت عملی میں مندرجہ ذیل اہم فوائد ہیں:
ریورس ٹرینڈز کے لئے موزوں ، الٹ جانے کے مواقع کو پکڑتا ہے۔ مارکیٹوں میں اکثر ایک پائیدار اپ ٹرینڈ یا ڈاؤن ٹرینڈ کے بعد کچھ حد تک الٹ جانا ظاہر ہوتا ہے۔ اس حکمت عملی کا مقصد ان موڑ کے مقامات کو پکڑنا ہے۔
رفتار کی قیادت ، نسبتا sensitive حساس ہے۔ ونڈو پر سب سے زیادہ اور سب سے کم قیمتوں کا سراغ لگانے سے قیمتوں میں الٹ جانے کے رجحانات اور وقت کی حساسیت سے نشاندہی کی جاسکتی ہے۔
ریورس مانیٹرنگ کے ادوار میں غلط سگنل سے بچنے کی کوشش کی جاتی ہے۔ سگنل صرف اہم ریورس پوائنٹس کے ارد گرد پیدا ہوتے ہیں ، کچھ شور کو فلٹر کرتے ہیں۔
لمبی اور مختصر پوزیشنوں کی اجازت دیتا ہے۔ مارکیٹ کی سمت کے بعد لمبی اور مختصر پوزیشنوں کے درمیان متبادل ہوتا ہے۔
نسبتاً سادہ منطق، لاگو کرنا آسان ہے۔ بنیادی طور پر قیمت اور سادہ رفتار کے اشارے پر انحصار کرتا ہے، کوڈ کرنا آسان ہے۔
اس حکمت عملی کے اہم خطرات میں شامل ہیں:
ناقص الٹ پیش گوئی۔ اگر مارکیٹ سمت میں چلتی ہے تو حکمت عملی نقصانات کا شکار ہوسکتی ہے۔
مجموعی طور پر مارکیٹ کے رجحانات پر غور نہیں کیا گیا۔ انفرادی اسٹاک کی واپسی لازمی طور پر مارکیٹ کی واپسی کی نمائندگی نہیں کرتی ہے۔ مارکیٹ تجزیہ کو یکجا کیا جانا چاہئے۔
ممکنہ طور پر بڑی واپسی۔ واپسی اصل واپسی کے بغیر بڑھ سکتی ہے۔
ڈیٹا فٹنگ تعصب۔ کارکردگی بیک ٹسٹ سے نمایاں طور پر مختلف ہوسکتی ہے۔
پیرامیٹر کی حساسیت۔ ونڈو کی مدت ، کاؤنٹر پیرامیٹرز وغیرہ استحکام کو متاثر کرتے ہیں۔
اسی طرح کے رسک کنٹرول کے طریقوں میں اسٹاپ نقصان کو بہتر بنانا، مارکیٹ کے عوامل کو شامل کرنا، پیرامیٹر کے مجموعوں کو ایڈجسٹ کرنا اور استحکام کی تصدیق کرنا شامل ہے۔
اصلاح کی اہم سمتوں میں شامل ہیں:
مارکیٹ کے اشارے شامل کریں۔ منفی بڑے منظر کے ماحول سے بچنے کے لئے مارکیٹ کی طاقت کا اندازہ کریں۔
کثیر عنصر اسٹاک کا انتخاب۔ صحت مند بنیادیات اور اوور ویلیو کے ساتھ اسٹاک کا انتخاب کریں۔
پیرامیٹر کی اصلاح۔ بہترین پیرامیٹر مجموعے تلاش کرنے کے لئے ونڈو مدت اور کاؤنٹر پیرامیٹرز کو ایڈجسٹ کریں.
سٹاپ نقصان کی حکمت عملیوں کا اضافہ کریں، جیسے ٹرائلنگ اسٹاپ، زیادہ سے زیادہ ڈراؤونگ کو کنٹرول کرنے کے لئے اتار چڑھاؤ کی روک تھام.
مشین لرننگ کی قیمتوں کی تبدیلیوں کی پیش گوئی کی درستگی میں اضافہ کریں.
ریورس مومنٹم بریکآؤٹ حکمت عملی قیمت اور رفتار کو ٹریک کرکے الٹ جانے کے مواقع کی نشاندہی کرتی ہے۔ یہ حساس طور پر رد عمل ظاہر کرتی ہے اور الٹ جانے کے رجحانات اور وقت کی نشاندہی کرتی ہے۔ لیکن اس میں ایسے خطرات ہیں جن کے لئے مناسب اصلاحات اور رسک کنٹرول کی ضرورت ہوتی ہے۔ مجموعی طور پر ، جب اسے اچھی طرح سے سمجھا جاتا ہے اور بہتر بنایا جاتا ہے تو ، یہ مقداری تجارتی نظام کا ایک موثر جز بن سکتا ہے۔
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) window = input.int(20, title="New Highs and Lows Window", minval=1) decay = input.int(5, title="Decay", minval=1) startDate = input(timestamp("1 Jan 2023"), title = "Start Date") allowShort = input.bool(false, title = "Allow shorting") var int highDecayCounter = 0 var bool isHighPeriod = false var int lowDecayCounter = 0 var bool isLowPeriod = false inTradeWindow = true window_high = ta.highest(close, window) window_low = ta.lowest(low, window) // Logic for Highs if window_high > ta.highest(close, window)[1] highDecayCounter := decay isHighPeriod := true else if highDecayCounter > 0 highDecayCounter := highDecayCounter - 1 else isHighPeriod := false // Logic for Lows if window_low < ta.lowest(low, window)[1] lowDecayCounter := decay isLowPeriod := true else if lowDecayCounter > 0 lowDecayCounter := lowDecayCounter - 1 else isLowPeriod := false // Strategy Execution if inTradeWindow if isHighPeriod and highDecayCounter == decay strategy.entry("Long", strategy.long) if isHighPeriod and highDecayCounter == 0 strategy.close("Long") if isLowPeriod and lowDecayCounter == decay and allowShort strategy.entry("Short", strategy.short) if isLowPeriod and lowDecayCounter == 0 and allowShort strategy.close("Short") // Plotting plot(window_high, color=color.green) plot(window_low, color=color.red)