
এই কৌশলটির কেন্দ্রীয় যুক্তিটি সহজ এবং রুক্ষঃবাজার সবসময় তিনটি ধাপে ঘুরপাক খাচ্ছেঃ জমা করা, পরিচালনা করা এবং বিতরণ করা❚সিআরটি প্যাটার্ন (বিস্তৃত + শক্তিশালী সত্তা + উচ্চ লেনদেনের পরিমাণ) হ’ল মূলধনের মূলধন, এবং পর্যায় সনাক্তকরণ অ্যালগরিদমগুলি বাজার টার্নপয়েন্টগুলিকে আগে থেকেই সনাক্ত করতে পারে। ❚ব্যাক-টেস্টিং ডেটা দেখায় যে সঠিকভাবে ম্যানিপুলেশন পর্যায়টি সনাক্ত করার ক্ষেত্রে সাফল্যের হার 65% এর বেশি হতে পারে।
প্যারামিটার সেটিং এর সঠিকতা হল মূল বিষয়ঃ 20 চক্রের গড় লাইন ট্রেন্ড ক্যাপচার, 1.6 গুণ পরিসীমা গুণিতক শব্দ ফিল্টার, 1.5 গুণিতক ট্র্যাফিক গুণিতক নিশ্চিতকরণ তহবিল প্রবাহ। এটি মাথাব্যথার সংখ্যা নয়, বরং প্রচুর ঐতিহাসিক তথ্যের উপর ভিত্তি করে অপ্টিমাইজেশনের ফলাফল।
ধারাবাহিকতা: দাম ৫০ চক্রের নিম্নতমের কাছাকাছি, ওঠানামা ৬০% হ্রাস পেয়েছে, যা মূলত একটি পজিশন তৈরির সংকেত। প্রচলিত বিশ্লেষকরা এখনও “সমর্থন” দেখছেন, স্মার্ট টাকাটি শুরু হয়েছে।
ম্যানিপুলেশন পর্যায়: লম্বা ছায়া রেখা ১.২ গুণ বেশি + লেনদেনের পরিমাণ ১.৫ গুণ বেশি + সূর্যাস্তের রেখা, এটি একটি আদর্শ “ঝাঁকুনি স্টোর ওয়াশিং প্লেট”। যখন খুচরা বিক্রেতাদের ভয় দেখানো হয়, তখনই প্রবেশের সেরা সময়।
বিতরণ পর্যায়: দাম ঐতিহাসিক উচ্চতার কাছাকাছি, অস্থিরতা সঙ্কুচিত হয়েছে, প্রধানত চালান শুরু হয়েছে।
এই অ্যালগরিদমের সুবিধা হলকোয়ান্টামাইজেশনএই পদ্ধতিতে, একটি ধাপে রূপান্তর ট্রিগার করা হয় যখন মানটি গড় তরঙ্গদৈর্ঘ্যের 60% এর চেয়ে কম হয়, যা খালি চোখে পর্যবেক্ষণের চেয়ে 30% বেশি নির্ভুল।
মার্কেটের ৯৯% কৌশলই হ্রাস-হ্রাসের দিকে ধাবিত হয়, আর সিআরটি তত্ত্ব ঠিক উল্টোটা করে।বিস্তৃত ব্যাপ্তি ছায়া ((≥ ২০ চক্রের গড় মানের ১.৬ গুণ) + শক্তিশালী সত্তা ((≥ মোট ব্যাপ্তি ৪৫%) + ছোট ছায়া রেখা ((≤ সত্তা ২৫%)এই তিনটি শর্ত একসাথে পূরণ হওয়ার সম্ভাবনা ৫% এরও কম, তবে একবার দেখা দিলে তা অত্যন্ত সম্ভাবনাময়।
পরিসংখ্যান আমাদের বলে যে, ১.৫ গুণের বেশি স্ট্যান্ডার্ড ডিভেরিয়েন্সের ঘটনাগুলি অল্প সম্ভাব্যতার ঘটনা, এবং ১.৬ গুণ অস্বাভাবিক ওঠানামা ধরা এবং অত্যধিক সংবেদনশীলতা এড়ানোর মধ্যে সর্বোত্তম ভারসাম্য।
৪৫% এর বেশি হ’ল এক পক্ষ অন্য পক্ষকে সম্পূর্ণভাবে দমন করে এবং এই ধরণের সংঘর্ষের সর্বাধিক ধারাবাহিকতা রয়েছে।
এই কৌশলটির সবচেয়ে চমৎকার অংশ হলম্যানিপুলেশন টেস্টিং অ্যালগরিদম☞ ৯৯% খুচরা বিক্রেতা আতঙ্কিত হবে যখন তারা দেখবে যে তাদের ছায়া ১.২ গুণ বেশি বড়, কিন্তু এটা আসলে তাদের “মিথ্যা পদক্ষেপ”। ☞
শনাক্তকরণের শর্তঃ
এই সংমিশ্রণটির সাহায্যে, মিথ্যা সংকেত হার ১৫% এর নিচে নিয়ন্ত্রণ করা হয়। প্রচলিত “মালিকানা” সনাক্তকরণের নির্ভুলতা মাত্র ৪০% এবং সিআরটি ম্যানিপুলেশন সিগন্যালের নির্ভুলতা ৮৫%।
এই নীতিতে কঠোর বায়ু নিয়ন্ত্রণ ব্যবস্থা রয়েছেঃস্টপ লস ২০০, স্টপ লস ১০০, উইন্ড রিটার্ন ২ঃ১│ এটি কোন এলোমেলো সেটিং নয়, বরং বাজারের অস্থিরতার উপর ভিত্তি করে সর্বোত্তম কনফিগারেশন │
এবং সবচেয়ে বড় কথা,সমান্তরাল পজিশন ম্যানিপুলেশন
কিন্তু এটা স্পষ্ট হওয়া দরকারঃকৌশলগত ক্ষতির ঝুঁকি, বিশেষ করে চরম অস্থিরতার সময়ে. ইতিহাসের পুনর্বিবেচনা দেখায় যে সর্বোচ্চ পাঁচটি ধারাবাহিক ক্ষতি হতে পারে। তহবিল ব্যবস্থাপনাকে অবশ্যই একক ঝুঁকিকে মোট তহবিলের ২% এর মধ্যে নিয়ন্ত্রণ করতে হবে।
কৌশলট্রেন্ডিং মার্কেটমুরগি এবং মুরগির পরিবর্তনের সময়, মুরগি এবং মুরগির পরিবর্তনের সময়, মুরগি এবং মুরগির পরিবর্তনের সময়, মুরগির পরিবর্তনের সময়, মুরগির পরিবর্তনের সময়, মুরগির পরিবর্তনের সময়, মুরগির পরিবর্তনের সময়।ডায়াগনস্টিকএই সময়কালে, সাফল্যের হার প্রায় ৫০ শতাংশে নেমে আসে।
কোন পরিস্থিতিতে:
সর্বোত্তম ব্যবহারের পরিবেশ:
বৈদেশিক মুদ্রার বাজার: ডিফল্ট প্যারামিটার বজায় রাখা হয়েছে, কিন্তু ট্র্যাফিকের গুণিতক 1.3 গুণ করা যাবে শেয়ার ইন্ডেক্স ফিউচারআরও বেশি শব্দ ফিল্টার করার জন্য স্পেসিফিকেশন 1.8 গুণ বাড়ানো হয়েছে ক্রিপ্টোকারেন্সি: সমস্ত গুণিতক গুণিতক × ১.২, উচ্চ ওভারল্যাপিং পরিবেশে অভিযোজিত
মনে রাখবেনঃইতিহাসের পুনরাবৃত্তি ভবিষ্যতের উপার্জনকে বোঝায় নাযে কোনও কৌশলকে রিয়েল-স্টোরে যাচাই করা দরকার। এটি 3 মাসের জন্য সর্বনিম্ন পজিশনের সাথে পরীক্ষা করার পরামর্শ দেওয়া হয়, কৌশলটি উপযুক্ত কিনা তা নিশ্চিত করার পরে ধীরে ধীরে পজিশন বাড়ানো হয়।
/*backtest
start: 2024-09-29 00:00:00
end: 2025-09-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Bybit","currency":"ETH_USDT","balance":500000}]
*/
//@version=5
strategy("CRT Theory — CRT Candle + Phases (configurable)", overlay=true, margin_long=100, margin_short=100)
// ---------------------- INPUTS ----------------------
rangeLen = input.int(20, "Avg Range Length (bars)")
volLen = input.int(20, "Avg Volume Length (bars)")
rangeMult = input.float(1.6, "Range Multiplier for CRT candle", step=0.1)
volMult = input.float(1.5, "Volume Multiplier for CRT candle", step=0.1)
bodyRatio = input.float(0.45, "Min body / range (CRT candle)", step=0.01)
wickRatio = input.float(0.25, "Max wick (each) relative to body (CRT candle)", step=0.01)
manipWickRatio = input.float(1.2, "Manipulation (shakeout) wick ratio (wick > body * x)", step=0.1)
accumLen = input.int(10, "Accumulation lookback length (bars)")
distLen = input.int(10, "Distribution lookback length (bars)")
accLowVolFactor = input.float(0.6, "Accumulation: stdev(range) < avgRange * factor", step=0.05)
distLowVolFactor= input.float(0.6, "Distribution: stdev(range) < avgRange * factor", step=0.05)
phaseLookback = input.int(50, "Phase detection lookback (bars)")
enableLongs = input.bool(true, "Enable long entries on Manipulation bullish signal")
enableShorts = input.bool(false, "Enable short entries on Distribution bearish signal")
takeProfitPips = input.float(200.0, "TP (pips / points)", step=1)
stopLossPips = input.float(100.0, "SL (pips / points)", step=1)
// ---------------------- BASICS ----------------------
range_val = high - low
avgRange = ta.sma(range_val, rangeLen)
stdevRange = ta.stdev(range_val, rangeLen)
avgVol = ta.sma(volume, volLen)
// candle geometry
candleBody = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low // positive value
// Avoid NaN negatives
lowerWick := math.max(lowerWick, 0.0)
// ---------------------- CRT CANDLE DETECTION ----------------------
// Criteria for a CRT (wide, strong-bodied, reasonable wicks, volume spike)
isWideRange = range_val >= avgRange * rangeMult
isBigBody = candleBody >= range_val * bodyRatio
smallWicks = (upperWick <= candleBody * wickRatio) and (lowerWick <= candleBody * wickRatio)
volSpike = volume >= avgVol * volMult
isCRT = isWideRange and isBigBody and smallWicks and volSpike
// Mark CRT bullish vs bearish
isCRTBull = isCRT and close > open
isCRTBear = isCRT and close < open
// Plot CRT candle label
plotshape(isCRT, title="CRT Candle", style=shape.labelup, text="CRT", textcolor=color.white, location=location.abovebar, size=size.tiny, color=isCRTBull ? color.new(color.green, 5) : color.new(color.red, 5))
// Outline CRT candles visually by coloring candle bodies (optional)
barcolor(isCRTBull ? color.new(color.green, 80) : isCRTBear ? color.new(color.red, 80) : na)
// ---------------------- PHASE DETECTION HEURISTICS ----------------------
// ACCUMULATION:
// - Low volatility for a stretch (stdev(range) small relative to avgRange)
// - Price is near a recent local low (we check rolling lowest close within some window)
accWindowRange = ta.sma(range_val, accumLen)
acc_stdev = ta.stdev(range_val, accumLen)
priceNearLow = close <= ta.lowest(close, phaseLookback) * 1.005 // within 0.5% of recent low
isAccumulation = (acc_stdev < accLowVolFactor * accWindowRange) and priceNearLow
// DISTRIBUTION:
// - Low volatility near a recent high
distWindowRange = ta.sma(range_val, distLen)
dist_stdev = ta.stdev(range_val, distLen)
priceNearHigh = close >= ta.highest(close, phaseLookback) * 0.995
isDistribution = (dist_stdev < distLowVolFactor * distWindowRange) and priceNearHigh
// MANIPULATION (shakeout):
// - big spike down wick (or up wick for bearish shakeout) with rejection
// - lowerWick significantly larger than body (for bullish manipulation shakeout)
// - range and volume spike accompany it
manipLowerWick = lowerWick > candleBody * manipWickRatio
manipUpperWick = upperWick > candleBody * manipWickRatio
manipRangeSpike = range_val >= avgRange * (rangeMult * 0.9)
manipVolSpike = volume >= avgVol * volMult
isBullishManipulation = manipLowerWick and manipRangeSpike and manipVolSpike and close > open
isBearishManipulation = manipUpperWick and manipRangeSpike and manipVolSpike and close < open
// We treat "manipulation" as any of the above within the lookback zone
isManipulation = isBullishManipulation or isBearishManipulation
// ---------------------- PHASE LABELING / STATE ----------------------
// We'll create a rolling phase state with priority: Manipulation (immediate) > Accumulation/Distribution > none
var int phase = 0 // 0 = none, 1 = Accumulation, 2 = Manipulation, 3 = Distribution
// Update phase each bar
if isManipulation
phase := 2
else
if isAccumulation
phase := 1
else
if isDistribution
phase := 3
else
// decay: if previously in phase and conditions still somewhat hold, keep for a few bars
phase := nz(phase[1])
// Background shading
bgColor = phase == 1 ? color.new(color.green, 90) : phase == 2 ? color.new(color.yellow, 90) : phase == 3 ? color.new(color.red, 90) : na
bgcolor(bgColor)
// Draw phase labels on chart
var label phaseLbl = na
if barstate.islast
label.delete(phaseLbl)
phaseTxt = switch phase
1 => "ACCUMULATION"
2 => "MANIPULATION"
3 => "DISTRIBUTION"
=> "—"
phaseLbl := label.new(bar_index, high, text=phaseTxt, style=label.style_label_left, color=color.black, textcolor=color.white, size=size.small)
// Small marker for manipulation type
plotshape(isBullishManipulation, title="Bullish Shakeout", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, text="Shake")
plotshape(isBearishManipulation, title="Bearish Shakeout", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, text="Shake")
// ---------------------- STRATEGY RULES (simple examples) ----------------------
// Long entry: when bullish manipulation (shakeout) occurs in/after accumulation (typical CRT long setup)
enterLong = enableLongs and isBullishManipulation and (phase == 1 or phase == 2)
// Short entry: bearish manipulation in/after distribution
enterShort = enableShorts and isBearishManipulation and (phase == 3 or phase == 2)
// Money management: convert pips/points to price distance
tp = takeProfitPips * syminfo.mintick
sl = stopLossPips * syminfo.mintick
if enterLong
strategy.entry("CRT Long", strategy.long)
strategy.exit("ExitLong", "CRT Long", stop=close - sl, limit=close + tp)
if enterShort
strategy.entry("CRT Short", strategy.short)
strategy.exit("ExitShort", "CRT Short", stop=close + sl, limit=close - tp)
// Optionally add conservative exit: if opposite manipulation occurs
if strategy.position_size > 0 and isBearishManipulation
strategy.close("CRT Long", comment="Opposite Manipulation")
if strategy.position_size < 0 and isBullishManipulation
strategy.close("CRT Short", comment="Opposite Manipulation")
// ---------------------- VISUAL DEBUG INFO ----------------------
plot(avgRange, title="Avg Range", linewidth=1)
plot(avgVol, title="Avg Vol", linewidth=1, style=plot.style_areabr)