
এটি আপনার দেখা সাধারণ আরএসআই কৌশল নয়। প্রচলিত আরএসআই কেবলমাত্র একটি একক সময় ফ্রেমের ওভার-বিক্রয় ওভার-বিক্রয় দেখায়। এই কৌশলটি সরাসরি 5 টি সময় ফ্রেমের আরএসআই ডেটা সংহত করে, প্যারো-ওয়েট অ্যালগরিদম ব্যবহার করে সমন্বিত আরএসআই মান গণনা করে। রিটার্ন ডেটা দেখায় যে একাধিক সময় ফ্রেম সংমিশ্রণটি একক আরএসআইয়ের তুলনায় প্রায় 40% কম মিথ্যা সংকেত দেয়।
মূল উদ্ভাবন হলঢালাই + গতি দ্বিগুণ নিশ্চিতকরণ ব্যবস্থাRSI-র মানের পরিবর্তনকে (স্কেল) এবং ত্বরণকে (ডেল্টা) বিশ্লেষণ করার পরিবর্তে RSI-র পরিবর্তনের গতি (স্কেল) এবং ত্বরণ (ডেল্টা) বিশ্লেষণ করা হয়। যখন RSI স্কেল গতিশীল থ্রেশহোল্ড অতিক্রম করে এবং গতিশীল ডেল্টা একই সাথে প্রসারিত হয়, তখন ট্রেডিং সিগন্যালটি ট্রিগার করা হয়। এই নকশাটি সরাসরি অনুভূমিক অস্থিরতার মধ্যে অকার্যকর বিরতিগুলিকে ফিল্টার করে।
এই কৌশলটি সবচেয়ে স্মার্ট।স্বনির্ধারিত থ্রেশহোল্ড সিস্টেম。 ১৫ মিনিটের চার্টে, তির্যকতার থ্রেশহোল্ড হল ০.০৫; ১ ঘন্টার চার্টে, থ্রেশহোল্ড স্বয়ংক্রিয়ভাবে ০.০৭১ তে সামঞ্জস্য হয় 。 গণনা সূত্রঃdynamicSlopeThreshold = slopeThreshold × √(当前周期/基准周期)。
এর অর্থ কী? উচ্চ ফ্রিকোয়েন্সি চক্রের জন্য আরও সংবেদনশীল ট্রিগার শর্ত প্রয়োজন, নিম্ন ফ্রিকোয়েন্সি চক্রের জন্য আরও শক্তিশালী নিশ্চিতকরণ সংকেত প্রয়োজন। আর ম্যানুয়ালি প্যারামিটার মোডিংয়ের প্রয়োজন নেই, কৌশলটি স্বয়ংক্রিয়ভাবে বিভিন্ন ট্রেডিং চক্রের সাথে খাপ খায়। পরীক্ষামূলকভাবে দেখা গেছে যে গতিশীল থ্রেশহোল্ড স্থির থ্রেশহোল্ডের চেয়ে 25% সংকেত মান উন্নত করে।
ঝুঁকি ব্যবস্থাপনাATR গতিশীল ক্ষতি প্রতিরোধ ব্যবস্থা❚ স্টপ লস = ১.৫×এটিআর, সর্বনিম্ন দূরত্ব ০.৫ পয়েন্ট, কম ওঠানামা সময়ে স্টপ লসকে খুব শক্তভাবে প্রতিরোধ করা। ❚ স্টপ লস = স্টপ লস ×১.৫, ঝুঁকি-লাভের অনুপাত ১ঃ১.৫-এ লক করা হয়েছে।
এই বায়ু নিয়ন্ত্রণ লজিকের সুবিধাগুলিঃ ওভারল্যাপের সময় স্টপ লস প্রশস্ত হয়, ওভারল্যাপের সময় স্টপ লস কঠোর হয়, সর্বদা বাজারের গতির সাথে সমন্বিত থাকে। রিটার্নিং দেখায় যে সর্বাধিক প্রত্যাহার নিয়ন্ত্রণ 8% এর মধ্যে রয়েছে, যা স্থির পয়েন্টের ক্ষতির 15% প্রত্যাহারের চেয়ে অনেক ভাল।
কৌশল অন্তর্ভুক্তস্মার্ট রিভার্স ফাংশন❚ যখন মাল্টি হেড স্টপ হয়, যদি 3 টি কে লাইনের মধ্যে একটি শক্তিশালী খালি হেড সংকেত থাকে, তবে অবিলম্বে খালি খালি। ❚ এই নকশাটি প্রবণতা পাল্টানোর ধারাবাহিক সুযোগকে ক্যাপচার করে।
নির্দিষ্ট লজিকঃ স্টপ ক্যাশ আউট→ মনিটরিং রিভার্সাল সিগন্যাল→ 3 কে লাইনের উইন্ডোর মধ্যে→ ডাবল কনফার্মেশনের শর্ত পূরণ→ রিভার্সাল পোজিশন খোলার। রিয়েল-স্টোর টেস্টিং দেখায় যে রিভার্সাল রিভার্সাল প্রায় 20% অতিরিক্ত উপার্জন অবদান রাখে, তবে ট্রেডিং ফ্রিকোয়েন্সিও বৃদ্ধি করে।
কৌশলগত সহায়তাহাইকান-আশট্যাগ মডেল。 শুরু করার পরে, সমস্ত হিসাব মূল ওএইচএলসির পরিবর্তে মসৃণতার পরে এইচএ দামের উপর ভিত্তি করে করা হয়েছে。 এইচএ মোডে, মিথ্যা-বিঘ্নের সংকেত প্রায় 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)