
यह रणनीति एक्सपोनेंशियल मूविंग एवरेज (ईएमए) क्रॉसओवर पर आधारित एक ट्रेडिंग प्रणाली है, जिसे गतिशील जोखिम प्रबंधन प्राप्त करने के लिए औसत ट्रू रेंज (एटीआर) के साथ जोड़ा गया है। यह रणनीति मूल्य प्रवृत्तियों में गति परिवर्तनों को पकड़ने के लिए अल्पकालिक और दीर्घकालिक ईएमए लाइनों का उपयोग करती है, और लाभ लेने और नुकसान रोकने की स्थिति को गतिशील रूप से निर्धारित करने के लिए एटीआर का उपयोग करती है, जिससे व्यापारिक जोखिमों पर सटीक नियंत्रण प्राप्त होता है।
रणनीति का मुख्य तर्क विभिन्न अवधियों (9 और 21) के दो घातीय चलती औसत के क्रॉसओवर संकेतों पर आधारित है। जब अल्पकालिक ईएमए दीर्घकालिक ईएमए को ऊपर की ओर पार करता है, तो एक दीर्घ संकेत उत्पन्न होता है; जब अल्पकालिक ईएमए दीर्घकालिक ईएमए को नीचे की ओर पार करता है, तो एक लघु संकेत उत्पन्न होता है। जोखिमों को बेहतर ढंग से प्रबंधित करने के लिए, रणनीति 14-अवधि एटीआर पर आधारित एक गतिशील स्टॉप-प्रॉफिट और स्टॉप-लॉस तंत्र पेश करती है। टेक-प्रॉफिट स्तर एटीआर के 2 गुना पर सेट किया गया है, और स्टॉप-लॉस स्तर 1 गुना पर सेट किया गया है एटीआर. यह सेटिंग पर्याप्त लाभ स्थान सुनिश्चित करती है, और समय पर जोखिमों को नियंत्रित कर सकती है।
यह रणनीति क्लासिक ईएमए क्रॉसओवर प्रणाली और गतिशील एटीआर जोखिम प्रबंधन को मिलाकर एक अपेक्षाकृत पूर्ण ट्रेडिंग प्रणाली का निर्माण करती है। इस रणनीति के मुख्य लाभ इसकी गतिशील जोखिम प्रबंधन क्षमताएं और अच्छी प्रवृत्ति-अनुसरण विशेषताएं हैं। सुझाए गए अनुकूलन निर्देशों के माध्यम से, रणनीति में अभी भी और सुधार की गुंजाइश है। वास्तविक समय में लागू किए जाने पर, पर्याप्त बैकटेस्टिंग और पैरामीटर अनुकूलन करने तथा विशिष्ट बाजार विशेषताओं के आधार पर उचित समायोजन करने की सिफारिश की जाती है।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved EMA Crossover Strategy", overlay=true)
// User-defined inputs for EMAs
shortTermLength = input(9, title="Short-Term EMA Length")
longTermLength = input(21, title="Long-Term EMA Length")
// Dynamic Take Profit and Stop Loss
atrLength = input(14, title="ATR Length")
atrMultiplierTP = input(2.0, title="ATR Multiplier for Take Profit")
atrMultiplierSL = input(1.0, title="ATR Multiplier for Stop Loss")
// Calculate EMAs and ATR
shortTermEMA = ta.ema(close, shortTermLength)
longTermEMA = ta.ema(close, longTermLength)
atr = ta.atr(atrLength)
// Plot the EMAs
plot(shortTermEMA, color=color.blue, title="Short-Term EMA")
plot(longTermEMA, color=color.red, title="Long-Term EMA")
// Generate Entry Conditions
longCondition = ta.crossover(shortTermEMA, longTermEMA)
shortCondition = ta.crossunder(shortTermEMA, longTermEMA)
// Optional Debugging: Print conditions (you can remove this later)
var label longLabel = na
var label shortLabel = na
if longCondition
longLabel := label.new(bar_index, high, "Buy Signal", color=color.green, style=label.style_label_down, textcolor=color.white)
if shortCondition
shortLabel := label.new(bar_index, low, "Sell Signal", color=color.red, style=label.style_label_up, textcolor=color.white)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", limit=close + atr * atrMultiplierTP, stop=close - atr * atrMultiplierSL)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", limit=close - atr * atrMultiplierTP, stop=close + atr * atrMultiplierSL)