यह रणनीति बाजार में रुझान के अवसरों को पकड़ने के लिए सुपरट्रेंड संकेतक और बोलिंगर बैंड्स संकेतक को जोड़ती है। सुपरट्रेंड संकेतक का उपयोग वर्तमान बाजार की प्रवृत्ति दिशा निर्धारित करने के लिए किया जाता है, जबकि बोलिंगर बैंड्स संकेतक का उपयोग बाजार की अस्थिरता को मापने के लिए किया जाता है। एक लंबा संकेत तब उत्पन्न होता है जब समापन मूल्य सुपरट्रेंड लाइन से ऊपर टूट जाता है और निचले बोलिंगर बैंड से नीचे होता है, और एक छोटा संकेत तब उत्पन्न होता है जब समापन मूल्य सुपरट्रेंड लाइन से नीचे टूट जाता है और ऊपरी बोलिंगर बैंड से ऊपर होता है। इस रणनीति का लाभ यह है कि यह समय पर बाजार में प्रवेश कर सकता है जब प्रवृत्ति स्पष्ट होती है, जबकि एक चंचल बाजार में समय से पहले प्रवेश से बचा जाता है।
सुपरट्रेंड बोलिंगर बैंड संयोजन रणनीति एक प्रवृत्ति-अनुसरण रणनीति है जो दो बाजार कारकोंः प्रवृत्ति और अस्थिरता को मिलाकर प्रवृत्ति के अवसरों को प्रभावी ढंग से पकड़ सकती है। हालांकि, इस रणनीति की कुछ सीमाएं भी हैं, जैसे कि मापदंडों के प्रति संवेदनशीलता और उच्च अस्थिरता वाले वातावरण में जोखिम बढ़ना। इसलिए, वास्तविक अनुप्रयोग में, बाजार की विशेषताओं और किसी की अपनी जोखिम वरीयताओं के अनुसार रणनीति को उचित रूप से अनुकूलित और सुधारना आवश्यक है।
/*backtest start: 2024-03-21 00:00:00 end: 2024-03-28 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © sabhiv27 //@version=4 strategy("Supertrend & Bollinger Bands Strategy", shorttitle="ST_BB_Strategy", overlay=true) // Input options factor = input(3, title="Supertrend Factor") length = input(10, title="ATR Length") bollinger_length = input(20, title="Bollinger Bands Length") bollinger_deviation = input(2, title="Bollinger Bands Deviation") // Calculate True Range for Supertrend truerange = rma(tr, length) // Calculate Supertrend var float up_trend = na var float dn_trend = na var float trend = na up_signal = hl2 - (factor * truerange) dn_signal = hl2 + (factor * truerange) up_trend := close[1] > up_trend[1] ? max(up_signal, up_trend[1]) : up_signal dn_trend := close[1] < dn_trend[1] ? min(dn_signal, dn_trend[1]) : dn_signal trend := close > dn_trend ? 1 : close < up_trend ? -1 : nz(trend[1], 1) // Calculate Bollinger Bands basis = sma(close, bollinger_length) dev = stdev(close, bollinger_length) upper_band = basis + bollinger_deviation * dev lower_band = basis - bollinger_deviation * dev // Entry conditions long_condition = crossover(close, up_trend) and close < lower_band short_condition = crossunder(close, dn_trend) and close > upper_band // Exit conditions exit_long_condition = crossover(close, dn_trend) exit_short_condition = crossunder(close, up_trend) // Plot Supertrend plot(trend == 1 ? up_trend : dn_trend, color=trend == 1 ? color.green : color.red, linewidth=2) // Plot Bollinger Bands plot(upper_band, color=color.blue) plot(lower_band, color=color.blue) // Generate buy and sell signals strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) strategy.close("Long", when=exit_long_condition) strategy.close("Short", when=exit_short_condition)