दो-तरफ़ा अस्थिरता को घेरने वाली रणनीति


निर्माण तिथि: 2023-11-21 12:04:19 अंत में संशोधित करें: 2023-11-21 12:04:19
कॉपी: 0 क्लिक्स: 605
1
ध्यान केंद्रित करना
1617
समर्थक

दो-तरफ़ा अस्थिरता को घेरने वाली रणनीति

अवलोकन

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

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

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

श्रेष्ठता विश्लेषण

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

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

  • बाजार में भारी उतार-चढ़ाव हो सकता है, एटीआर वास्तविक उतार-चढ़ाव को पूरी तरह से प्रतिबिंबित नहीं कर सकता है, जिससे रोक को तोड़ दिया जाता है
  • मल्टी हेड पोजीशन में GAP का खतरा
  • बार-बार छोटे-छोटे लाभदायक लेनदेन हो सकते हैं

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

अनुकूलन दिशा

  • अन्य संकेतकों के साथ संयोजन में प्रवृत्ति परिवर्तन के संकेत
  • एटीआर पैरामीटर अनुकूलन
  • ट्रेड वॉल्यूम नियंत्रण में शामिल हों

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BCH Swinger v1", overlay=true, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year")
ToMonth   = input(defval = 10, title = "To Month", minval = 1)
ToDay     = input(defval = 01, title = "To Day", minval = 1)
ToYear    = input(defval = 2020, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 1, 1)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

length = input(3)
mult = input(1, minval = 0.01)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
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 ? yellow : red, style=circles, linewidth=2)

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction",  minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = close > vstop and withinTimeRange
condition2 = close < vstop and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2)

/////////////////////////////////////////////////////////////
//END - TRADING RULES