
حکمت عملی ایک ہائبرڈ تجارتی نظام ہے جو رفتار اور مطلب کی تبدیلی کے نظریہ کو یکجا کرتا ہے۔ یہ ریٹ آف چینج (ROC) انڈیکیٹر اور بولنگر بینڈز کو مارکیٹ میں زیادہ خریدی ہوئی اور زیادہ فروخت ہونے والی حالتوں کی نشاندہی کرنے کے لیے استعمال کرتا ہے، جب مخصوص حدوں کو عبور کیا جاتا ہے تو تجارتی سگنلز کو متحرک کرتا ہے۔ حکمت عملی کا بنیادی مقصد مومینٹم ٹرننگ پوائنٹس کا پتہ لگا کر اور قیمت کی اوسط میں تبدیلی کی خاصیت کا فائدہ اٹھا کر منافع حاصل کرنا ہے۔
حکمت عملی قلیل مدتی قیمت کی تبدیلیوں کا حساب لگانے کے لیے 2 مدت کے ROC اشارے کا استعمال کرتی ہے، اور مختلف پیرامیٹرز کے ساتھ بولنگر بینڈز کے دو سیٹ استعمال کرتی ہے: قلیل مدتی بولنگر بینڈز (18 ادوار، 1.7 معیاری انحراف) زیادہ فروخت ہونے والے حالات اور داخلے کے سگنلز کا تعین کرنے کے لیے استعمال کیے جاتے ہیں۔ ، اور طویل مدتی بولنگر بینڈز (21 ادوار، 2.1 معیاری انحراف) کا استعمال زیادہ خریدی گئی شرائط اور باہر نکلنے کے سگنلز کا تعین کرنے کے لیے کیا جاتا ہے۔ جب ROC نچلے بولنگر بینڈ کو اوپر کی طرف کراس کرتا ہے، تو یہ اشارہ کرتا ہے کہ قیمت کی رفتار کمزور سے مضبوط ہو جاتی ہے، اور جب ROC اوپری بولنگر بینڈ کو نیچے کی طرف کراس کرتا ہے، تو یہ اشارہ کرتا ہے کہ رفتار کمزور ہو جاتی ہے، اور سسٹم بند ہو جاتا ہے۔ پوزیشن حکمت عملی پس منظر کے رنگ کے لحاظ سے زیادہ خریدی ہوئی اور زیادہ فروخت ہونے والی جگہوں کو بھی نشان زد کرتی ہے، سبز زیادہ فروخت ہونے کی نشاندہی کرتا ہے (بڑھنے کا امکان)، اور سرخ زیادہ خریدی ہوئی (گرنے کا امکان) کی نشاندہی کرتا ہے۔
اڈاپٹو مومینٹم یعنی ریورژن کراس اوور حکمت عملی ROC اشارے اور ڈبل بولنگر بینڈ کو یکجا کر کے ایک ایسا تجارتی نظام بناتی ہے جو مارکیٹ کے مختلف ماحول کے مطابق ہو سکے۔ حکمت عملی لچک کو برقرار رکھتے ہوئے رسک کنٹرول پر مرکوز ہے اور اس کی عملی قدر اچھی ہے۔ مسلسل اصلاح اور بہتری کے ذریعے، اس حکمت عملی سے حقیقی تجارت میں بہتر کارکردگی کی توقع کی جاتی ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Adaptive Momentum Reversion Strategy ", overlay=false, initial_capital=50000, pyramiding=0, commission_type=strategy.commission.cash_per_contract, commission_value=0.05, slippage=1)
// Input: ROC Period
rocPeriod = input.int(2, title="ROC Period", minval=1)
// Input: Bollinger Bands Settings (Lower Band)
bbLowerLength = input.int(18, title="Lower Bollinger Band Length", minval=1)
bbLowerStdDev = input.float(1.7, title="Lower Bollinger Band StdDev", minval=0.1, step=0.1)
// Input: Bollinger Bands Settings (Upper Band)
bbUpperLength = input.int(21, title="Upper Bollinger Band Length", minval=1)
bbUpperStdDev = input.float(2.1, title="Upper Bollinger Band StdDev", minval=0.1, step=0.1)
// ROC Calculation
rocValue = (close - close[rocPeriod]) / close[rocPeriod] * 100
// Bollinger Bands Calculation
bbLowerBasis = ta.sma(rocValue, bbLowerLength) // Basis for Lower Band
bbLower = bbLowerBasis - bbLowerStdDev * ta.stdev(rocValue, bbLowerLength) // Lower Band
bbUpperBasis = ta.sma(rocValue, bbUpperLength) // Basis for Upper Band
bbUpper = bbUpperBasis + bbUpperStdDev * ta.stdev(rocValue, bbUpperLength) // Upper Band
// Plot ROC
plot(rocValue, color=color.blue, linewidth=2, title="ROC Value")
// Plot Bollinger Bands
plot(bbLowerBasis, color=color.gray, linewidth=1, title="Lower BB Basis (SMA)")
plot(bbLower, color=color.green, linewidth=1, title="Lower Bollinger Band")
plot(bbUpperBasis, color=color.gray, linewidth=1, title="Upper BB Basis (SMA)")
plot(bbUpper, color=color.red, linewidth=1, title="Upper Bollinger Band")
// Add Zero Line for Reference
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)
// Entry Condition: Long when ROC crosses above the lower Bollinger Band
longCondition = ta.crossover(rocValue, bbLower)
if (longCondition)
strategy.entry("Long", strategy.long)
// Exit Condition: Exit on Upper Bollinger Band Cross or ROC drops below Lower Band again
exitCondition = ta.crossunder(rocValue, bbUpper)
if (exitCondition)
strategy.close("Long")
// Background Color for Extreme Conditions
bgcolor(rocValue > bbUpper ? color.new(color.red, 80) : na, title="Overbought (ROC above Upper BB)")
bgcolor(rocValue < bbLower ? color.new(color.green, 80) : na, title="Oversold (ROC below Lower BB)")