
इस रणनीति का मूल तर्क सरल और स्पष्ट हैःबाजार हमेशा तीन चरणों में घूमता रहता है: जमा करना, चलाना और बांटना❚ CRT (चौड़ाई + मजबूत इकाई + उच्च लेनदेन मात्रा) मुख्य पूंजी की अंगूठी है, जबकि चरण पहचान एल्गोरिदम अग्रिम रूप से बाजार के मोड़ को पहचानने में सक्षम है ❚ रीमेक डेटा से पता चलता है कि सही ढंग से पहचानने वाले चरणों के मामले में जीत की दर 65% से अधिक हो सकती है ❚
यह पैरामीटर सेटिंग की सटीकता पर निर्भर करता हैः 20 चक्रों की औसत रेखा प्रवृत्ति को पकड़ने के लिए, 1.6 गुना रेंज गुणांक शोर को फ़िल्टर करने के लिए, और 1.5 गुना पारगमन गुणांक धन प्रवाह की पुष्टि करने के लिए। यह सिर पर टैप करने वाला आंकड़ा नहीं है, बल्कि बड़े पैमाने पर ऐतिहासिक डेटा के अनुकूलन के परिणामस्वरूप है।
संचय चरण: कीमतें 50 चक्रों के निचले स्तर के करीब हैं, उतार-चढ़ाव में 60% की गिरावट आई है, जो मुख्य रूप से स्टॉक बनाने के लिए संकेत है। पारंपरिक विश्लेषकों ने अभी भी “सहायता” देखा है, और स्मार्ट पैसे का निर्माण शुरू हो गया है।
युद्धाभ्यासयह एक प्रकार का “भंडार धोने का बर्तन” है। जब खुदरा विक्रेताओं को डर लगता है, तो यह सबसे अच्छा समय है।
वितरण चरणइस समय, कीमतें ऐतिहासिक ऊंचाई के करीब हैं, उतार-चढ़ाव कम हो गया है, और शिपमेंट शुरू हो गया है।
और यह है किमात्रात्मक पहचानचरण परिवर्तन को तब ट्रिगर किया जाता है जब मानक औसत तरंग दैर्ध्य से 60% कम होता है, जो नग्न आंखों की तुलना में 30% अधिक सटीकता है।
बाजार में 99 प्रतिशत रणनीतियाँ मंदी को रोकती हैं, सीआरटी सिद्धांत इसके विपरीत है।चौड़ी-चौड़ाई की लकीर (≥ 20 चक्र औसत मूल्य का 1.6 गुना) + मजबूत इकाई (≥ कुल चौड़ाई का 45%) + छोटी छाया रेखा (≤ इकाई का 25%)इन तीनों शर्तों के साथ मिलने की संभावना 5% से भी कम है, लेकिन एक बार जब यह हो जाता है, तो यह बहुत ही दिशात्मक होता है।
सांख्यिकी हमें बताती है कि 1.5 गुना से अधिक मानक विचलन की घटनाएं कम संभावना वाली घटनाएं हैं, और 1.6 गुना असामान्य उतार-चढ़ाव को पकड़ने और अतिसंवेदनशीलता से बचने के बीच सबसे अच्छा संतुलन है।
क्यों संस्थाओं 45%? संस्थाओं के अनुपात में बहुआयामी शक्ति के मुकाबले को दर्शाता है, 45% से अधिक का मतलब है कि एक पूरी तरह से दूसरे पर हावी है, और इस तरह के संघर्ष की सबसे मजबूत निरंतरता है।
इस रणनीति का सबसे अच्छा हिस्सा यह हैमैनिपुलेट टेस्टिंग एल्गोरिदम99 प्रतिशत खुदरा विक्रेता घबरा जाते हैं जब छायांक रेखा वास्तविकता के 1.2 गुना से अधिक होती है, लेकिन यह मुख्य शक्ति का “झूठा कदम” है।
विशिष्ट पहचान की शर्तें:
इस संयोजन के तहत, झूठे संकेतों की दर को 15% से कम पर नियंत्रित किया जाता है। पारंपरिक “टारगेट” पहचान की सटीकता केवल 40% है, जबकि सीआरटी संचालित संकेतों की सटीकता 85% तक पहुंच गई है।
इस नीति में सख्त वेंटिलेशन तंत्र शामिल हैं:स्टॉप 200 और स्टॉप 100 के साथ, 2 पर 1 का अनुपात│ यह एक आकस्मिक सेटिंग नहीं है, लेकिन बाजार की अस्थिरता के आधार पर इष्टतम विन्यास है │
और सबसे महत्वपूर्ण बात,समानांतर पोजीशन तंत्रयह रणनीति बाजार में उतार-चढ़ाव के दौरान भी स्थिर रहने के लिए डिज़ाइन की गई है।
लेकिन यह स्पष्ट होना चाहिएःरणनीति में निरंतर घाटे का जोखिम, विशेष रूप से चरम अस्थिरता की स्थिति में. ऐतिहासिक समीक्षा से पता चलता है कि अधिकतम लगातार नुकसान 5 बार हो सकता है, धन प्रबंधन को कुल धन के 2% के भीतर एक बार के जोखिम को नियंत्रित करना होगा.
रणनीति मेंस्पष्ट रुझान बाजारसबसे अच्छा प्रदर्शन, बैल और भालू संक्रमण जीतने की दर 70% तक पहुंच सकती है।क्षैतिज संगठित करेंइस अवधि के दौरान औसत प्रदर्शन, जीत की दर लगभग 50% तक गिर जाएगी।
अनुपयुक्त परिदृश्य:
इष्टतम वातावरण:
विदेशी मुद्रा बाजार: डिफ़ॉल्ट पैरामीटर को बनाए रखें, लेकिन पारगमन गुणांक को 1.3 गुना तक समायोजित करें स्टॉक इंडेक्स वायदाअधिक शोर को फ़िल्टर करने के लिए 1.8 गुना तक की वृद्धि क्रिप्टोकरेंसी: सभी गुणांक × 1.2 उच्च अस्थिरता के लिए अनुकूलित
याद रखें:ऐतिहासिक समीक्षा भविष्य के लाभ का प्रतिनिधित्व नहीं करती हैकिसी भी रणनीति को वास्तविक दुनिया में सत्यापित करने की आवश्यकता होती है। यह सलाह दी जाती है कि न्यूनतम स्थिति के साथ 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)