
یہ حکمت عملی ایک ٹریڈنگ سسٹم ہے جو ایک سے زیادہ ٹائم سائیکل تجزیہ پر مبنی ہے اور بنیادی طور پر مرکزی قیمت کی حد (سی پی آر) ، اشاریہ منتقل اوسط (ای ایم اے) اور نسبتا مضبوط اشارے (آر ایس آئی) کا استعمال کرتے ہوئے تجارت کرتی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات اور اہم معاون مزاحمت کی سطح کی نشاندہی کرتی ہے جس میں ڈیلی لائن سی پی آر کی سطح ، ہفتہ وار اوپننگ قیمت اور 20 سائیکل ای ایم اے کا استعمال کیا جاتا ہے ، اور تجارت کو انجام دینے کے لئے حجم کی تصدیق کے ساتھ مل کر۔
اس حکمت عملی کا بنیادی مقصد قیمتوں اور سی پی آر کی سطح کے مابین تعلقات کا تجزیہ کرکے تجارتی مواقع کی تلاش کرنا ہے۔ سی پی آر ایک محور نقطہ (پیوٹ) ، نیچے کی مرکزی لائن (بی سی) اور اوپر کی مرکزی لائن (ٹی سی) پر مشتمل ہے۔ جب قیمتیں ٹی سی کو توڑتی ہیں اور مارکیٹ ایک کثیر سر مرحلے میں ہوتی ہے تو ، نظام ایک کثیر سگنل جاری کرتا ہے۔ جب قیمتیں بی سی کو توڑتی ہیں اور مارکیٹ ایک خالی سر مرحلے میں ہوتی ہے تو ، نظام ایک خالی سگنل جاری کرتا ہے۔ نظام رجحان کے فلٹر کے طور پر 20 سائیکل ای ایم اے کا بھی استعمال کرتا ہے ، اور 20 لائنوں سے زیادہ سائیکلوں میں ٹرانسفر کی ضرورت ہوتی ہے تاکہ اس کی تصدیق کی جاسکے۔ اس کے علاوہ ، حکمت عملی اختیاری طور پر آر ایس آئی کو اضافی تصدیق کے اشارے کے طور پر استعمال کرتی ہے۔
یہ ایک منظم ، منطقی اور واضح رجحان کی پیروی کرنے والی حکمت عملی ہے ، جس میں متعدد تکنیکی اشارے کے مشترکہ استعمال کے ذریعہ تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کیا جاتا ہے۔ حکمت عملی کا بنیادی فائدہ اس کے لچکدار پیرامیٹرز کی ترتیب اور خطرے کے انتظام کا ایک مکمل طریقہ کار ہے ، لیکن اس کے ساتھ ہی تاجروں کو مارکیٹ کے ماحول میں ہونے والی تبدیلیوں پر دھیان دینے اور حکمت عملی کے پیرامیٹرز کو بروقت ایڈجسٹ کرنے کی ضرورت ہے۔ تجویز کردہ اصلاحی سمت کے ذریعہ ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید فروغ دینے کی امید ہے۔
//@version=5
strategy("Ahmad Ali Khan CPR Strategy", overlay=true, margin_long=100, margin_short=100)
// ———— Inputs ————
use_daily_cpr = input.bool(true, "Use Daily CPR Levels")
ema_length = input.int(20, "EMA Trend Filter Length")
show_week_open = input.bool(true, "Show Weekly Open Price")
enable_divergence = input.bool(true, "Enable RSI Divergence Check")
// ———— Daily CPR Calculation ————
daily_high = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
daily_low = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
daily_close = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
pivot = (daily_high + daily_low + daily_close) / 3
bc = (daily_high + daily_low) / 2
tc = pivot + (pivot - bc)
// ———— Weekly Open Price ————
weekly_open = request.security(syminfo.tickerid, "W", open, lookahead=barmerge.lookahead_on)
// ———— Trend Analysis ————
ema_trend = ta.ema(close, ema_length)
market_phase = close > ema_trend ? "Bullish" : "Bearish"
// ———— Momentum Confirmation ————
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
bullish_div = ta.valuewhen(ta.crossover(rsi, 30), low, 0) > ta.valuewhen(ta.crossover(rsi, 30), low, 1)
bearish_div = ta.valuewhen(ta.crossunder(rsi, 70), high, 0) < ta.valuewhen(ta.crossunder(rsi, 70), high, 1)
// ———— Plotting ————
// CPR Levels
plot(pivot, "Pivot", color=color.blue, linewidth=2)
plot(bc, "BC", color=color.red, linewidth=2)
plot(tc, "TC", color=color.green, linewidth=2)
fill(plot(bc), plot(tc), color=color.new(color.purple, 90))
// Weekly Open
plot(show_week_open ? weekly_open : na, "Weekly Open", color=color.orange, linewidth=2)
// EMA Trend
plot(ema_trend, "EMA Trend", color=color.white, linewidth=2)
// ———— Strategy Logic ————
long_condition =
close > tc and
market_phase == "Bullish" and
(not enable_divergence or bullish_div) and
volume > ta.sma(volume, 20)
short_condition =
close < bc and
market_phase == "Bearish" and
(not enable_divergence or bearish_div) and
volume > ta.sma(volume, 20)
// ———— Risk Management ————
cpr_width = tc - bc
stop_loss_long = bc - (0.5 * cpr_width)
take_profit_long = tc + (1.5 * cpr_width)
stop_loss_short = tc + (0.5 * cpr_width)
take_profit_short = bc - (1.5 * cpr_width)
// ———— Execute Orders ————
if long_condition
strategy.entry("Long", strategy.long)
strategy.exit("XL", "Long", stop=stop_loss_long, limit=take_profit_long)
if short_condition
strategy.entry("Short", strategy.short)
strategy.exit("XS", "Short", stop=stop_loss_short, limit=take_profit_short)
// ———— Signal Plotting ————
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)