
یہ حکمت عملی مارکیٹ میں انتہائی کمی کی صورت میں اعدادوشمار کی خصوصیات پر مبنی تجارت کرتی ہے۔ واپسیوں کے اعدادوشمار کے تجزیے کے ذریعہ ، معیاری فرق کا استعمال کرتے ہوئے مارکیٹ میں اتار چڑھاؤ کی شدت کی پیمائش کی جاتی ہے ، اور جب مارکیٹ میں معمول سے باہر کی کمی ہوتی ہے تو خریداری کی جاتی ہے۔ حکمت عملی کا مرکزی خیال یہ ہے کہ مارکیٹ میں خوف و ہراس کے جذبات کی وجہ سے اضافے کے مواقع کو پکڑنا ، اور ریاضی کے اعدادوشمار کے ذریعہ مارکیٹ میں غیر منطقی طرز عمل سے پیدا ہونے والے سرمایہ کاری کے مواقع کی نشاندہی کرنا۔
حکمت عملی میں رولنگ ٹائم ونڈو کی قیمتوں کے حساب سے زیادہ سے زیادہ واپسی اور واپسی کے اعدادوشمار کی خصوصیات ہیں۔ پہلے پچھلے 50 ادوار میں سب سے زیادہ قیمتوں کا حساب لگایا جاتا ہے ، پھر موجودہ اختتامی قیمتوں کے مقابلے میں سب سے زیادہ قیمتوں میں واپسی کا فیصد حساب لگایا جاتا ہے۔ پھر واپسی کی اوسط اور معیاری فرق کا حساب لگایا جاتا ہے ، جس میں ٹریلر کی حد مقرر کی جاتی ہے۔ جب مارکیٹ میں واپسی اوسط سے زیادہ ہوتی ہے تو اس میں ایک مقررہ ضرب کو ہٹا دیا جاتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ مارکیٹ میں زیادہ گرنے کا خدشہ ہے۔ 35 پوزیشن رکھنے کے بعد خود کار طریقے سے پوزیشن صاف ہوتی ہے۔ حکمت عملی میں واپسی کی منحنی خطوط اور دوگنا ، دوگنا اور تین گنا فرق کی معیاری سطح بھی تیار کی جاتی ہے ، جس سے مارکیٹ میں زیادہ گرنے کا اندازہ لگایا جاسکتا ہے۔
اس حکمت عملی میں اعداد و شمار کے طریقوں کے ذریعہ مارکیٹ میں اضافے کے مواقع کو پکڑنے کے لئے ایک اچھی نظریاتی بنیاد اور عملی قدر ہے۔ حکمت عملی کی منطق سادہ اور واضح ہے ، پیرامیٹرز کو ایڈجسٹ کرنے کے قابل ہے ، اور بنیادی حکمت عملی کو بڑھانے اور بہتر بنانے کے لئے موزوں ہے۔ دیگر تکنیکی اشارے اور خطرے سے متعلق اقدامات کو شامل کرکے حکمت عملی کی استحکام اور منافع کو مزید بہتر بنایا جاسکتا ہے۔
/*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")