
এই কৌশলটি একটি ট্রেডিং সিস্টেম যা একাধিক টাইম সাইকেল বিশ্লেষণের উপর ভিত্তি করে, মূলত কেন্দ্রীয় মূল্যের ব্যবধান (CPR), সূচকীয় মুভিং এভারেজ (EMA) এবং অপেক্ষাকৃত শক্তিশালী সূচক (RSI) ব্যবহার করে। এই কৌশলটি বাজার প্রবণতা এবং মূল সমর্থনকারী প্রতিরোধের স্তরগুলি সনাক্ত করতে পারে, যা দৈনিক সিপিআর স্তর, সাপ্তাহিক খোলার মূল্য এবং 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)