
यह रणनीति एटीआर सूचकांक पर आधारित एक गतिशील ट्रैकिंग स्टॉप तंत्र है, जो वास्तविक समय में स्टॉप पोजीशन को समायोजित कर सकता है और अधिक लाभ के लिए स्टॉप की गारंटी दे सकता है।
रणनीति का उपयोग करता है तेजी से एटीआर चक्र 5 और धीमी गति से एटीआर चक्र 10 दो परतों के लिए गतिशील ट्रैक बंद का निर्माण। जब कीमत लाभप्रद दिशा में चलती है, तो तेजी से परत पहली बार ट्रैक शुरू करती है, और रोक को कसती है; जब कीमत अल्पकालिक रिड्यूस करती है, तो धीमी परत की रोक को रोकना समय से पहले बंद होने से बचा जाता है। साथ ही, एक व्यापार संकेत के रूप में तेजी से परतों के बीच एक क्रॉसिंग
विशेष रूप से, तेजी से परत के लिए स्टॉपआउट दूरी 0.5 गुना 5 चक्र एटीआर है, धीमी परत के लिए स्टॉपआउट दूरी 3 गुना 10 चक्र एटीआर है। जब तेजी से परत ऊपर की ओर धीमी परत को तोड़ती है, तो एक खरीद संकेत उत्पन्न होता है; जब तेजी से परत नीचे की ओर धीमी परत को तोड़ती है, तो एक बेचने का संकेत उत्पन्न होता है। स्टॉपआउट लाइन भी वास्तविक समय में अपडेट की जाती है, और मूल्य वक्र के नीचे चित्रित की जाती है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह गतिशील रूप से स्टॉप पोजीशन को समायोजित कर सकता है, जिससे स्टॉप को सुनिश्चित करने के लिए अधिकतम लाभ प्राप्त किया जा सके। फिक्स्ड स्टॉप दूरी की तुलना में, गतिशील एटीआर स्टॉप लाइन को बाजार में उतार-चढ़ाव के आधार पर समायोजित किया जा सकता है, जिससे स्टॉप के सक्रिय होने की संभावना कम हो जाती है।
इसके अलावा, दो-स्तरीय एटीआर डिजाइन क्षतिग्रस्तता की संवेदनशीलता को संतुलित करता है। फास्ट-लेयर तेजी से प्रतिक्रिया करता है, जबकि धीमी गति वाला लेयर अल्पकालिक शोर को फ़िल्टर कर सकता है और समय से पहले क्षतिग्रस्त होने से बचा सकता है।
इस रणनीति का मुख्य जोखिम यह है कि क्या स्टॉप लॉस दूरी सेट करना उचित है। यदि एटीआर गुणांक बहुत बड़ा है, तो स्टॉप लॉस दर कीमतों के संचालन के साथ नहीं चलेगी। यदि एटीआर गुणांक बहुत छोटा है, तो इसे अल्पकालिक शोर द्वारा बाधित किया जा सकता है। इसलिए विभिन्न किस्मों की विशेषताओं के अनुसार मापदंडों को समायोजित करने की आवश्यकता है।
इसके अलावा, ATR कम है और स्टॉप लाइन के करीब है, इसलिए यह रणनीति अधिक अस्थिरता वाली किस्मों के लिए उपयुक्त है।
एटीआर चक्रों के विभिन्न संयोजनों को आज़माया जा सकता है ताकि सर्वोत्तम संतुलन की तलाश की जा सके। इसके अलावा, अन्य संकेतकों के साथ संयोजन पर विचार किया जा सकता है, जैसे कि एक प्रवृत्ति सूचक जो बाजार के चरणों का आकलन करता है ताकि एटीआर गुणांक के आकार को गतिशील रूप से समायोजित किया जा सके।
एटीआर को डीकेवीओएल, एचआरएएनजीई या एटीआर प्रतिशत के रूप में बदलने से बेहतर स्टॉप लॉस प्राप्त हो सकता है।
इस रणनीति को एटीआर सूचकांक के आधार पर दो-स्तरीय गतिशील ट्रैकिंग तंत्र के लिए डिज़ाइन किया गया है, जो अधिक लाभ के लिए प्रयास करता है और अत्यधिक रोकथाम से बचा जा सकता है। यह उच्च रोकथाम आवश्यकताओं वाले उपयोगकर्ताओं के लिए उपयुक्त है। यह रणनीति बाजार और नस्ल विशेषताओं के आधार पर पैरामीटर को लचीले ढंग से समायोजित कर सकती है, ताकि इष्टतम रोकथाम प्रभाव प्राप्त किया जा सके।
/*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"}]
*/
//@version=4
strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true)
/////////notes////////////////////////////////////////
// This is based on the ATR trailing stop indicator //
// width addition of two levels of stops and //
// different interpretation. //
// This is a fast-reacting system and is better //
// suited for higher volatility markets //
//////////////////////////////////////////////////////
SC = input(close, "Source", input.source)
// Fast Trail //
AP1 = input(5, "Fast ATR period", input.integer) // ATR Period
AF1 = input(0.5, "Fast ATR multiplier", input.float) // ATR Factor
SL1 = AF1 * atr(AP1) // Stop Loss
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1)))
// Slow Trail //
AP2 = input(10, "Slow ATR period", input.integer) // ATR Period
AF2 = input(3, "Slow ATR multiplier", input.float) // ATR Factor
SL2 = AF2 * atr(AP2) // Stop Loss
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2)))
// Bar color for trade signal //
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2
Red = Trail2 > Trail1 and close < Trail2 and high < Trail2
Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2
// Signals //
Bull = barssince(Green) < barssince(Red)
Buy = crossover(Trail1, Trail2)
Sell = crossunder(Trail1, Trail2)
TS1 = plot(Trail1, "Fast Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2, display=display.none)
TS2 = plot(Trail2, "Slow Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.green : color.red, linewidth=2)
fill(TS1, TS2, Bull ? color.new(color.green, 90) : color.new(color.red, 90))
plotcolor = input(true, "Paint color on chart", input.bool)
bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na)
barcolor(bcl)
if Buy
strategy.entry("Buy", strategy.long, comment="Buy")
if Sell
strategy.close("Buy")