अस्थिरता को रोकने की रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-01 17:53:36
टैगः

img

अवलोकन

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

रणनीतिक सिद्धांत

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

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

संक्षेप में, रणनीति रुझान परिवर्तनों का सटीक न्याय प्राप्त करने के लिए स्टॉप लॉस लाइनों को सेट करने के लिए मूल्य अस्थिरता का उपयोग करती है। रुझान परिवर्तन के समय समय पर स्टॉप लॉस रणनीति को नई प्रवृत्ति की दिशा को समझने में मदद करता है।

रणनीति के फायदे

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

रणनीति के जोखिम

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

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

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

सारांश

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


/*backtest
start: 2022-11-30 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © laptevmaxim92

//@version=4
strategy("Volatility stop strategy", overlay=true)

length = input(20)
mult = input(2, step = 0.1)
utp = input(false, "Use take profit?")
pr = input(100, "Take profit pips")
usl = input(false, "Use stop loss?")
sl = input(100, "Stop loss pips")
fromday = input(01, defval=01, minval=01, maxval=31, title="From Day")
frommonth = input(01, defval=01, minval= 01, maxval=12, title="From Month")
fromyear = input(2000, minval=1900, maxval=2100, title="From Year")
today = input(31, defval=01, minval=01, maxval=31, title="To Day")
tomonth = input(12, defval=12, minval=01, maxval=12, title="To Month")
toyear = input(2039, minval=1900, maxval=2100, title="To Year")

use_date = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))

atr_ = atr(length)
max_ = 0.0
min_ = 0.0
max1 = 0.0
max1 := max(nz(max_[1]), close)
min1 = 0.0
min1 := min(nz(min_[1]), close)
vstop = 0.0
is_uptrend = false
is_uptrend_prev = false
is_uptrend_prev := nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend := close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ := is_trend_changed ? close : max1
min_ := is_trend_changed ? close : min1
vstop := is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? color.green : color.red, linewidth=2)

longCondition = is_uptrend
if (longCondition and use_date)
    strategy.entry("BUY", strategy.long)

shortCondition = not is_uptrend
if (shortCondition and use_date)
    strategy.entry("SELL", strategy.short)
    
if (utp and not usl)
    strategy.exit("TP", "BUY", profit = pr)
    strategy.exit("TP", "SELL", profit = pr)
    
if (usl and not utp)
    strategy.exit("SL", "BUY", loss = sl)
    strategy.exit("SL", "SELL", loss = sl)
    
if (usl and utp)
    strategy.exit("TP/SL", "BUY", loss = sl, profit = pr)
    strategy.exit("TP/SL", "SELL", loss = sl, profit = pr)

अधिक