यह रणनीति सुपरट्रेंड संकेतक और डीईएमए संकेतक को एक प्रवृत्ति के बाद ट्रेडिंग रणनीति को लागू करने के लिए जोड़ती है। यह खरीद संकेत उत्पन्न करता है जब कीमत ऊपरी बैंड के माध्यम से टूटती है और बेच संकेत जब कीमत निचले बैंड के माध्यम से टूटती है। डीईएमए संकेतक का उपयोग झूठे संकेतों को फ़िल्टर करने के लिए किया जाता है। यह रणनीति प्रवृत्ति बाजारों के लिए अच्छी तरह से काम करती है और प्रभावी रूप से रुझानों का पालन कर सकती है और समेकन को फ़िल्टर कर सकती है।
इस रणनीति का मूल मूल्य की प्रवृत्ति दिशा निर्धारित करने के लिए सुपरट्रेंड संकेतक पर निर्भर करता है। सुपरट्रेंड संकेतक एटीआर संकेतक को शामिल करता है और प्रभावी रूप से मूल्य रुझानों की पहचान कर सकता है। जब कीमतें बढ़ती हैं, तो एक ऊपरी बैंड बन जाएगा, और जब कीमतें गिरती हैं, तो एक निचला बैंड बन जाएगा। निचले बैंड से ब्रेकआउट एक प्रवृत्ति उलट का संकेत देता है और एक खरीद संकेत उत्पन्न करता है। ऊपरी बैंड से ब्रेकआउट एक प्रवृत्ति उलट का संकेत देता है और एक बेच संकेत उत्पन्न करता है।
झूठे संकेतों को फ़िल्टर करने के लिए, इस रणनीति में डीईएमए संकेतक भी शामिल है। खरीद संकेत केवल तभी उत्पन्न होते हैं जब कीमतें ऊपरी बैंड को तोड़ती हैं और डीईएमए लाइन से ऊपर होती हैं। बिक्री संकेत केवल तभी उत्पन्न होते हैं जब कीमतें निचले बैंड को तोड़ती हैं और डीईएमए लाइन से नीचे होती हैं। यह प्रभावी रूप से रेंजिंग बाजारों में झूठे संकेतों को फ़िल्टर करता है।
विशेष रूप से, ट्रेडिंग सिग्नल का तर्क इस प्रकार हैः
इस तार्किक डिजाइन के माध्यम से, रणनीति ट्रेंडिंग बाजारों में रुझानों का पालन कर सकती है और विभिन्न बाजारों में अक्सर पदों को खोलने से बच सकती है।
जोखिम प्रबंधन:
इस रणनीति को निम्नलिखित पहलुओं से बढ़ाया जा सकता हैः
सुपरट्रेंड पैरामीटर अनुकूलन। इष्टतम पैरामीटर खोजने के लिए विभिन्न एटीआर अवधि संयोजनों का परीक्षण करें।
डीईएमए पैरामीटर अनुकूलन. इष्टतम सेटिंग्स निर्धारित करने के लिए विभिन्न मूल्यों का परीक्षण करें.
स्टॉप लॉस तंत्र जोड़ें. ओवरसाइज स्टॉप को रोकने के लिए एटीआर मानों के आधार पर स्टॉप लॉस सेट करें.
सिग्नल फ़िल्टर जोड़ें. झूठे संकेतों को रोकने के लिए प्रमुख बिंदुओं पर अन्य संकेतकों से पुष्टि बढ़ाएं. उदाहरण के लिए, प्रवृत्ति उलट बिंदुओं पर वॉल्यूम पुष्टि जोड़ें.
बाजार की अस्थिरता और जोखिमों के आधार पर गतिशील रूप से आकार समायोजित करें।
यह रणनीति सुपरट्रेंड और डीईएमए संकेतकों की ताकतों को ट्रेंड फॉलो और सिग्नल फ़िल्टरिंग के आधार पर एक मात्रात्मक ट्रेडिंग रणनीति को लागू करने के लिए जोड़ती है। स्थिरता और लाभप्रदता में और सुधार के लिए पैरामीटर ट्यूनिंग, स्टॉप लॉस और सिग्नल फ़िल्टर के माध्यम से अनुकूलन के लिए पर्याप्त जगह है। रणनीति तर्क नियंत्रित जोखिमों के साथ लागू करने के लिए सरल और आसान है। यह लाइव ट्रेडिंग के लिए उपयुक्त है।
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Krish\'s Supertrend Strategy', overlay=true) // Supertrend Settings Periods = input(title='ATR Period', defval=10) src = input(hl2, title='Source') Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0) changeATR = input(title='Change ATR Calculation Method ?', defval=true) showsignals = input(title='Show Buy/Sell Signals ?', defval=true) highlighting = input(title='Highlighter On/Off ?', defval=true) atr2 = ta.sma(ta.tr, Periods) atr = changeATR ? ta.atr(Periods) : atr2 up = src - Multiplier * atr up1 = nz(up[1], up) up := close[1] > up1 ? math.max(up, up1) : up dn = src + Multiplier * atr dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? math.min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0)) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0)) plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0)) dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0)) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0)) plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0)) // DEMA Settings dema_length = 200 dema = ta.ema(close, dema_length) // Long and Short Conditions longCondition = buySignal and close > dema shortCondition = sellSignal and close < dema // Strategy Entry and Exit strategy.entry('Long', strategy.long, when=longCondition) strategy.entry('Short', strategy.short, when=shortCondition) strategy.close('Long', when=ta.change(trend) or close < dema) strategy.close('Short', when=ta.change(trend) or close > dema) // Plotting mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0) longFillColor = highlighting ? trend == 1 ? color.green : color.white : color.white shortFillColor = highlighting ? trend == -1 ? color.red : color.white : color.white fill(mPlot, upPlot, title='UpTrend Highlighter', color=longFillColor, transp=90) fill(mPlot, dnPlot, title='DownTrend Highlighter', color=shortFillColor, transp=90) // Alerts (using plotshape for alerts in strategies) plotshape(buySignal, title='SuperTrend Buy', color=color.new(color.green, 0), style=shape.triangleup, size=size.small) plotshape(sellSignal, title='SuperTrend Sell', color=color.new(color.red, 0), style=shape.triangledown, size=size.small) changeCond = trend != trend[1] plotshape(changeCond, title='SuperTrend Direction Change', color=color.new(color.yellow, 0), style=shape.triangleup, size=size.small)