एटीआर और अस्थिरता सूचकांक पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2024-01-04 15:31:34 अंत में संशोधित करें: 2024-01-04 15:31:34
कॉपी: 1 क्लिक्स: 590
1
ध्यान केंद्रित करना
1621
समर्थक

एटीआर और अस्थिरता सूचकांक पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

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

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

  1. एटीआर का उपयोग करके बॉक्स आकार की गणना करें, रिबॉक चैनल का निर्माण करें और मूल्य प्रवृत्ति की दिशा का आकलन करें।
  2. CHOP सूचकांक का उपयोग करें यह निर्धारित करने के लिए कि क्या बाजार व्यापार के लिए उपयुक्त है, यह सूचकांक उच्चतम मूल्य, निम्नतम मूल्य और एटीआर को जोड़ता है, जब यह 38.2-61.8 की सीमा में होता है तो यह बाजार में उतार-चढ़ाव को धीमा करता है; अन्यथा यह दर्शाता है कि बाजार में उतार-चढ़ाव अधिक होता है और व्यापार के लिए उपयुक्त नहीं है।
  3. जब CHOP संकेतक 61.8 के ऊपरी ट्रैक से नीचे की ओर टूटता है, तो कीमतें एक गिरावट की प्रवृत्ति में प्रवेश करती हैं, और यदि अल्पकालिक तेजी से ईएमए भी कीमतों को आगे दिखाती है, तो शून्य करें; इसके विपरीत, जब CHOP 38.2 के निचले ट्रैक से ऊपर की ओर टूटता है और अल्पकालिक ईएमए कीमतों को ऊपर खींचता है, तो अधिक करें।
  4. स्टॉप-स्टॉप-लॉस रणनीति का उपयोग करें, जब कीमत CHOP के 38.2-61.8 बैंड के क्षेत्र में वापस आ जाती है तो स्टॉप-लॉस या स्टॉप-लॉस करें।

रणनीति का विश्लेषण

इस रणनीति में प्रवृत्ति का आकलन और अस्थिरता नियंत्रण शामिल है, जो मूल्य प्रवृत्तियों को पकड़ने और जोखिम को नियंत्रित करने के लिए एक अपेक्षाकृत स्थिर प्रवृत्ति ट्रैकिंग रणनीति है।

  1. एटीआर में निर्मित रिपोर्टर चैनल का उपयोग करके, कीमतों के रुझानों को प्रभावी ढंग से ट्रैक किया जा सकता है।
  2. CHOP सूचकांक बाजार में उतार-चढ़ाव को मापता है, जिससे भारी उतार-चढ़ाव के दौरान गलत ट्रेडिंग से बचा जा सकता है।
  3. त्वरित ईएमए के साथ मिलकर अल्पकालिक रुझानों की दिशा का आकलन करें, और रिवर्स ऑपरेशन से बचें
  4. स्टॉप-स्टॉप-लॉस रणनीति एकल हानि को नियंत्रित करती है।

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

इस रणनीति के मुख्य जोखिम हैंः

  1. भूकंप की स्थिति में, एटीआर चैनल और CHOP संकेतक एक गलत संकेत उत्पन्न कर सकते हैं। गलत संकेतों को खत्म करने के लिए पैरामीटर को उचित रूप से समायोजित किया जा सकता है।
  2. एक एकल तकनीकी सूचकांक के संयोजन से पूरी तरह से नुकसान से बचा नहीं जा सकता है, और बड़े रुझानों को निर्धारित करने के लिए मानव हस्तक्षेप की आवश्यकता होती है।
  3. स्टॉप लॉस की स्थिति बहुत ढीली है, और एकल नुकसान बहुत अधिक हो सकता है। स्टॉप लॉस को उचित रूप से छोटा किया जाना चाहिए।

रणनीति अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. सिग्नल की सटीकता बढ़ाने के लिए अन्य सहायक संकेतकों जैसे कि K-लाइन आकार, यातायात की मात्रा आदि को जोड़ना।
  2. एटीआर और CHOP के पैरामीटर को अनुकूलित करें ताकि वे मूल्य उतार-चढ़ाव को बेहतर ढंग से पकड़ सकें।
  3. गतिशील स्टॉप लॉस स्थिति सेट करें ताकि स्टॉप लॉस स्थान अधिक हो और स्टॉप लॉस अधिक तेज़ हो।
  4. बड़े स्तर पर रुझान का आकलन करने के बाद, रुझान में अधिक लाभ प्राप्त करने के लिए उचित रूप से स्टॉप लॉस रेंज को ढीला करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 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/
// © sharatgbhat

//@version=4
strategy("Weis Chop Strategy", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 10,max_lines_count = 500, max_labels_count = 500)
maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=input.float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

method = input(defval="ATR", options=["ATR", "Traditional", "Part of Price"], title="Renko Assignment Method")
methodvalue = input(defval=14.0, type=input.float, minval=0, title="Value")
pricesource = input(defval="Close", options=["Close", "Open / Close", "High / Low"], title="Price Source")
useClose = pricesource == "Close"
useOpenClose = pricesource == "Open / Close" or useClose
useTrueRange = input(defval="Auto", options=["Always", "Auto", "Never"], title="Use True Range instead of Volume")
isOscillating = input(defval=false, type=input.bool, title="Oscillating")
normalize = input(defval=false, type=input.bool, title="Normalize")
vol = useTrueRange == "Always" or useTrueRange == "Auto" and na(volume) ? tr : volume
op = useClose ? close : open
hi = useOpenClose ? close >= op ? close : op : high
lo = useOpenClose ? close <= op ? close : op : low

if method == "ATR"
    methodvalue := atr(round(methodvalue))
if method == "Part of Price"
    methodvalue := close / methodvalue

currclose = float(na)
prevclose = nz(currclose[1])
prevhigh = prevclose + methodvalue
prevlow = prevclose - methodvalue
currclose := hi > prevhigh ? hi : lo < prevlow ? lo : prevclose

direction = int(na)
direction := currclose > prevclose ? 1 : currclose < prevclose ? -1 : nz(direction[1])
directionHasChanged = change(direction) != 0
directionIsUp = direction > 0
directionIsDown = direction < 0

barcount = 1
barcount := not directionHasChanged and normalize ? barcount[1] + barcount : barcount
vol := not directionHasChanged ? vol[1] + vol : vol
res = barcount > 1 ? vol / barcount : vol

plot(isOscillating and directionIsDown ? -res : res, style=plot.style_columns, color=directionIsUp ? color.green : color.red, transp=75, linewidth=3, title="Wave Volume")

length = input(14, minval=1)
ci = 100 * log10(sum(atr(1), length) / (highest(length) - lowest(length))) / log10(length)
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(ci, "CHOP", color=#2962FF, offset = offset)
band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background")

MomentumBull = close>ema(close,8)
MomentumBear = close<ema(close,8)
Tradecon = crossunder(ci,61.8)

if (MomentumBull and directionIsUp and Tradecon)
	strategy.entry("Buy", strategy.long)
if (MomentumBear and directionIsDown and Tradecon )
    strategy.entry("Sell", strategy.short)
    strategy.exit("exit","Buy",when=directionIsDown,qty_percent=100,profit=20,loss=10)
    strategy.exit("exit","Sell",when=directionIsUp,qty_percent=100,profit=20,loss=10)