ईएमए और एसएमए क्रॉसओवर पर आधारित रुझान उलटने की रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-04 17:59:04
टैगः

img

अवलोकन

इस रणनीति का उद्देश्य 20 अवधि के घातीय चलती औसत (ईएमए) और 20 अवधि के सरल चलती औसत (एसएमए) के बीच क्रॉसओवर का निरीक्षण करके संभावित रुझान उलट बिंदुओं की पहचान करना है। यह क्रॉसओवर की दिशा के आधार पर लंबा या छोटा जाने का निर्णय लेता है।

रणनीति तर्क

  1. जब 20 पीरियड ईएमए 20 पीरियड एसएमए से ऊपर पार हो जाता है और समापन मूल्य 20 पीरियड ईएमए से ऊपर हो जाता है, तो लॉन्ग करें।
  2. जब 20 पीरियड ईएमए 20 पीरियड एसएमए से नीचे जाता है और समापन मूल्य 20 पीरियड ईएमए से नीचे होता है, तो शॉर्ट करें।
  3. लंबी पोजीशनों के लिए, जब 20 पीरियड का ईएमए 20 पीरियड के एसएमए से नीचे जाता है, तब ट्रेड को बंद करें।
  4. शॉर्ट पोजीशन के लिए, जब 20 पीरियड का ईएमए 20 पीरियड के एसएमए से ऊपर जाता है, तब ट्रेड को बंद कर दें।

इस रणनीति में चलती औसत क्रॉसओवर का पता लगाने के लिए ta लाइब्रेरी से क्रॉसओवर और क्रॉसअंडर फ़ंक्शंस का उपयोग किया गया है।

लाभ विश्लेषण

रणनीति में चलती औसत की प्रवृत्ति के बाद की क्षमता और क्रॉसओवर घटनाओं के संकेत उत्पन्न करने का संयोजन है, जिसमें निम्नलिखित लाभ हैंः

  1. चलती औसत प्रभावी रूप से कुछ बाजार शोर को फ़िल्टर कर सकते हैं और मध्यम से दीर्घकालिक रुझानों की पहचान कर सकते हैं।
  2. क्रॉसओवर का संचालन करना आसान है और बाजार गति में बदलाव को स्पष्ट रूप से पहचानते हैं।
  3. 20 अवधि के पैरामीटर को अक्सर समायोजन की आवश्यकता के बिना अधिकांश शेयरों और समय सीमाओं के लिए अच्छी तरह से काम करता है।
  4. ईएमए के संबंध में समापन मूल्य का उपयोग करने से कुछ झूठे संकेतों से बचा जा सकता है।
  5. नियम सरल और समझने में आसान हैं, जो कम परिष्कृत निवेशकों के लिए उपयुक्त हैं।

जोखिम विश्लेषण

इस रणनीति में निम्नलिखित जोखिम भी हैं:

  1. मूविंग एवरेज में देरी होती है और यह अल्पकालिक, अचानक रुझान उलटने से चूक सकता है।
  2. क्रॉसओवर शोर-शराबा पैदा कर सकते हैं, जिससे स्थिरता प्रभावित होती है।
  3. 20 अवधि के निश्चित पैरामीटर को कुछ शेयरों के लिए ठीक से काम नहीं करना पड़ सकता है, जिसे समायोजित करने की आवश्यकता है।
  4. कोई स्टॉप लॉस नहीं है, जिससे बड़े घाटे वाले ट्रेडों की अनुमति मिलती है।

समाधान:

  1. प्रतिक्रिया क्षमता बढ़ाने के लिए चलती औसत अवधि को छोटा करें।
  2. झूठे संकेतों से बचने के लिए फ़िल्टर जोड़ें।
  3. मापदंडों और स्टॉक श्रेणियों का परीक्षण और अनुकूलन।
  4. जोखिम को नियंत्रित करने के लिए स्टॉप लॉस को शामिल करें।

अनुकूलन दिशाएँ

इस रणनीति में निम्नलिखित पहलुओं में भी सुधार किया जा सकता हैः

  1. समग्र रणनीति बनाने के लिए अन्य संकेतकों को जोड़ें, जैसे कि मात्रा, आरएसआई।
  2. अवधि और प्रतीकों का परीक्षण और अनुकूलन करें, अनुकूलन पैरामीटर सेट करें।
  3. गतिशील बाहर निकलने के तंत्र का निर्माण करें जैसे कि स्टॉप लॉस, समय-आधारित स्टॉप लॉस।
  4. स्वचालन के लिए एल्गोरिथम ट्रेडिंग क्षमताओं को जोड़ें।
  5. अनुकूलन अनुकूलन के लिए मशीन सीखने को शामिल करें।

सारांश

यह रणनीति अपेक्षाकृत सरल और व्यावहारिक है, जो चलती औसत क्रॉसओवर सिद्धांत के माध्यम से संभावित रुझान उलट बिंदुओं की पहचान करती है। लेकिन रणनीति को अधिक मजबूत, विश्वसनीय और स्वचालित बनाने के लिए अतिरिक्त संकेतकों, गतिशील मापदंडों, स्टॉप लॉस, एल्गोरिदमिक ट्रेडिंग आदि के माध्यम से सुधार के लिए भी जगह है। सारांश में, यह मात्रात्मक व्यापार के साथ शुरू करने के लिए एक अच्छा टेम्पलेट प्रदान करता है।


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-SMA Crossover Strategy", overlay=true)

// Define the length of the moving averages
emaLength = 20
smaLength = 20

// Calculate moving averages
emaValue = ta.ema(close, emaLength)
smaValue = ta.sma(close, smaLength)

// Buy condition
buyCondition = ta.crossover(emaValue, smaValue) and close > emaValue

// Short sell condition
sellCondition = ta.crossunder(emaValue, smaValue) and close < emaValue

// Exit conditions for both Buy and Short sell
exitBuyCondition = ta.crossunder(emaValue, smaValue)
exitSellCondition = ta.crossover(emaValue, smaValue)

// Strategy logic
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)

if (exitBuyCondition)
    strategy.close("Buy")

if (exitSellCondition)
    strategy.close("Sell")

// Plot the moving averages
plot(emaValue, color=color.blue, title="20 EMA")
plot(smaValue, color=color.red, title="20 SMA")


अधिक