
यह रणनीति एक प्रवृत्ति-अनुसरण व्यापार प्रणाली है जो सापेक्ष शक्ति सूचकांक (आरएसआई), भारित मूविंग औसत (डब्ल्यूएमए) और घातीय मूविंग औसत (ईएमए) को जोड़ती है। यह रणनीति प्रवृत्ति मोड़ पर बाजार की गति में परिवर्तन को पकड़ने के लिए समन्वय में कई तकनीकी संकेतकों का उपयोग करती है, जिससे व्यापारिक संकेत उत्पन्न होते हैं। यह प्रणाली प्रवृत्ति की दिशा की पुष्टि करने के लिए WMA और EMA के क्रॉसओवर का उपयोग करती है, तथा लेनदेन की सटीकता में सुधार करने के लिए बाजार की स्थिति को फ़िल्टर करने के लिए RSI संकेतक को जोड़ती है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह कई तकनीकी संकेतकों पर आधारित एक ट्रेंड ट्रैकिंग रणनीति है। RSI, WMA और EMA के समन्वित उपयोग के माध्यम से, यह ट्रेडिंग स्थिरता सुनिश्चित करते हुए बाजार के ट्रेंड टर्निंग पॉइंट को पकड़ने का प्रयास करता है। यद्यपि इसमें कुछ हिस्टैरिसीस और झूठे संकेत जोखिम हैं, लेकिन उचित अनुकूलन और जोखिम प्रबंधन उपायों के माध्यम से, इस रणनीति का अच्छा व्यावहारिक मूल्य और विस्तार स्थान है।
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true)
// RSI Settings
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
// WMA and EMA Settings
wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings")
wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings")
emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings")
emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings")
// RSI Calculation
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// WMA and EMA Calculation
wma = ta.wma(rsi, wmaLengthInput)
ema = ta.ema(rsi, emaLengthInput)
// RSI Color Logic
rsiColor = rsi > 70 ? color.new(color.green, 100 - math.round(rsi)) : rsi < 30 ? color.new(color.red, math.round(rsi)) : color.new(color.blue, 50)
// Plot RSI, WMA, and EMA
plot(rsi, "RSI", color=rsiColor)
plot(wma, title="WMA", color=wmaColorInput, linewidth=2)
plot(ema, title="EMA", color=emaColorInput, linewidth=2)
// Highlight RSI Area between 30 and 70
bgcolor(rsi >= 30 and rsi <= 70 ? color.new(color.blue, 90) : na)
// Entry and Exit Conditions
longCondition = ta.crossover(wma, ema) and rsi < 50
shortCondition = ta.crossunder(wma, ema) and rsi > 50
if (longCondition)
strategy.entry("Long", strategy.long)
alert("Buy Signal: WMA crossed above EMA, RSI < 50", alert.freq_once_per_bar)
if (shortCondition)
strategy.entry("Short", strategy.short)
alert("Sell Signal: WMA crossed below EMA, RSI > 50", alert.freq_once_per_bar)
// Optional: Plot Buy/Sell Signals on Chart
plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")