यह रणनीति सुपरट्रेंड संकेतक पर आधारित है और एटीआर का उपयोग एथेरियम में मजबूत रुझानों से लाभ कमाने के लिए गतिशील रूप से स्टॉप लॉस लाइनें सेट करने के लिए करती है। यह कॉइनबेस एक्सचेंज पर ईटीएच / यूएसडी ट्रेडिंग जोड़ी पर चल सकती है।
यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए एक क्लासिक प्रवृत्ति-अनुसरण सूचक - सुपरट्रेंड सूचक का उपयोग करती है। सुपरट्रेंड सूचक में दो रेखाएं होती हैंः
जब कीमत ऊपर की ओर से नीचे की ओर मुड़ती है, तो शॉर्ट पोजीशन खोलें। जब कीमत नीचे की ओर से ऊपर की ओर मुड़ती है, तो लंबी पोजीशन खोलें।
इसके अतिरिक्त, रणनीति स्टॉप लॉस लाइन को गतिशील रूप से समायोजित करने के लिए एटीआर संकेतक का उपयोग करती है। विशेष रूप से, अपट्रेंड स्टॉप लॉस लाइन स्थिति एक गुणांक से गुणा किए गए उच्चतम उच्च और निम्नतम निम्नतम माइनस एटीआर का औसत है; डाउनट्रेंड स्टॉप लॉस लाइन स्थिति एक गुणांक से गुणा किए गए उच्चतम उच्चतम और निम्नतम निम्नतम प्लस एटीआर का औसत है। यह बाजार की अस्थिरता के आधार पर स्टॉप लॉस को समायोजित करने की अनुमति देता है।
प्रवेश संकेतों को ट्रिगर करने के बाद, यदि मूल्य स्टॉप लॉस लाइन से ऊपर टूट जाता है, तो हानि के साथ रोकें।
यह एक अपेक्षाकृत परिपक्व प्रवृत्ति है जो निम्नलिखित लाभों के साथ रणनीति का पालन करती हैः
इस रणनीति के साथ कुछ जोखिम भी हैंः
उपरोक्त जोखिमों को कम करने के लिए, एटीआर गुणांक को समायोजित किया जा सकता है, या अन्य संकेतकों के साथ फ़िल्टर जोड़े जा सकते हैं। स्टॉप लॉस बफर पर भी विचार किया जा सकता है।
इसमें और सुधार की संभावना हैः
कुल मिलाकर यह एक परिपक्व और विश्वसनीय प्रवृत्ति के बाद की रणनीति है। यह प्रवृत्ति की दिशा निर्धारित करने के लिए सुपरट्रेंड संकेतक का उपयोग करता है और लाभ कमाने के दौरान जोखिमों को नियंत्रित करने के लिए एटीआर के साथ स्टॉप लॉस को अनुकूलित करता है। यह रणनीति उच्च अस्थिरता वाले क्रिप्टोकरेंसी जैसे एथेरियम के लिए अच्छी तरह से काम करती है। आगे के अनुकूलन स्थिर प्रदर्शन के लिए अधिक बाजारों में इसके आवेदन का विस्तार कर सकते हैं।
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SuperTrend Strategy", overlay=true, initial_capital=2e3, process_orders_on_close=true, commission_type=strategy.commission.percent, commission_value=0.1 ) length = input(title="ATR Period", type=input.integer, defval=21) mult = input(title="ATR Multiplier", type=input.float, step=.25, defval=6.2) wicks = input(title="Take Wicks into Account ?", type=input.bool, defval=false) useDate = input(title="Start from Specific Date ?", defval=false) yearStart = input(title="Start Year", defval=2019) monthStart = input(title="Start Month", minval=1, maxval=12, defval=1) dayStart = input(title="Start Day", minval=1, maxval=31, defval=1) startTime = timestamp(yearStart, monthStart, dayStart, 0, 0) startFrom = useDate ? time(timeframe.period) >= startTime : true atr = mult * ta.atr(length) longStop = hl2 - atr longStopPrev = nz(longStop[1], longStop) longStop := (wicks ? low[1] : close[1]) > longStopPrev ? math.max(longStop, longStopPrev) : longStop shortStop = hl2 + atr shortStopPrev = nz(shortStop[1], shortStop) shortStop := (wicks ? high[1] : close[1]) < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and (wicks ? high : close) > shortStopPrev ? 1 : dir == 1 and (wicks ? low : close) < longStopPrev ? -1 : dir longColor = color.green shortColor = color.red plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor) plotshape(dir == 1 and dir[1] == -1 ? longStop : na, title="Long Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0) plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor) plotshape(dir == -1 and dir[1] == 1 ? shortStop : na, title="Short Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0) longCondition = dir[1] == -1 and dir == 1 if longCondition and startFrom strategy.entry("Long", strategy.long, stop=longStop) else strategy.cancel("Long") shortCondition = dir[1] == 1 and dir == -1 if shortCondition and startFrom strategy.entry("Short", strategy.short, stop=shortStop) else strategy.cancel("Short")