मूल्य अस्थिरता पर आधारित प्रवृत्ति-अनुसरण स्टॉप-लॉस रणनीति


निर्माण तिथि: 2023-12-01 17:53:36 अंत में संशोधित करें: 2023-12-01 17:53:36
कॉपी: 6 क्लिक्स: 666
1
ध्यान केंद्रित करना
1619
समर्थक

मूल्य अस्थिरता पर आधारित प्रवृत्ति-अनुसरण स्टॉप-लॉस रणनीति

अवलोकन

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

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

यह रणनीति पहले एक निश्चित अवधि में औसत वास्तविक उतार-चढ़ाव एटीआर की गणना करती है। और फिर, वर्तमान मूल्य प्रवृत्ति की दिशा के आधार पर, यदि यह ऊपर की ओर है, तो स्टॉपलॉस को वर्तमान उच्चतम मूल्य से घटाकर n गुना एटीआर के रूप में सेट किया जाता है; यदि यह नीचे की ओर है, तो स्टॉपलॉस को वर्तमान निम्नतम मूल्य से जोड़कर n गुना एटीआर के रूप में सेट किया जाता है। जिसमें n मान को पैरामीटर के माध्यम से समायोजित किया जा सकता है, जो स्टॉपलॉस और मूल्य की दूरी को नियंत्रित करने के लिए उपयोग किया जाता है।

जब कीमतें बढ़ती प्रवृत्ति की रोकथाम रेखा को तोड़ती हैं या गिरती प्रवृत्ति की रोकथाम रेखा को तोड़ती हैं, तो यह निर्धारित किया जाता है कि प्रवृत्ति में बदलाव हुआ है। इस समय रणनीति को बंद कर दिया जाता है और नई प्रवृत्ति की दिशा के अनुसार नई रोकथाम रेखा स्थापित की जाती है।

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

रणनीतिक लाभ

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

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

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

रणनीति अनुकूलन

  • व्यापार की मात्रा या उतार-चढ़ाव के त्वरण जैसे सहायक संकेतकों को पेश किया जा सकता है, जो कि अवैध तोड़ने के गलतफहमी से बचा जाता है
  • विभिन्न किस्मों की विशेषताओं के अनुसार 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)