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

लेखक:चाओझांग, दिनांक: 2023-12-11 14:24:18
टैगः

img

अवलोकन

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

रणनीति तर्क

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

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

लाभ विश्लेषण

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

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

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

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

इसके अतिरिक्त, एक रेंज-बाउंड बाजार में, एटीआर मूल्य छोटा होता है और स्टॉप लॉस लाइन करीब होती है, जिससे अक्सर स्टॉप लॉस हो सकता है। इसलिए, यह रणनीति कुछ अस्थिरता वाली किस्मों के लिए अधिक उपयुक्त है।

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

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

एटीआर संकेतक के विकल्पों का अध्ययन करना भी संभव है, एटीआर को डीकेवीओएल, एचआरएएनजीई या एटीआर प्रतिशत आदि से बदलकर बेहतर स्टॉप लॉस प्रभाव प्राप्त किया जा सकता है।

सारांश

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


/*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")


अधिक