
یہ حکمت عملی ایک مقداری تجارتی نظام ہے جس میں اوسط واپسی کا اصول تکنیکی اشارے MACD اور ATR کے ساتھ ملایا گیا ہے۔ یہ حکمت عملی بولنگر بینڈ کے ذریعہ قیمت کے انحراف کی نشاندہی کرتی ہے ، MACD کی تصدیق کی حرکیات کا استعمال کرتی ہے ، اور ATR کے ساتھ مل کر متحرک رسک مینجمنٹ کرتی ہے۔ حکمت عملی کا بنیادی خیال یہ ہے کہ جب قیمت میں نمایاں انحراف ہوتا ہے تو ، متعدد تکنیکی اشارے کی توثیق کے ذریعہ قیمت میں واپسی کے مواقع کو پکڑنا ہے۔
اس حکمت عملی میں تین طرح کے تکنیکی اشارے کے ساتھ مل کر کام کرنے کا طریقہ استعمال کیا گیا ہے۔ پہلے ، یہ فیصلہ کرنے کے لئے کہ آیا قیمتوں میں نمایاں انحراف ہے یا نہیں ، بوریل بینڈ کو اوپر اور نیچے کی طرف سے؛ دوسرا ، MACD اشارے کا استعمال کرتے ہوئے قیمت کی نقل و حرکت کی تصدیق کریں ، اس بات کو یقینی بنائیں کہ تجارت کی سمت مارکیٹ کے رجحان سے مطابقت رکھتی ہے۔ آخر میں ، متحرک رکاوٹ اور منافع کی پوزیشن قائم کرنے کے لئے اے ٹی آر اشارے متعارف کروائیں۔ خاص طور پر ، جب قیمت بوریل بینڈ کو نیچے کی طرف سے پار کرتی ہے اور ایم اے سی ڈی لائن سگنل لائن کے اوپر ہوتی ہے تو ، نظام کثیر سگنل پیدا کرتا ہے۔ جب قیمت بوریل بینڈ کو پار کرتی ہے اور ایم اے سی ڈی لائن سگنل لائن کے نیچے ہوتی ہے تو ، نظام خالی سگنل پیدا کرتا ہے۔ اے ٹی آر مارکیٹ کی اتار چڑھاؤ کی متحرک حرکت کے مطابق اسٹاپ نقصان اور منافع کی سطح کو ایڈجسٹ کرنے کے لئے استعمال ہوتا ہے۔
یہ ایک ایسی حکمت عملی ہے جو کلاسیکی تکنیکی تجزیہ کو جدید مقداری تجارتی طریقوں کے ساتھ جوڑتی ہے۔ متعدد اشارے کے ساتھ مل کر استعمال کرنے سے ، اوسط واپسی کی حکمت عملی کے بنیادی فوائد کو برقرار رکھا جاتا ہے اور ایک ہی اشارے کی حدود پر قابو پایا جاتا ہے۔ حکمت عملی کی توسیع پذیری مضبوط ہے ، جس میں پیرامیٹرز کی اصلاح اور فنکشنل ماڈیولز کا اضافہ کیا جاتا ہے ، جس سے مارکیٹ کے مختلف ماحول میں اس کی کارکردگی کو مستقل طور پر بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Mean Reversion with MACD and ATR", overlay=true)
// Nastavenia Bollinger Bands
bbLength = input(20, title="Bollinger Bands Length")
bbMult = input(2, title="Bollinger Bands Multiplier")
basis = ta.sma(close, bbLength)
dev = ta.stdev(close, bbLength)
upperBand = basis + bbMult * dev
lowerBand = basis - bbMult * dev
// MACD indikátor
macdShort = input(12, title="MACD Short Length")
macdLong = input(26, title="MACD Long Length")
macdSignal = input(9, title="MACD Signal Length")
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
// ATR pre dynamický Stop Loss a Take Profit
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
atrValue = ta.atr(atrLength)
// Vstupné podmienky pre long pozície
longCondition = ta.crossover(close, lowerBand) and macdLine > signalLine
if (longCondition)
strategy.entry("Long", strategy.long)
// Vstupné podmienky pre short pozície
shortCondition = ta.crossunder(close, upperBand) and macdLine < signalLine
if (shortCondition)
strategy.entry("Short", strategy.short)
// Dynamický Stop Loss a Take Profit na základe ATR
longSL = strategy.position_avg_price - atrValue * atrMultiplier
longTP = strategy.position_avg_price + atrValue * atrMultiplier * 2
shortSL = strategy.position_avg_price + atrValue * atrMultiplier
shortTP = strategy.position_avg_price - atrValue * atrMultiplier * 2
// Pridanie stop loss a take profit
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Long", stop=longSL, limit=longTP)
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", "Short", stop=shortSL, limit=shortTP)
// Vizualizácia Bollinger Bands a MACD
plot(upperBand, color=color.red, title="Upper Bollinger Band")
plot(lowerBand, color=color.green, title="Lower Bollinger Band")
plot(basis, color=color.blue, title="Bollinger Basis")
hline(0, "MACD Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")
plot(macdLine, color=color.red, title="MACD Line")
plot(signalLine, color=color.green, title="Signal Line")
// Generovanie alertov
alertcondition(longCondition, title="Long Alert", message="Long Entry Signal")
alertcondition(shortCondition, title="Short Alert", message="Short Entry Signal")