یہ حکمت عملی انتہائی مارکیٹ میں کمی کی شماریاتی خصوصیات پر مبنی ہے۔ مارکیٹ میں اتار چڑھاؤ کی شدت کو ماپنے کے لئے اعداد و شمار کے مطابق ڈراؤونگ کا تجزیہ کرکے اور معیاری انحراف کا استعمال کرتے ہوئے ، جب مارکیٹ میں کمی معمول کی حد سے تجاوز کر جاتی ہے تو یہ خریدنے کی پوزیشنوں کا آغاز کرتی ہے۔ بنیادی خیال مارکیٹ میں گھبراہٹ کی وجہ سے زیادہ فروخت کے مواقع کو پکڑنا ہے ، جو مارکیٹ کی غیر معقولیت سے پیدا ہونے والے ریاضیاتی شماریاتی طریقوں کے ذریعہ سرمایہ کاری کے مواقع کی نشاندہی کرتا ہے۔
اس حکمت عملی میں قیمت کی زیادہ سے زیادہ کھینچنے اور ان کی شماریاتی خصوصیات کا حساب لگانے کے لئے رولنگ ٹائم ونڈو کا استعمال کیا جاتا ہے۔ یہ پہلے پچھلے 50 ادوار میں سب سے زیادہ قیمت کا حساب لگاتا ہے ، پھر موجودہ اختتامی قیمت کے اعلی ترین قیمت کے مقابلے میں کھینچنے کے فیصد کا حساب لگاتا ہے۔ اس کے بعد یہ کھینچنے کی اوسط اور معیاری انحراف کا حساب لگاتا ہے ، جس میں ٹرگر کی حد کے طور پر -1 معیاری انحراف مقرر کیا جاتا ہے۔ جب مارکیٹ کی کھینچنے سے اوسط سے کم معیاری انحراف کا ایک سیٹ ضرب ہوتا ہے ، جس سے ممکنہ oversold حالات کی نشاندہی ہوتی ہے تو ، ایک طویل پوزیشن درج کی جاتی ہے۔ پوزیشنوں کو 35 ادوار کے بعد خود بخود بند کردیا جاتا ہے۔ حکمت عملی میں مارکیٹ کی oversold حالات کے بصری انداز کے لئے کھینچنے کے منحنی خطوط اور ایک ، دو ، اور تین معیاری انحراف کی سطحوں کا بھی نقشہ لگایا جاتا ہے۔
یہ حکمت عملی اعداد و شمار کے طریقوں کے ذریعے مارکیٹ میں زیادہ فروخت کے مواقع کو حاصل کرتی ہے ، جس میں مضبوط نظریاتی بنیاد اور عملی قدر ہے۔ حکمت عملی کا منطق آسان اور واضح ہے جس میں سایڈست پیرامیٹرز ہیں ، جو توسیع اور اصلاح کے لئے ایک بنیادی حکمت عملی کے طور پر موزوں ہیں۔ تکنیکی اشارے اور رسک کنٹرول کے اقدامات کو شامل کرکے حکمت عملی کے استحکام اور منافع کو مزید بڑھا جاسکتا ہے۔ براہ راست تجارت میں ، مارکیٹ کے حالات اور تجارتی آلے کی خصوصیات کو مدنظر رکھتے ہوئے پیرامیٹرز کو احتیاط سے طے کریں ، جبکہ مناسب رسک کنٹرول کو برقرار رکھیں۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy When There's Blood in the Streets Strategy", overlay=false, shorttitle="BloodInTheStreets") //This strategy identifies opportunities to buy during extreme market drawdowns based on standard deviation thresholds. //It calculates the maximum drawdown over a user-defined lookback period, identifies extreme deviations from the mean, //and triggers long entries when specific conditions are met. The position is exited after a defined number of bars. // User Inputs lookbackPeriod = input.int(50, title="Lookback Period", minval=1, tooltip="Period to calculate the highest high for drawdown") stdDevLength = input.int(50, title="Standard Deviation Length", minval=1, tooltip="Length of the period to calculate standard deviation") stdDevThreshold = input.float(-1.0, title="Standard Deviation Threshold", tooltip="Trigger level for long entry based on deviations") exitBars = input.int(35, title="Exit After (Bars)", minval=1, tooltip="Number of bars after which to exit the trade") // Drawdown Calculation peakHigh = ta.highest(high, lookbackPeriod) drawdown = ((close - peakHigh) / peakHigh) * 100 // Standard Deviation Calculation drawdownStdDev = ta.stdev(drawdown, stdDevLength) meanDrawdown = ta.sma(drawdown, stdDevLength) // Define Standard Deviation Levels stdDev1 = meanDrawdown - drawdownStdDev stdDev2 = meanDrawdown - 2 * drawdownStdDev stdDev3 = meanDrawdown - 3 * drawdownStdDev // Plot Drawdown and Levels plot(drawdown, color=color.red, linewidth=2, title="Drawdown (%)") plot(meanDrawdown, color=color.blue, linewidth=2, title="Mean Drawdown") plot(stdDev1, color=color.green, linewidth=1, title="1st Std Dev") plot(stdDev2, color=color.orange, linewidth=1, title="2nd Std Dev") plot(stdDev3, color=color.purple, linewidth=1, title="3rd Std Dev") // Entry Condition var float entryBar = na goLong = drawdown <= meanDrawdown + stdDevThreshold * drawdownStdDev if (goLong and strategy.position_size == 0) strategy.entry("Long", strategy.long) entryBar := bar_index // Exit Condition if (strategy.position_size > 0 and not na(entryBar) and bar_index - entryBar >= exitBars) strategy.close("Long")