
यह एक ट्रेंड ट्रैकिंग रणनीति है जिसमें एक समान रेखा क्रॉस और एक अपेक्षाकृत मजबूत संकेतक ((आरएसआई)) शामिल है। यह रणनीति बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए अल्पकालिक और दीर्घकालिक चलती औसत के क्रॉसिंग का उपयोग करती है, जबकि गतिशीलता फ़िल्टर के रूप में आरएसआई का उपयोग करती है, जिससे ट्रेडिंग सिग्नल की विश्वसनीयता बढ़ जाती है। रणनीति में जोखिम प्रबंधन के लिए प्रतिशत स्टॉप और स्टॉप शामिल हैं।
रणनीति 9 चक्र और 21 चक्र के सरल चलती औसत (एसएमए) का उपयोग करती है, जो मुख्य प्रवृत्ति संकेतक है। जब अल्पकालिक औसत लंबी अवधि के औसत को पार करता है और आरएसआई 50 से अधिक है, तो सिस्टम कई संकेत उत्पन्न करता है; जब अल्पकालिक औसत लंबी अवधि के औसत को पार करता है और आरएसआई 50 से कम है, तो सिस्टम एक शून्य संकेत उत्पन्न करता है। यह डिजाइन व्यापार की दिशा को बाजार की प्रवृत्ति और गतिशीलता के अनुरूप बनाए रखता है। सिस्टम 1% स्टॉप लॉस और 2% स्टॉप स्टॉप सेट करके प्रत्येक व्यापार के लिए जोखिम-लाभ अनुपात को नियंत्रित करता है।
यह एक पूरी तरह से संरचित, तर्कसंगत और स्पष्ट प्रवृत्ति ट्रैकिंग रणनीति है। एक पूर्ण व्यापार प्रणाली बनाने के लिए एक समानांतर क्रॉसिंग के माध्यम से मौलिक प्रवृत्ति की दिशा प्रदान करना, आरएसआई गति की पुष्टि करना और फिर जोखिम प्रबंधन तंत्र के साथ काम करना। हालांकि कुछ अंतर्निहित सीमाएं हैं, लेकिन निरंतर अनुकूलन और समायोजन के माध्यम से, यह रणनीति विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन बनाए रखने की उम्मीद है। रणनीति की सफलता की कुंजी पैरामीटर अनुकूलन और जोखिम नियंत्रण के कार्यान्वयन में है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average Crossover + RSI Strategy", overlay=true, shorttitle="MA RSI Strategy")
// --- Input Parameters ---
shortMA = input.int(9, title="Short MA Period", minval=1)
longMA = input.int(21, title="Long MA Period", minval=1)
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=0, maxval=50)
stopLossPercent = input.float(1, title="Stop Loss Percentage", minval=0.1, maxval=10.0) / 100
takeProfitPercent = input.float(2, title="Take Profit Percentage", minval=0.1, maxval=10.0) / 100
// --- Calculate Moving Averages ---
shortMA_value = ta.sma(close, shortMA)
longMA_value = ta.sma(close, longMA)
// --- Calculate RSI ---
rsi_value = ta.rsi(close, rsiLength)
// --- Buy and Sell Conditions ---
longCondition = ta.crossover(shortMA_value, longMA_value) and rsi_value > 50
shortCondition = ta.crossunder(shortMA_value, longMA_value) and rsi_value < 50
// --- Plot Moving Averages ---
plot(shortMA_value, color=color.blue, linewidth=2, title="Short MA")
plot(longMA_value, color=color.red, linewidth=2, title="Long MA")
// --- Plot RSI (Optional) ---
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi_value, color=color.purple, title="RSI")
// --- Strategy Execution ---
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// --- Risk Management (Stop Loss and Take Profit) ---
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)
// Set the stop loss and take profit for long and short positions
strategy.exit("Long Exit", from_entry="Long", stop=longStopLoss, limit=longTakeProfit)
strategy.exit("Short Exit", from_entry="Short", stop=shortStopLoss, limit=shortTakeProfit)