
यह एक मात्रात्मक ट्रेडिंग रणनीति है जिसमें सूचकांक चलती औसत (EMA) क्रॉस और औसत वास्तविक तरंगता (ATR) फ़िल्टर शामिल हैं। यह रणनीति मजबूत रुझानों की पहचान करके और उच्च अस्थिरता वाले बाजार के वातावरण में व्यापार करके रणनीति के शार्प अनुपात और समग्र प्रदर्शन को प्रभावी ढंग से बढ़ाती है। रणनीति मध्यम और दीर्घकालिक रुझानों को पकड़ने के लिए 50 चक्र और 200 चक्र ईएमए का उपयोग करती है, जबकि एटीआर सूचकांक का उपयोग बाजार की अस्थिरता का आकलन करने के लिए किया जाता है।
रणनीति के मुख्य तर्क में दो मुख्य भाग होते हैंः रुझान निर्णय और अस्थिरता फ़िल्टर। रुझान निर्णय के मामले में, रणनीति 50 चक्र ईएमए का उपयोग तेज लाइन के रूप में करती है, 200 चक्र ईएमए धीमी लाइन के रूप में, जब तेज लाइन धीमी लाइन को पार करती है तो एक मल्टी सिग्नल उत्पन्न करती है, और जब नीचे जाती है तो एक रिक्त सिग्नल उत्पन्न करती है। अस्थिरता फ़िल्टर के मामले में, रणनीति 14 चक्र के एटीआर मूल्य की गणना करती है और इसे कीमत के प्रतिशत में परिवर्तित करती है, केवल जब एटीआर प्रतिशत पूर्वनिर्धारित मूल्य सीमा से अधिक होता है (मूक 2%) तो स्थिति खोलने की अनुमति होती है। यह डिजाइन सुनिश्चित करता है कि रणनीति केवल बाजार के वातावरण में व्यापार करती है जिसमें पर्याप्त अस्थिरता होती है, जो अस्थिर बाजारों में झूठे संकेतों को प्रभावी ढंग से कम करती है।
यह एक रणनीति है जो क्लासिक तकनीकी संकेतकों को आधुनिक जोखिम प्रबंधन अवधारणाओं के साथ जोड़ती है। ईएमए के माध्यम से क्रॉस-कैप्चर रुझानों के साथ-साथ एटीआर फिल्टर का उपयोग करके ट्रेडिंग समय को नियंत्रित करने के लिए, रणनीति को सरल बनाए रखने के साथ-साथ मजबूत व्यावहारिकता भी है। हालांकि कुछ अंतर्निहित जोखिम हैं, उचित अनुकूलन और जोखिम प्रबंधन उपायों के साथ, रणनीति अभी भी बेहतर आवेदन मूल्य है। व्यापारियों को सलाह दी जाती है कि वे विशिष्ट बाजार विशेषताओं और अपनी जोखिम वरीयताओं के अनुसार उचित पैरामीटर को वास्तविक अनुप्रयोग में समायोजित करें।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover with ATR Filter", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs for Moving Averages
fastLength = input.int(50, title="Fast EMA Length")
slowLength = input.int(200, title="Slow EMA Length")
// Inputs for ATR Filter
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
atrThreshold = input.float(0.02, title="ATR Threshold (%)")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate ATR
atr = ta.atr(atrLength)
// Convert ATR to a percentage of price
atrPct = atr / close
// Define Long Condition (Cross and ATR filter)
longCondition = ta.crossover(fastEMA, slowEMA) and atrPct > atrThreshold / 100
// Define Short Condition
shortCondition = ta.crossunder(fastEMA, slowEMA) and atrPct > atrThreshold / 100
// Define Exit Conditions
exitConditionLong = ta.crossunder(fastEMA, slowEMA)
exitConditionShort = ta.crossover(fastEMA, slowEMA)
// Long Entry
if (longCondition)
strategy.entry("Long", strategy.long)
// Short Entry
if (shortCondition)
strategy.entry("Short", strategy.short)
// Long Exit
if (exitConditionLong)
strategy.close("Long")
// Short Exit
if (exitConditionShort)
strategy.close("Short")
// Plot EMAs for visual reference
plot(fastEMA, title="50 EMA", color=color.blue)
plot(slowEMA, title="200 EMA", color=color.red)
// Plot ATR for reference
plot(atrPct, title="ATR Percentage", color=color.orange, style=plot.style_line)
hline(atrThreshold / 100, "ATR Threshold", color=color.green)