एटीआर स्टॉप लॉस के साथ ईएमए रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-11 16:00:09
टैगः

img

अवलोकन

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

रणनीतिक सिद्धांत

  1. तेज ईएमए अवधि को 13 और धीमी ईएमए अवधि को 48 के रूप में परिभाषित करें।
  2. जब तेज ईएमए रेखा धीमी ईएमए रेखा के ऊपर पार करती है, तो एक खरीद संकेत उत्पन्न होता है; जब तेज ईएमए रेखा धीमी ईएमए रेखा के नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है।
  3. चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस को निर्धारित करने के लिए ta.crossover और ta.crossunder कार्यों का उपयोग करें।
  4. गतिशील स्टॉप लॉस की गणना करने के लिए एटीआर संकेतक का प्रयोग करें, जो बंद होने से एटीआर के 1.5 गुना दूर है।
  5. रंग परिवर्तनों, खरीद/बिक्री चिह्नों और स्टॉप लॉस लाइनों के माध्यम से व्यापार संकेतों और स्टॉप लॉस स्तरों को सहज रूप से प्रदर्शित करें।

लाभ विश्लेषण

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

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

  1. फ्लैश क्रैश स्टॉप लॉस को ट्रिगर कर सकते हैं।
  2. रेंजिंग बाजारों में अक्सर अमान्य संकेत हो सकते हैं।
  3. गलत पैरामीटर सेटिंग्स के परिणामस्वरूप अत्यधिक आक्रामक प्रवेश या ढीला स्टॉप लॉस हो सकता है।
  4. ईएमए और एटीआर मापदंडों को उचित अनुकूलन की आवश्यकता है।

समाधान:

  1. एटीआर गुणक को उचित रूप से ढीला करें ताकि हाल के उच्च स्तरों से कुछ बफर बचा रहे।
  2. सिग्नल आने के बाद पुष्टिकरण तंत्र पर विचार करें, जैसे कि पिछले उच्च स्तर को तोड़ने आदि।
  3. पैरामीटर अनुकूलन में विभिन्न बाजार स्थितियों को ध्यान में रखना चाहिए।

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

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

निष्कर्ष

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


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © byee322

/// This strategy uses the EMA to generate buy and sell signals with a 1.5x ATR stop loss
//@version=5
strategy("EMA Strategy with ATR Stop Loss", overlay=true)

// Define the EMA lengths as input parameters
emaLength1 = input(13, "EMA Length 1")
emaLength2 = input(48, "EMA Length 2")

// Define the moving averages
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)

// Buy signal: EMA 1 crosses above EMA 2
buy = ta.crossover(ema1, ema2)

// Sell signal: EMA 1 crosses below EMA 2
sell = ta.crossunder(ema1, ema2)

// Define the state variable
state = 0
state := buy ? 1 : sell ? -1 : nz(state[1])

// Change the color of the candles
color = state == 1 ? color.green : state == -1 ? color.red : na

// Plot the colored candles
plotcandle(open, high, low, close, color=color)

// Plot the signals on the chart with text labels
plotshape(buy, style=shape.triangleup, color=color.new(color.green, 50), location=location.belowbar, text="Buy")
plotshape(sell, style=shape.triangledown, color=color.new(color.red, 50), location=location.abovebar, text="Sell")

// Calculate the ATR
atrVal = ta.atr(14)

// Calculate the stop loss level for buy
stopLossBuy = buy ? close[1] - 1.5 * atrVal : na

// Calculate the stop loss level for sell
stopLossSell = sell ? close[1] + 1.5 * atrVal : na

// Plot the stop loss level for buy
plot(stopLossBuy,  color=color.new(color.green, 50), linewidth=3)

// Plot the stop loss level for sell
plot(stopLossSell, color=color.new(color.red, 50), linewidth=3)

if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)

अधिक