ईएस के लिए एटीआर आधारित ट्रैलिंग स्टॉप रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-12 14:52:23
टैगः

img

अवलोकन

यह रणनीति ई-मिनी एस एंड पी 500 वायदा (ईएस) पर लागू एक ट्रेलिंग स्टॉप रणनीति है। यह एक संदर्भ के रूप में 10-दिवसीय एटीआर का उपयोग करता है और लंबी और छोटी स्टॉप लाइनों को परिभाषित करने के लिए स्टॉप लॉस रेंज को 3 गुना एटीआर पर सेट करता है। रणनीति एटीआर लाइनों की दिशा परिवर्तन द्वारा प्रवृत्ति का न्याय करती है और प्रवृत्ति के मोड़ बिंदुओं पर प्रवेश संकेत उत्पन्न करती है। एक बार दर्ज होने के बाद, यह मूल्य आंदोलन को ट्रेल करने के लिए वास्तविक समय में स्टॉप लॉस लाइनों को समायोजित करेगी, लाभ की रक्षा करेगी।

रणनीति तर्क

यह रणनीति मूल्य स्रोत के रूप में hl2 का उपयोग करती है। सबसे पहले यह 10-दिवसीय एटीआर की गणना करती है, और उपयोगकर्ता को एटीआर की गणना करने के लिए एसएमए विधि या अंतर्निहित एटीआर फ़ंक्शन का उपयोग करने के बीच चयन करने देती है। एटीआर प्राप्त करने के बाद, यह रेंज बनाने के लिए 3 बार एटीआर ऊपर और नीचे जोड़ती है। दो रेंज लाइनें स्टॉप लॉस लाइनें हैं।

प्रवृत्ति का न्याय करने की विधि यह है कि जब कीमत ऊपरी सीमा से अधिक होती है, तो यह लंबी होती है; जब कीमत निचली सीमा को तोड़ती है, तो यह छोटी होती है। जब कीमत रेंज में वापस लौटती है, तो यह प्रवृत्ति उलट की पुष्टि करती है। इस समय, यदि शॉर्ट से लॉन्ग में मोड़ दिया जाता है, तो यह एक लंबा प्रवेश संकेत उत्पन्न करेगा; यदि लंबे समय से शॉर्ट में मोड़ दिया जाता है, तो यह एक छोटा प्रवेश संकेत उत्पन्न करेगा।

प्रवेश करने के बाद, लंबी स्टॉप लॉस लाइन को ऊपरी सीमा माइनस 1 टिक पर सेट किया जाता है, और छोटी स्टॉप लॉस लाइन को निचली सीमा प्लस 1 टिक पर सेट किया जाता है, लाभ की रक्षा के लिए पीछे।

लाभ

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

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

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

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

  1. अस्थिरता मीट्रिक के साथ संयुक्त एटीआर मापदंडों को अनुकूलित करने पर विचार करें।
  2. विभिन्न ट्रेलिंग स्टॉप एल्गोरिदम जैसे प्रतिशत ट्रेलिंग स्टॉप आदि का परीक्षण करें।
  3. झूठे प्रवृत्ति संकेतों से बचने के लिए प्रवृत्ति संकेतकों के साथ संयुक्त प्रवेश संकेतों को फ़िल्टर करें।

निष्कर्ष

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


/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ATR Based Trailing Stop Strategy on ES! [v4]", overlay=true)

// Given ATR study
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2
up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// Entry logic based on trend change
longCondition = trend == 1 and trend[1] == -1
shortCondition = trend == -1 and trend[1] == 1

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing stop loss logic
// For long positions, trail 1 point below the up plot
longStopPrice = up - 1

// For short positions, trail 1 point above the dn plot
shortStopPrice = dn + 1

strategy.exit("Trailing Stop Long", "Long", trail_offset=longStopPrice)
strategy.exit("Trailing Stop Short", "Short", trail_offset=shortStopPrice)


अधिक