
यह रणनीति वाइल्डर अस्थिरता ट्रेलिंग स्टॉप विधि का उपयोग करती है, जो एटीआर संकेतक और विभिन्न प्रकार की चलती औसत के साथ मिलकर एक बहुत ही अनुकूलनीय प्रवृत्ति ट्रेलिंग स्टॉप रणनीति को प्राप्त करती है।
इस रणनीति के केंद्र में Wilder volatility trailing stop एल्गोरिथ्म है। यह पहले एटीआर सूचक की गणना करता है, इनपुट किए गए मापदंडों के अनुसार एटीआर सूचक की लंबाई और गुणक की गणना करता है, और एक गतिशील स्टॉपलॉस प्राप्त करता है। फिर समापन मूल्य, उच्चतम मूल्य और निम्नतम मूल्य में से किसी एक विकल्प के साथ मिलकर स्टॉपलॉस लाइन की ऊंचाई और निम्नता को लगातार अपडेट करता है। जब कीमत इस स्टॉपलॉस लाइन को तोड़ती है, तो खरीद और बेचने के लिए।
कोड में, आरएमए, ईएमए, एसएमए, और हॉल एमए जैसे कई चलती औसत को पहले f_ma फ़ंक्शन के माध्यम से लागू किया गया है। फिर एटीआर सूचक की गणना करें, उपयोगकर्ता द्वारा सेट किए गए गुणकों के साथ गुणा करें, और उतार-चढ़ाव पर आधारित स्टॉपलाइन प्राप्त करें। उच्चतम और निम्नतम फ़ंक्शन के माध्यम से स्टॉपलाइन के उच्चतम और निम्नतम बिंदुओं को ट्रैक करें, और जब कीमत स्टॉपलाइन को तोड़ती है, तो व्यापार करें।
यह रणनीति एटीआर संकेतकों, विभिन्न प्रकार की औसत रेखाओं और पैरामीटर सेटिंग्स का लचीला उपयोग करती है, जिससे एक बहुत ही अनुकूलनीय प्रवृत्ति ट्रैकिंग स्टॉप-लॉस रणनीति प्राप्त होती है। यह प्रभावी रूप से प्रवृत्ति को ट्रैक करने में सक्षम है, और जब बाजार में बड़ी वापसी होती है, तो यह स्टॉप-लॉस को रोकता है।
इस रणनीति में सबसे पहले Wilder Volatility Trailing Stop एल्गोरिथ्म का उपयोग किया जाता है, जो एक विश्वसनीय ट्रेंड ट्रैकिंग स्टॉप है।
एटीआर सूचकांक का उपयोग करने की रणनीति गतिशील रूप से स्टॉपलाइन की गणना करने के लिए है, जिससे स्टॉप पॉइंट को बहुत अधिक फिसलन से बचा जा सकता है। एटीआर सूचकांक बाजार की अस्थिरता और जोखिम के स्तर को प्रभावी ढंग से प्रतिबिंबित कर सकता है।
इस कोड में RMA, EMA, SMA, Hull MA जैसे कई समान-रेखा विकल्पों को शामिल किया गया है, जो रणनीति की अनुकूलनशीलता को बढ़ाता है।
एटीआर की लंबाई और गुणांक के पैरामीटर को समायोजित करके, विभिन्न बाजारों के लिए सबसे अच्छा पैरामीटर ढूंढना और रणनीति के प्रभाव को अनुकूलित करना संभव है।
स्टॉप-लॉस लाइन की गणना करने के लिए रणनीति विभिन्न कीमतों जैसे कि उच्चतम, निम्नतम और समापन मूल्य का उपयोग करती है, जिसे विभिन्न किस्मों के लिए अनुकूलित किया जा सकता है।
कुल मिलाकर, यह एक विश्वसनीय, अनुकूलन योग्य और आसानी से अनुकूलन योग्य रुझान ट्रैकिंग और स्टॉप लॉस रणनीति है।
यह रणनीति मुख्य रूप से पैरामीटर अनुकूलन पर निर्भर करती है, और विभिन्न बाजारों और किस्मों के लिए उपयुक्त एटीआर और गुणांक पैरामीटर संयोजन खोजने के लिए परीक्षण की आवश्यकता होती है, अन्यथा यह खराब हो सकता है।
अस्थिरता के दौरान, एटीआर स्टॉप लाइन को अक्सर ट्रिगर किया जा सकता है। इस स्थिति में, प्रवृत्ति को समझने वाले संकेतकों के साथ संयोजन में अनुकूलन की आवश्यकता होती है ताकि अस्थिरता की प्रवृत्ति को याद न किया जा सके।
स्टॉप-लॉस लाइन को बहुत ढीला करने से स्टॉप-लॉस को वापस लेने का अवसर छूट जाता है; बहुत तंग होने से ट्रेडिंग की आवृत्ति और स्लाइडिंग लागत बढ़ जाती है। संतुलन बिंदु खोजने के लिए सावधानीपूर्वक परीक्षण की आवश्यकता होती है।
कई औसत रेखाओं के चयन से रणनीति के प्रभाव में विचलन हो सकता है। एक मुख्य औसत रेखा को विशिष्ट किस्मों के लिए चुना जाना चाहिए, अन्य औसत रेखाएं केवल सहायक संदर्भ के लिए हैं।
इस रणनीति में प्रवृत्ति पर ध्यान केंद्रित किया गया है और सीधे लाभ नहीं उठाया जा सकता है। अन्य प्रवेश से बाहर निकलने की रणनीतियों या स्टॉप-ऑफ रणनीतियों के संयोजन के साथ उपयोग पर विचार किया जाना चाहिए।
जब पैरामीटर सही नहीं होते हैं, तो रणनीति में बहुत अधिक बार व्यापार या बहुत लंबे समय तक स्थिति रखने की समस्या हो सकती है। इसे अनुकूलन के माध्यम से हल करने की आवश्यकता है।
इस प्रकार, यह विचार किया जा सकता है कि क्या कोई प्रवृत्ति है या नहीं, यह निर्धारित करने के लिए कि क्या कोई प्रवृत्ति है, ताकि किसी भी अस्थिरता में फंसने से बचा जा सके।
एक रिवर्सिंग सूचक तत्व को शामिल करने के लिए परीक्षण किया जा सकता है, जो एक हेड ट्रेंड और एक मल्टीहेड ट्रेंड के बीच वैकल्पिक रूप से स्टॉपलॉस को स्थानांतरित करता है।
एटीआर लंबाई पैरामीटर को ट्रेडिंग किस्मों की विशेषताओं से जोड़ने की कोशिश की जा सकती है, विभिन्न किस्मों में अलग-अलग एटीआर लंबाई सेटिंग्स हैं।
व्यापार की मात्रा में स्पष्ट रूप से कम होने पर स्टॉप-लॉस लाइन को कसने की गति को बढ़ाने के लिए एक व्यापार मात्रा संकेतक जोड़ने का प्रयास करें।
आप एक उच्च निकासी दर पर विचार कर सकते हैं, लेकिन इसे बहुत अधिक न रखें, ताकि सामान्य वापसी को रोक दिया जा सके।
अन्य सूचकांकों के निर्णय के साथ संयोजन किया जा सकता है और पैरामीटर का अनुकूलन किया जा सकता है, जब शक्ति की कमी होती है तो उचित रूप से स्टॉप-लॉस रेंज को छूट दी जाती है।
यह रणनीति Wilder Volatility Trailing Stop विचार पर आधारित है, ATR सूचक का उपयोग करके एक बहुत ही अनुकूलनशील ट्रेंड ट्रैकिंग स्टॉप रणनीति तैयार की गई है। यह विभिन्न व्यापारिक किस्मों के लिए पैरामीटर अनुकूलन के माध्यम से अच्छी तरह से अनुकूलित हो सकती है, जो एक विश्वसनीय, व्यावहारिक स्टॉप रणनीति है। लेकिन हम जोखिम के बारे में भी ध्यान देते हैं, ट्रेंड निर्णय और व्यापारिक मात्रा तत्वों आदि को जोड़कर इसे और अधिक स्थिर और विश्वसनीय बनाने के लिए आगे अनुकूलित करते हैं। और अन्य रणनीतियों के साथ संयोजन का उपयोग करने के लिए सावधान रहें, स्टॉप रणनीति की अधिकतम प्रभावशीलता प्राप्त करें।
/*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)