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


निर्माण तिथि: 2024-01-12 14:52:23 अंत में संशोधित करें: 2024-01-12 14:52:23
कॉपी: 3 क्लिक्स: 673
1
ध्यान केंद्रित करना
1617
समर्थक

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

अवलोकन

यह रणनीति E-mini S&P500 वायदा (ES) पर लागू एक अनुवर्ती रोक रणनीति है। यह 10 दिन के एटीआर को संदर्भ के रूप में उपयोग करता है और 3 गुना एटीआर को रोक सीमा के रूप में सेट करता है। यह रणनीति एटीआर लाइन की दिशा में बदलाव के माध्यम से प्रवृत्ति का आकलन करती है और प्रवृत्ति में बदलाव के बिंदु पर प्रवेश संकेत उत्पन्न करती है। एक बार प्रवेश करने के बाद, यह वास्तविक समय में स्टॉप लाइन को समायोजित करता है, जिससे स्टॉप लाइन कीमत के साथ चलती है और लाभप्रदता की रक्षा करती है।

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

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

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

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

रणनीतिक लाभ

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

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

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

अनुकूलन दिशा

  1. एटीआर पैरामीटर के लिए अस्थिरता दर सूचक के साथ अनुकूलन पर विचार किया जा सकता है
  2. अलग-अलग TAILING स्टॉप लॉस एल्गोरिदम जैसे बैलेंस प्रतिशत स्टॉप लॉस का परीक्षण किया जा सकता है
  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)