यह रणनीति एक अनुकूलनशील रुझान ट्रैकिंग स्टॉप लॉस रणनीति को लागू करने के लिए एटीआर संकेतक और विभिन्न प्रकार के चलती औसत के साथ संयुक्त वाइल्डर अस्थिरता ट्रेलिंग स्टॉप विधि का उपयोग करती है।
इस रणनीति का मूल वाइल्डर अस्थिरता ट्रेलिंग स्टॉप एल्गोरिथ्म है। यह पहले एटीआर संकेतक की गणना करता है, और इनपुट एटीआर लंबाई और गुणक के अनुसार गतिशील रूप से स्टॉप लॉस लाइन प्लॉट करता है। यह फिर बंद, उच्च और निम्न कीमतों के बीच चुने गए मूल्य विकल्प के आधार पर स्टॉप लॉस लाइन के उच्चतम उच्च और निम्नतम निम्न को ट्रैक करता है। यह ट्रेडिंग संकेत भेजता है जब कीमत स्टॉप लॉस लाइन को तोड़ती है।
कोड में, f_ma फ़ंक्शन RMA, EMA, SMA और Hull MA सहित विभिन्न चलती औसत को लागू करता है। एटीआर संकेतक की गणना और उपयोगकर्ता द्वारा परिभाषित गुणक से गुणा किया जाता है ताकि अस्थिरता आधारित ट्रेलिंग स्टॉप लाइन उत्पन्न हो सके। इस लाइन के उच्चतम और निम्नतम स्तरों को उच्चतम और निम्नतम कार्यों का उपयोग करके ट्रैक किया जाता है। ट्रेड तब किए जाते हैं जब कीमत इस ट्रेलिंग स्टॉप लाइन में प्रवेश करती है।
एटीआर संकेतक, विभिन्न चलती औसत और समायोज्य मापदंडों का लचीले ढंग से उपयोग करके, यह रणनीति एक अत्यधिक अनुकूलनशील प्रवृत्ति ट्रैकिंग स्टॉप लॉस प्रणाली का एहसास करती है। यह प्रभावी रूप से प्रवृत्तियों को ट्रैक कर सकती है और बाजार में प्रमुख पॉलबैक होने पर नुकसान के साथ रोक सकती है।
यह रणनीति वाइल्डर वोलाटीटी ट्रेलिंग स्टॉप एल्गोरिथ्म का लाभ उठाती है, जो एक परिपक्व और विश्वसनीय ट्रेंड ट्रैकिंग स्टॉप लॉस पद्धति है।
रणनीति गतिशील रूप से स्टॉप लॉस लाइन की गणना करने के लिए एटीआर संकेतक का उपयोग करती है, कठोर स्टॉप लॉस बिंदुओं से बचती है। एटीआर प्रभावी रूप से बाजार की अस्थिरता और जोखिम के स्तर को प्रतिबिंबित कर सकता है।
आरएमए, ईएमए, एसएमए और हुल एमए सहित विभिन्न चलती औसत के कार्यान्वयन से रणनीति की अनुकूलन क्षमता बढ़ जाती है।
एटीआर लंबाई, गुणक मापदंडों को समायोजित करके, विभिन्न बाजारों के लिए अनुकूलित मापदंडों को पाया जा सकता है, जिससे रणनीति प्रदर्शन में सुधार होता है।
विभिन्न मूल्य विकल्पों जैसे उच्च, निम्न, बंद मूल्य का उपयोग विभिन्न उत्पादों में अनुकूलन की अनुमति देता है।
संक्षेप में, यह एक विश्वसनीय, अनुकूलनशील और आसानी से अनुकूलित ट्रेंड ट्रैकिंग स्टॉप लॉस रणनीति है।
रणनीति पैरामीटर अनुकूलन पर बहुत निर्भर करती है। विभिन्न बाजारों और उत्पादों के लिए परीक्षण के माध्यम से उपयुक्त एटीआर और गुणक मापदंडों को खोजने की आवश्यकता है, अन्यथा स्टॉप लॉस प्रभाव आदर्श नहीं हो सकता है।
रेंजिंग बाजारों में, एटीआर स्टॉप लॉस लाइन अक्सर अनुचित स्टॉप आउट को ट्रिगर कर सकती है। इसे अनुकूलित करने के लिए ट्रेंड फिल्टरिंग संकेतकों को पेश करने की आवश्यकता है।
यदि स्टॉप लॉस लाइन बहुत चौड़ी है, तो हानि के अवसर चूक जाएंगे। यदि बहुत तंग है, तो व्यापार आवृत्ति और फिसलने की लागत बढ़ जाएगी। सावधानीपूर्वक परीक्षण के माध्यम से एक संतुलित बिंदु खोजने की आवश्यकता है।
बहुत अधिक चलती औसत विकल्प प्रदर्शन विचलन का कारण बन सकते हैं। प्रत्येक उत्पाद के लिए एक प्रमुख चलती औसत का चयन किया जाना चाहिए, अन्य का उपयोग केवल संदर्भ के लिए किया जाना चाहिए।
यह रणनीति रुझानों को ट्रैक करने पर केंद्रित है और सीधे लाभ को लक्षित नहीं करती है। इसे अन्य प्रवेश/निकास रणनीतियों या लाभ लेने की तकनीकों के साथ जोड़ा जाना चाहिए।
अनुचित मापदंडों के साथ, रणनीति में अत्यधिक व्यापार या ओवरसाइज्ड होल्डिंग अवधि दिखाई दे सकती है। इसे अनुकूलन के माध्यम से संबोधित करने की आवश्यकता है।
बाजारों में उतार-चढ़ाव से बचने के लिए रुझान पहचानने वाले संकेतक पेश किए जा सकते हैं।
अपट्रेंड और डाउनट्रेंड के वैकल्पिक होने पर तेजी से स्टॉपआउट और रिवर्स करने की अनुमति देने के लिए रिवर्स इंडिकेटर का परीक्षण किया जा सकता है।
एटीआर अवधि पैरामीटर को उत्पाद की विशेषताओं के साथ जोड़ा जा सकता है, ताकि विभिन्न उत्पादों में अलग-अलग एटीआर अवधि का उपयोग किया जा सके।
वॉल्यूम संकेतक का उपयोग वॉल्यूम में महत्वपूर्ण गिरावट आने पर स्टॉप लॉस लाइन को तेजी से कसने के लिए किया जा सकता है।
स्टॉप लॉस प्रतिशत को बढ़ाया जा सकता है, लेकिन सामान्य रिट्रेसमेंट पर स्टॉप आउट से बचने के लिए बहुत सख्त नहीं।
अन्य संकेतकों का उपयोग गति को मापने के लिए किया जा सकता है, और गति कमजोर होने पर स्टॉप को ढीला करने के लिए मापदंडों को अनुकूलित किया जा सकता है।
वाइल्डर अस्थिरता ट्रेलिंग स्टॉप अवधारणा के आधार पर, यह रणनीति एक अत्यधिक अनुकूलनशील प्रवृत्ति ट्रैकिंग स्टॉप लॉस प्रणाली को डिजाइन करने के लिए एटीआर संकेतक का उपयोग करती है। पैरामीटर अनुकूलन के माध्यम से इसे विभिन्न ट्रेडिंग उत्पादों में फिट किया जा सकता है, और यह एक विश्वसनीय और व्यावहारिक स्टॉप लॉस दृष्टिकोण है। लेकिन इसे अधिक मजबूत बनाने के लिए प्रवृत्ति फिल्टर और वॉल्यूम तत्वों जैसे आगे के सुधारों द्वारा जोखिमों का प्रबंधन करने की आवश्यकता है। इसे स्टॉप लॉस तकनीकों की उपयोगिता को अधिकतम करने के लिए अन्य रणनीतियों के साथ भी जोड़ा जाना चाहिए।
/*backtest start: 2023-10-09 00:00:00 end: 2023-10-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Wilder's Volatility Trailing Stop Strategy with various MA's // by SparkyFlary //For Educational Purposes //Results can differ on different markets and can fail at any time. Profit is not guaranteed. strategy(title="Wilder's Volatility Trailing Stop Strategy with various MA's", shorttitle="Trailing Stop Strategy", overlay=true) AtrMult = input(3.0, title="ATR multiplier") ATRlength = input(7, title="ATR length") ATRavgType = input("RMA", title="ATR moving average type", options=["RMA", "EMA", "SMA", "HULL"]) sicType = input("close", title="significant close type for trail calculation", options=["close", "high-low"]) //function for choosing moving averages f_ma(type, src, len) => float result = 0 if type == "RMA" // Wilder's moving averaege or Running moving average result := rma(src, len) if type == "EMA" // Exponential moving average result := ema(src, len) if type == "SMA" // Simple moving average result := sma(src, len) if type == "HULL" // Hull moving average result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len))) result ATR = f_ma(ATRavgType, tr, ATRlength) upperTrail = lowest(sicType=="close"?close:low, ATRlength) + AtrMult * ATR lowerTrail = highest(sicType=="close"?close:high, ATRlength) - AtrMult * ATR float TS = 0 TS := close < TS[1] ? upperTrail[1] : close > TS[1] ? lowerTrail[1] : TS //plot plot(TS, title="trailing stop", color=close<TS?color.red:color.green) //Strategy buy = crossover(close, TS) //sell = close < TS short = crossunder(close, TS) //cover = close > TS strategy.entry(id="enter long", long=true, when=buy) //strategy.close(id="enter long", comment="exit long", when=sell) strategy.entry(id="enter short", long=false, when=short) //strategy.close(id="enter short", comment="exit short", when=cover)