
अवलोकन
इस रणनीति में एटीआर (Average True Range) और एसएमए (Simple Moving Average) का संयोजन किया गया है, जो एक गतिशील स्टॉप-लॉस ट्रैकिंग ट्रेडिंग सिस्टम को लागू करता है। जब कीमत एसएमए से ऊपर होती है और एटीआर-आधारित गतिशील स्टॉप-लॉस की स्थापना की जाती है, तो स्टॉप-लॉस की कीमत कीमतों में वृद्धि के साथ बढ़ती है। जब कीमतें गतिशील स्टॉप-लॉस की कीमतों को तोड़ती हैं, तो स्टॉप-लॉस की कीमतों को समतल किया जाता है। इस रणनीति का मुख्य विचार यह है कि गतिशील स्टॉप-लॉस का उपयोग ट्रेंडिंग स्थिति में मुनाफे को लॉक करने के लिए किया जाता है, जिससे पीछे हटने को कम किया जा सके।
रणनीति सिद्धांत
- 50 दिन के SMA की गणना करें, जब समापन मूल्य 50 दिन के SMA से अधिक हो तो अतिरिक्त आदेश खोलें।
- एटीआर सूचकांक की गणना करें, एटीआर चक्र 10 है, एक महत्वपूर्ण मूल्य ((डिफ़ॉल्ट 3) से गुणा करें ताकि स्टॉप लॉस nLoss प्राप्त हो सके।
- गतिशील स्टॉप मूल्य xATRTrailingStop की गणना करें, प्रारंभिक मूल्य 0 है
- जब समापन मूल्य और पिछला समापन मूल्य दोनों पिछले स्टॉप-लॉस मूल्य से बड़े होते हैं, तो नया स्टॉप-लॉस मूल्य पिछले स्टॉप-लॉस मूल्य और [समापन मूल्य-nLoss] में से बड़ा होता है।
- जब समापन मूल्य और पिछला समापन मूल्य दोनों पिछले स्टॉप-लॉस मूल्य से कम होते हैं, तो नया स्टॉप-लॉस मूल्य पिछले स्टॉप-लॉस मूल्य और (समापन मूल्य + nLoss) में से छोटा होता है।
- अन्य स्थितियों में, नया स्टॉप लॉस मूल्य ((क्लोज प्राइस-एनलॉस) या ((क्लोज प्राइस + एनलॉस) है।
- जब समापन मूल्य गतिशील स्टॉप-लॉस मूल्य से नीचे गिरता है, तो प्वाल आउट।
- स्टॉप पॉइंट्स को अलग-अलग रंगों में चिह्नित किया गया है, जिसमें बहुहेड स्टॉप ग्रीन, रिक्त हेड स्टॉप रेड और अन्य मामलों में ब्लू है।
श्रेष्ठता विश्लेषण
- डायनामिक स्टॉप ट्रेडिंग ट्रेडिंग रणनीति ट्रेंडिंग स्थितियों में मुनाफे की रक्षा करने और वापस लेने के जोखिम को कम करने में मदद करता है। डायनामिक स्टॉप ट्रेडिंग रणनीति की तुलना में, डायनामिक स्टॉप ट्रेडिंग रणनीति अधिक लचीला है और विभिन्न बाजार स्थितियों के अनुकूल है।
- एटीआर के आधार पर स्टॉप लॉस की गणना की जाती है, एटीआर बाजार में उतार-चढ़ाव की दर के आकार को अच्छी तरह से दर्शाता है, इसलिए स्टॉप लॉस की दूरी को हाल के समय के उतार-चढ़ाव के आधार पर स्वचालित रूप से समायोजित किया जाता है, जब उतार-चढ़ाव बढ़ता है तो स्टॉप लॉस को बड़ा किया जाता है, जब उतार-चढ़ाव कम होता है तो स्टॉप लॉस को छोटा किया जाता है।
- एसएमए का उपयोग करने के लिए प्रवृत्ति के आधार के रूप में, आप एक अपेक्षाकृत स्पष्ट प्रवृत्ति स्थिति को पकड़ने में सक्षम होंगे। एसएमए के ऊपर अधिक ऑर्डर खोलने से, आप प्रवृत्ति की शुरुआत में हस्तक्षेप कर सकते हैं और अधिक लाभ कमाने के लिए जगह बना सकते हैं।
- उपयोगकर्ता को एटीआर चक्र और कुंजी मान पैरामीटर सेट करने की अनुमति देता है, जो विभिन्न नस्लों और चक्रों की विशेषताओं के लिए नीति पैरामीटर को लचीले ढंग से समायोजित कर सकता है।
जोखिम विश्लेषण
- अनिश्चित या अस्थिर रुझानों के दौरान, इस रणनीति में बार-बार पोजीशन खोलना शामिल हो सकता है, जिससे ट्रेडिंग की लागत बढ़ जाती है और मुनाफा कम हो जाता है।
- यह रणनीति केवल बहु-तार्किक है, और एकतरफा बाजार के जोखिम के साथ गिरावट में लाभ नहीं ले सकती है। द्वि-दिशात्मक व्यापार के लिए लॉजिक को जोड़ने पर विचार किया जा सकता है।
- स्टॉप लॉस पॉइंट एटीआर पर आधारित है, जब बाजार में भारी उतार-चढ़ाव होता है, तो स्टॉप लॉस स्पेस बहुत बड़ा हो सकता है, जिससे जोखिम बढ़ जाता है। एक अधिकतम स्टॉप लॉस सेट करने पर विचार किया जा सकता है, जो एक एकल लेनदेन के अधिकतम नुकसान को नियंत्रित करता है।
- गलत पैरामीटर का चयन करने से रणनीति विफल हो सकती है। उदाहरण के लिए, एटीआर चक्र का चयन बहुत छोटा है, जिससे स्टॉप लॉस बहुत संवेदनशील हो सकता है और अक्सर ट्रिगर किया जा सकता है; बहुत बड़ा हो सकता है कि समय पर स्टॉप लॉस न हो और नुकसान बढ़ जाए।
अनुकूलन दिशा
- कम करने के तर्क के साथ, आप नीचे की ओर रुझान में भी लाभ कमा सकते हैं, रणनीति की अनुकूलनशीलता में सुधार कर सकते हैं। जब कीमत SMA से नीचे हो जाती है, तो आप खाली ऑर्डर खोल सकते हैं, गतिशील स्टॉप लॉजिक का भी उपयोग कर सकते हैं।
- बहु-खाली स्थिति प्रबंधन की शुरूआत करें, प्रवृत्ति की ताकत के अनुसार स्थिति का आकार समायोजित करें। प्रवृत्ति मजबूत होने पर स्थिति बढ़ाएं, आय बढ़ाएं; प्रवृत्ति कमजोर होने पर स्थिति को कम करें, जोखिम को नियंत्रित करें।
- स्टॉप लॉजिक को अनुकूलित करें, एक अधिकतम स्टॉप लेंथ सेट करें, जिससे चरम स्थितियों में अत्यधिक नुकसान से बचा जा सके। एक स्टॉप पॉइंट सेट करने पर विचार करें, जब अपेक्षित रिटर्न प्राप्त हो जाए तो सक्रिय रूप से स्थिति को बंद करें, न कि जब तक कि यह बंद न हो जाए।
- पैरामीटर का अनुकूलन करें, विभिन्न पैरामीटर संयोजनों के माध्यम से सबसे अच्छा पैरामीटर सेटिंग ढूंढें। आप आनुवंशिक एल्गोरिदम जैसे बुद्धिमान अनुकूलन विधियों का उपयोग करके अनुकूलन दक्षता बढ़ा सकते हैं।
- ट्रेडिंग वॉल्यूम, अस्थिरता और अन्य जैसे फिल्टर करने वाले मापदंडों को जोड़ने पर विचार करें ताकि रुझानों और जोखिमों का बेहतर आकलन किया जा सके और संकेतों की विश्वसनीयता में सुधार किया जा सके।
संक्षेप
यह रणनीति एटीआर और एसएमए संकेतक पर आधारित एक गतिशील स्टॉप-लॉस ट्रैकिंग ट्रेडिंग सिस्टम को लागू करती है, जो ट्रेंडिंग स्थिति में स्वचालित रूप से स्टॉप-लॉस स्थिति को समायोजित करने में सक्षम है, लाभ की रक्षा करने और जोखिम को नियंत्रित करने की भूमिका निभाता है। रणनीति तर्क स्पष्ट है, लाभ स्पष्ट है, लेकिन कुछ सीमाएं और जोखिम भी हैं। उचित अनुकूलन और सुधार, जैसे कि शून्य लॉजिक शामिल करना, स्थिति प्रबंधन को अनुकूलित करना, स्टॉप-लॉस को अधिकतम करना आदि, रणनीति की स्थिरता और लाभप्रदता को और बढ़ा सकते हैं। वास्तविक अनुप्रयोगों में, विभिन्न प्रकार के व्यापार और अवधि के आधार पर रणनीति पैरामीटर को लचीले ढंग से समायोजित करने और जोखिम को सख्ती से नियंत्रित करने की आवश्यकता होती है। कुल मिलाकर, यह रणनीति व्यापार की मात्रा के लिए एक व्यवहार्य विचार प्रदान करती है, और आगे की खोज और अनुकूलन के लायक है।
रणनीति स्रोत कोड
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trailingstop", overlay=true)
if close > sma(close, 50)
strategy.entry("long", strategy.long)
// Trailing stop loss for long positions
Trailperc = 0.20
price_stop_long = 0.0
if (strategy.position_size > 0)
stopValue = close * (1 - Trailperc)
price_stop_long := max(stopValue, price_stop_long[1])
else
price_stop_long := 0
if (strategy.position_size > 0)
strategy.exit(id="stoploss_long", stop=price_stop_long)
// Trailing stop loss for short positions
Trailperc_short = 0.20
price_stop_short = 0.0
if (strategy.position_size < 0)
stopValue_short = close * (1 + Trailperc_short)
price_stop_short := min(stopValue_short, price_stop_short[1])
else
price_stop_short := 0
if (strategy.position_size < 0)
strategy.exit(id="stoploss_short", stop=price_stop_short)
// ATR Trailing Stop for visualization
keyvalue = input(3, title="Key Value. 'This changes the sensitivity'", step=0.5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos = 0
pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")