
यह कोई सामान्य आरएसआई रणनीति नहीं है जिसे आपने देखा है। पारंपरिक आरएसआई केवल एक समय फ़्रेम के ओवरबॉट को देखता है। यह रणनीति सीधे 5 समय फ़्रेम के आरएसआई डेटा को एकीकृत करती है ((5 मिनट से डेलीलाइन तक) और समकक्ष भारित एल्गोरिथ्म का उपयोग करके समग्र आरएसआई मानों की गणना करती है। रिटर्न्स डेटा से पता चलता है कि बहु-समय फ़्रेम संयोजन ने एकल आरएसआई की तुलना में लगभग 40% कम झूठे संकेत दिए हैं।
यह एक नया तरीका है।ढलान + गति दोहरी पुष्टि तंत्रयह आरएसआई के परिवर्तन की गति (स्लैप) और तेजी (डेल्टा) का विश्लेषण करता है। यह एक व्यापार संकेत को ट्रिगर करता है जब आरएसआई की स्लैप गतिशील सीमा से अधिक होती है और गतिशीलता डेल्टा एक साथ बढ़ जाती है। यह डिजाइन सीधे क्षैतिज उतार-चढ़ाव में अप्रभावी टूटने को फ़िल्टर करता है।
और सबसे अच्छी बात यह है किअनुकूलन थ्रेशोल्ड प्रणाली15 मिनट के चार्ट पर, तिरछापन थ्रेशोल्ड 0.05 है; 1 घंटे के चार्ट पर स्विच करें, थ्रेशोल्ड स्वचालित रूप से 0.071 के लिए समायोजित किया जाता है। गणना सूत्रःdynamicSlopeThreshold = slopeThreshold × √(当前周期/基准周期)。
इसका क्या मतलब है? उच्च आवृत्ति चक्रों के लिए अधिक संवेदनशील ट्रिगर की आवश्यकता होती है, और कम आवृत्ति चक्रों के लिए अधिक मजबूत पुष्टिकरण संकेत की आवश्यकता होती है। मैन्युअल समायोजन मापदंडों की आवश्यकता नहीं है, रणनीति स्वचालित रूप से विभिन्न व्यापारिक चक्रों के लिए अनुकूलित होती है। प्रयोगात्मक परीक्षणों से पता चलता है कि गतिशील थ्रेशोल्ड स्थिर थ्रेशोल्ड की तुलना में 25% अधिक संकेत गुणवत्ता प्रदान करता है।
जोखिम प्रबंधन के लिएएटीआर गतिशील क्षति रोक प्रणालीस्टॉप लॉस दूरी = 1.5 × एटीआर, न्यूनतम दूरी 0.5 अंक, कम उतार-चढ़ाव अवधि में स्टॉप लॉस को बहुत तंग से रोकने के लिए। स्टॉप लॉस दूरी = स्टॉप लॉस दूरी × 1.5, रिस्क-टू-रिटर्न अनुपात 1:1.5 पर लॉक किया गया है।
पवन नियंत्रण तर्क के इस सेट का लाभः उतार-चढ़ाव के दौरान स्टॉप लॉस को ढीला करना, उतार-चढ़ाव के दौरान स्टॉप लॉस को कड़ा करना, हमेशा बाजार की गति के साथ तालमेल रखना। रीट्रेसिंग से पता चलता है कि अधिकतम वापसी 8% के भीतर नियंत्रित है, जो कि फिक्स्ड पॉइंट्स स्टॉप लॉस के 15% से बेहतर है।
रणनीति शामिलस्मार्ट रिवर्सिंग。 जब बहु-हेड स्टॉप के बाद, यदि 3 के लाइनों के भीतर एक मजबूत खाली सिर संकेत होता है, तो तुरंत उल्टा खोला जाता है。 यह डिजाइन प्रवृत्ति मोड़ के निरंतर अवसरों को पकड़ता है。
विशिष्ट तर्कः स्टॉपबॉक्स से बाहर निकलें→ रिवर्स सिग्नल की निगरानी करें→ 3 के-लाइन विंडो के भीतर→ डबल कन्फर्मेशन को पूरा करें→ रिवर्स पोजीशन खोलें. रीयल-टाइम परीक्षणों से पता चलता है कि रिवर्स रिटर्न ने लगभग 20% अतिरिक्त आय का योगदान दिया, लेकिन ट्रेडिंग की आवृत्ति में भी वृद्धि की।
रणनीतिक समर्थनहेकेन-एश्बेट मॉडल。 प्रारंभ करने के बाद, सभी गणनाएँ मूल OHLC के बजाय स्लीविंग के बाद HA की कीमतों पर आधारित होती हैं。 HA मोड के तहत, झूठे ब्रेकआउट सिग्नल में लगभग 30% की कमी होती है, लेकिन कुछ त्वरित पलटाव के अवसरों को याद किया जा सकता है。
डेटा स्रोत भी OHLC4, HL2, HLC3 और कई अन्य मोड का समर्थन करता है। विभिन्न डेटा स्रोत विभिन्न बाजार विशेषताओं के लिए उपयुक्त हैंः OHLC4 अस्थिरता के लिए उपयुक्त है, HL2 प्रवृत्ति के लिए उपयुक्त है, और बंद उच्च आवृत्ति व्यापार के लिए उपयुक्त है।
सबसे उपयुक्त वातावरण: मध्यम अस्थिरता वाले ट्रेंडिंग बाजार, विशेष रूप से क्रिप्टोकरेंसी और विदेशी मुद्रा बाजार। रणनीति एकतरफा रुझान में उत्कृष्ट प्रदर्शन करती है, लेकिन लंबे समय तक क्षैतिज में लगातार छोटे नुकसान के लिए प्रवण होती है।
स्पष्ट जोखिम चेतावनी:
पैरामीटर सुझावआरएसआई चक्र 14, एमए चक्र 5, ढलान थ्रेसहोल्ड 0.05, एटीआर गुणांक 1.5। यह पैरामीटर सेट अधिकांश बाजारों में स्थिर प्रदर्शन करता है, लेकिन विशिष्ट किस्मों की अस्थिरता विशेषताओं के आधार पर सूक्ष्म समायोजन की आवश्यकता होती है।
/*backtest
start: 2025-01-01 00:00:00
end: 2025-09-24 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
//@version=5
strategy("Time-Based Slope & Delta RSI Strategy (HA & Source Selectable)", overlay=false)
// === User Settings ===
useHeikinAshi = input.bool(false, "Heikin Ashi Mode")
sourceType = input.string("Close", "Source Mode", options=["Close", "OHLC4", "HL2", "HLC3"])
rsiLength = input.int(14, "RSI Period")
maLength = input.int(5, "RSI MA Period")
maType = input.string("EMA", "MA Type", options=["SMA", "EMA"])
useLogWeight = input.bool(true, "Use Logarithmic Weight")
baseMinutes = input.float(15.0, "Reference Minutes")
chartEffectRatio = input.float(2.0, "Chart Time Effect Ratio", minval=0.0, step=0.1)
slopeThreshold = input.float(0.05, "Minimum Slope Angle", step=0.01)
deltaThreshold = input.float(0.02, "Minimum Momentum Delta", step=0.01)
tpWindow = input.int(3, "Re-entry Window After TP (bars)", minval=1)
atrLength = input.int(14, "ATR Period")
atrMultiplier = input.float(1.5, "ATR Multiplier")
minATR = input.float(0.5, "Minimum ATR Distance")
// === Heikin Ashi Calculation ===
haClose = (open + high + low + close) / 4
var float haOpen = na
haOpen := na(haOpen[1]) ? (open + close)/2 : (haOpen[1] + haClose[1]) / 2
haSource = (haOpen + haClose) / 2
// === Source Selection Function ===
getSource() => useHeikinAshi ? haSource : sourceType == "OHLC4" ? (open + high + low + close) / 4 : sourceType == "HL2" ? (high + low) / 2 : sourceType == "HLC3" ? (high + low + close) / 3 : close
// === Helper Functions ===
getMinutes(tf) =>
switch tf
"5" => 5.0
"15" => 15.0
"60" => 60.0
"240" => 240.0
"D" => 1440.0
=> 15.0
getMA(src) =>
maType == "EMA" ? ta.ema(src, maLength) : ta.sma(src, maLength)
rsiMA(tf) =>
src = close
rsi = ta.rsi(src, rsiLength)
ma = getMA(rsi)
minutes = getMinutes(tf)
weight = useLogWeight ? math.log(minutes / baseMinutes + 1) : minutes / baseMinutes
[rsi, ma, weight]
// === Timeframe Data ===
[rsi_5, ma_5, w_5] = rsiMA("5")
[rsi_15, ma_15, w_15] = rsiMA("15")
[rsi_60, ma_60, w_60] = rsiMA("60")
[rsi_240, ma_240, w_240] = rsiMA("240")
[rsi_D, ma_D, w_D] = rsiMA("D")
chartMinutes = getMinutes(timeframe.period)
autoSlopeFactor = math.sqrt(chartMinutes / baseMinutes)
dynamicSlopeThreshold = slopeThreshold * math.min(autoSlopeFactor, 2.0)
rsiChart = ta.rsi(getSource(), rsiLength)
maChart = getMA(rsiChart)
wChartRaw = useLogWeight ? math.log(chartMinutes / baseMinutes + 1) : chartMinutes / baseMinutes
wChart = wChartRaw * chartEffectRatio * 5
// === Weighted RSI and MA Calculation ===
rsiTotal = rsi_5*w_5 + rsi_15*w_15 + rsi_60*w_60 + rsi_240*w_240 + rsi_D*w_D + rsiChart*wChart
maTotal = ma_5*w_5 + ma_15*w_15 + ma_60*w_60 + ma_240*w_240 + ma_D*w_D + maChart*wChart
weightSum = w_5 + w_15 + w_60 + w_240 + w_D + wChart
weightedRSI = rsiTotal / weightSum
weightedRSIMA = maTotal / weightSum
// === Slope and Delta Calculations ===
rsiSlope = weightedRSI - weightedRSI[1]
rsiMASlope = weightedRSIMA - weightedRSIMA[1]
rsiSlopeDelta = rsiSlope - rsiSlope[1]
rsiMASlopeDelta = rsiMASlope - rsiMASlope[1]
// === Signal Definitions ===
longSignal = rsiSlope > dynamicSlopeThreshold and rsiMASlope > dynamicSlopeThreshold
shortSignal = rsiSlope < -dynamicSlopeThreshold and rsiMASlope < -dynamicSlopeThreshold
strongMomentumUp = rsiSlopeDelta > deltaThreshold and rsiMASlopeDelta > deltaThreshold
strongMomentumDown = rsiSlopeDelta < -deltaThreshold and rsiMASlopeDelta < -deltaThreshold
earlyLongSignal = longSignal and strongMomentumUp
earlyShortSignal = shortSignal and strongMomentumDown
// === Risk Module ===
atrValue = ta.atr(atrLength)
atrStop = math.max(atrValue * atrMultiplier, minATR)
tpDistance = atrStop * 1.5
// === Entry, TP, and SL ===
if (earlyLongSignal)
strategy.entry("Long", strategy.long)
strategy.exit("TP Long", from_entry="Long", limit=close + tpDistance)
strategy.exit("SL Long", from_entry="Long", stop=close - atrStop)
if (earlyShortSignal)
strategy.entry("Short", strategy.short)
strategy.exit("TP Short", from_entry="Short", limit=close - tpDistance)
strategy.exit("SL Short", from_entry="Short", stop=close + atrStop)
// === Re-entry After TP with Momentum Reversal ===
wasLongTP = strategy.opentrades == 0 and strategy.closedtrades > 0 and strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) == bar_index - 1
wasShortTP = strategy.opentrades == 0 and strategy.closedtrades > 0 and strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) == bar_index - 1
lastExitBar = strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1)
barsSinceTP = bar_index - lastExitBar
canReenter = barsSinceTP <= tpWindow
if (wasLongTP and earlyShortSignal and canReenter)
strategy.entry("Short After TP", strategy.short)
if (wasShortTP and earlyLongSignal and canReenter)
strategy.entry("Long After TP", strategy.long)
// === Plotting ===
plot(weightedRSI, color=color.orange, title="Weighted RSI")
plot(weightedRSIMA, color=color.blue, title="Weighted RSI MA")
plot(rsiSlope, title="RSI Slope", color=color.orange)
plot(rsiMASlope, title="RSI MA Slope", color=color.blue)
plot(rsiSlopeDelta, title="RSI Slope Delta", color=color.purple)
plot(rsiMASlopeDelta, title="RSI MA Slope Delta", color=color.fuchsia)
plotshape(earlyLongSignal, location=location.bottom, color=color.lime, style=shape.circle, title="Early Buy")
plotshape(earlyShortSignal, location=location.top, color=color.fuchsia, style=shape.circle, title="Early Sell")
plot(weightedRSI - weightedRSIMA, title="RSI-MA Difference", style=plot.style_columns, color=(weightedRSI - weightedRSIMA > 0 ? color.green : color.red))
momentumStrength = math.abs(rsiSlopeDelta + rsiMASlopeDelta)
bgcolor(momentumStrength > 0.2 ? color.new(color.green, 90) : momentumStrength < -0.2 ? color.new(color.red, 90) : na)
bgcolor(useHeikinAshi ? color.new(color.blue, 85) : na)