
EMA, MACD, RSI, CVD, ATR
روایتی الٹ حکمت عملی صرف ایک یا دو اشارے دیکھتی ہے؟ یہ گیمنگ ہے۔ اس حکمت عملی میں ای ایم اے ٹرینڈ بیک گراؤنڈ ، ایم اے سی ڈی ڈائنامک ٹرانسفارم ، آر ایس آئی اووربائ اوور سیل ، آرڈر فلو تجزیہ کی چار جہتوں کی بیک وقت تصدیق کی ضرورت ہوتی ہے۔ ریٹرننگ کے اعداد و شمار سے پتہ چلتا ہے کہ اس سخت فلٹرنگ میکانزم نے جعلی سگنل فلٹرنگ کی شرح کو 80٪ سے زیادہ تک بڑھا دیا ہے۔
ہر پلٹنا تجارت کے قابل نہیں ہوتا ، صرف چار بار تصدیق شدہ پلٹنا ہی اصلی سونے چاندی کی طرح ہوتا ہے۔
حکمت عملی کی بنیادی جدت آر ایس آئی کے انحراف اور سی وی ڈی (کمپیوٹڈ ٹرانسمیشن ویلیو) تجزیہ کو جوڑنے میں ہے۔ جب قیمت کم ہوتی ہے لیکن آر ایس آئی کم ہونے سے انکار کرتا ہے ، تو ڈیلٹا ایما نے خرید و فروخت کی طاقت میں اضافہ ظاہر کیا ، جو سونے کا ایک جوڑا ہے جس میں نیچے کی طرف مڑ گیا ہے۔ اعداد و شمار سے پتہ چلتا ہے کہ آر ایس آئی کے انحراف کی تصدیق کے ساتھ سگنل کی فتح کا امکان 35٪ زیادہ ہے جو عام طور پر مڑنے والے سگنل سے زیادہ ہے۔
روایتی تکنیکی تجزیہ قیمتوں کو دیکھتا ہے ، ہوشیار تاجر فنڈز کے بہاؤ کو دیکھتا ہے۔
اسٹاپ نقصان کی ترتیب میں 1.5x اے ٹی آر متحرک ایڈجسٹمنٹ کا استعمال کیا گیا ہے ، جس سے اعلی اتار چڑھاؤ کے اوقات میں فکسڈ اسٹاپ نقصانات کو کثرت سے متحرک ہونے سے بچا جاسکتا ہے ، اور اس بات کو یقینی بنایا جاسکتا ہے کہ کم اتار چڑھاؤ کے اوقات میں کافی تحفظ موجود ہے۔ 14 سیکنڈ کے اے ٹی آر کے حساب سے مارکیٹ میں اتار چڑھاؤ کی حقیقی تصویر فراہم کی جاتی ہے ، اور 1.5x فیکٹر ریٹرننگ میں بہترین رسک ٹو ریٹرن دکھاتا ہے۔
مسلسل نقصانات ریورس حکمت عملی کا دشمن ہے اور اس کا واحد علاج سخت نقصانات کو روکنا ہے۔
اس حکمت عملی کے لئے 20 سائیکلوں کی اوسط سے زیادہ ٹرانزیکشن کا 1.3 گنا ہونا ضروری ہے تاکہ سگنل کو موثر قرار دیا جاسکے۔ یہ بظاہر آسان شرط دراصل 70٪ کم معیار کے سگنل کو فلٹر کرتی ہے۔ بغیر ٹرانزیکشن کے ساتھ مل کر الٹنا ، گولیوں کے بغیر بندوق کی طرح ، واقعی بے بس نظر آتا ہے۔
مارکیٹ دھوکہ دے سکتی ہے لیکن حجم نہیں دے سکتا۔ بڑی سرمایہ کاری کا اثر ضرور ہوتا ہے۔
50 سائیکل ای ایم اے وسط مدتی رجحان کا تعین کرتا ہے ، 200 سائیکل ای ایم اے اہم رجحان کی سمت کا تعین کرتا ہے۔ حکمت عملی صرف اس وقت الٹ جانے کا موقع تلاش کرتی ہے جب قیمت ای ایم اے کے قریب یا اس سے کم ہو ، اس طرح کی “پیچھا کرنے والی سمت” کی سوچ نے تجارت کی کامیابی کی شرح کو 45 فیصد سے بڑھا کر 65 فیصد کردیا۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے ، اس طرح کی قیمتوں میں اضافے کی وجہ سے۔
ریٹرننگ سے پتہ چلتا ہے کہ اسٹریٹجی نے ہلچل کے حالات میں نمایاں کارکردگی کا مظاہرہ کیا ، جس میں 70 فیصد سے زیادہ کی ماہانہ کامیابی حاصل کی جاسکتی ہے۔ تاہم ، مضبوط رجحان کی منڈی میں ، الٹ کے اشارے رجحان کی طاقت سے دبے ہوئے ہیں ، اس وقت پوزیشن کو کم کرنا یا استعمال کو روکنا چاہئے۔ 15 سے 25 کے درمیان VIX انڈیکس کے اندر استعمال کرنے کی سفارش کی جاتی ہے۔
حکمت عملی میں ہر چیز کی گنجائش نہیں ہوتی۔ حکمت عملی صرف مخصوص مارکیٹ کے حالات کے لئے موزوں ہوتی ہے۔ اس بات کو تسلیم کرتے ہوئے ، آپ 90٪ تاجروں سے آگے ہیں۔
کسی بھی مقدار کی حکمت عملی میں ناکامی کا خطرہ ہوتا ہے ، خاص طور پر انتہائی مارکیٹ کے حالات میں۔ اس حکمت عملی میں مارچ 2020 اور 2022 میں سود میں اضافے کے دور میں مسلسل نقصان ہوا۔ فنڈ مینجمنٹ کو سختی سے نافذ کرنے کی سفارش کی گئی ہے ، ایک بار میں خطرہ کی کھپت اکاؤنٹ کے 2٪ سے زیادہ نہیں ہے ، اور حکمت عملی کی تاثیر کا باقاعدگی سے جائزہ لیا جاتا ہے۔
/*backtest
start: 2025-12-10 15:15:00
end: 2026-03-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FundedRelay
//@version=6
strategy("4x Reversal Confluence Strategy", overlay=true,
margin_long=100, margin_short=100,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100)
// ────────────────────────────────────────
// INPUTS
// ────────────────────────────────────────
emaShortLen = input.int(50, "EMA Short (context)", minval=20)
emaLongLen = input.int(200, "EMA Long (major trend)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
rsiLen = input.int(14, "RSI Length")
rsiOversold = input.int(35, "RSI Oversold Level")
rsiOverbought = input.int(65, "RSI Overbought Level")
divLookback = input.int(5, "Divergence Lookback Bars", minval=3)
volMult = input.float(1.3,"Volume > Avg Multiplier", minval=1.0)
atrLen = input.int(14, "ATR Length for Stops")
atrMultSL = input.float(1.5,"ATR Stop Multiplier", minval=0.5)
useVolume = input.bool(true, "Require Volume Spike")
// ────────────────────────────────────────
// INDICATORS
// ────────────────────────────────────────
emaShort = ta.ema(close, emaShortLen)
emaLong = ta.ema(close, emaLongLen)
plot(emaShort, "EMA Short", color=color.blue, linewidth=2)
plot(emaLong, "EMA Long", color=color.orange, linewidth=3)
// MACD
[macdLine, signalLine, hist] = ta.macd(close, macdFast, macdSlow, macdSignal)
// RSI
rsi = ta.rsi(close, rsiLen)
// Volume proxy delta
upVol = close > close[1] ? volume : close == close[1] ? volume * 0.5 : 0.0
dnVol = close < close[1] ? volume : close == close[1] ? volume * 0.5 : 0.0
delta = upVol - dnVol
deltaEma = ta.ema(delta, 5)
cvd = ta.cum(delta)
cvdEma = ta.ema(cvd, 21)
// Volume average
volAvg = ta.sma(volume, 20)
// ────────────────────────────────────────
// DIVERGENCE DETECTION
// ────────────────────────────────────────
priceLow = ta.pivotlow(low, divLookback, divLookback)
priceHigh = ta.pivothigh(high, divLookback, divLookback)
rsiLow = ta.pivotlow(rsi, divLookback, divLookback)
rsiHigh = ta.pivothigh(rsi, divLookback, divLookback)
// Bullish RSI divergence
bullRsiDiv = not na(priceLow) and not na(rsiLow) and
low < low[divLookback * 2] and rsi > rsi[divLookback * 2]
// Bearish RSI divergence
bearRsiDiv = not na(priceHigh) and not na(rsiHigh) and
high > high[divLookback * 2] and rsi < rsi[divLookback * 2]
// ────────────────────────────────────────
// BULLISH CONDITIONS
// ────────────────────────────────────────
bullTrendContext = close <= emaShort or close <= emaLong
bullMacd = ta.crossover(macdLine, signalLine) or (hist > hist[1] and hist[1] <= 0)
bullRsi = rsi < rsiOversold or bullRsiDiv or (rsi[1] <= rsiOversold and rsi > rsiOversold)
bullOrderFlow = deltaEma > 0 and deltaEma > deltaEma[1] and cvdEma > cvdEma[1]
bullVolume = not useVolume or volume > volAvg * volMult
bullSignal = bullTrendContext and bullMacd and bullRsi and bullOrderFlow and bullVolume
// ────────────────────────────────────────
// BEARISH CONDITIONS
// ────────────────────────────────────────
bearTrendContext = close >= emaShort or close >= emaLong
bearMacd = ta.crossunder(macdLine, signalLine) or (hist < hist[1] and hist[1] >= 0)
bearRsi = rsi > rsiOverbought or bearRsiDiv or (rsi[1] >= rsiOverbought and rsi < rsiOverbought)
bearOrderFlow = deltaEma < 0 and deltaEma < deltaEma[1] and cvdEma < cvdEma[1]
bearVolume = not useVolume or volume > volAvg * volMult
bearSignal = bearTrendContext and bearMacd and bearRsi and bearOrderFlow and bearVolume
// ────────────────────────────────────────
// ENTRIES
// ────────────────────────────────────────
if bullSignal
strategy.entry("Long", strategy.long)
if bearSignal
strategy.entry("Short", strategy.short)
// ────────────────────────────────────────
// EXITS
// ────────────────────────────────────────
// Close on opposite signal
if bearSignal
strategy.close("Long", comment="Opp Signal → Exit Long")
if bullSignal
strategy.close("Short", comment="Opp Signal → Exit Short")
// Initial ATR stop-loss
atrVal = ta.atr(atrLen)
strategy.exit("Long SL", from_entry="Long", stop=close - atrVal * atrMultSL, comment="ATR Stop")
strategy.exit("Short SL", from_entry="Short", stop=close + atrVal * atrMultSL, comment="ATR Stop")
// ────────────────────────────────────────
// VISUALS
// ────────────────────────────────────────
plotshape(bullSignal, title="Bull Rev", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(bearSignal, title="Bear Rev", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
bgcolor(bullSignal ? color.new(color.green, 92) : na)
bgcolor(bearSignal ? color.new(color.red, 92) : na)
// Debug helpers (uncomment when needed)
//plotshape(bullRsiDiv, "Bull RSI Div", shape.labelup, location.belowbar, color=color.lime, text="Bull Div", size=size.tiny)
//plotshape(bearRsiDiv, "Bear RSI Div", shape.labeldown, location.abovebar, color=color.orange, text="Bear Div", size=size.tiny)