यह रणनीति मध्य रेखा से मूल्य के विचलन की गणना करने के लिए एक मूल्य चैनल का निर्माण करके और संकेतों को फ़िल्टर करने के लिए चलती औसत का उपयोग करके रुझानों की पहचान और अनुसरण करती है। जब मूल्य चैनल के माध्यम से टूटता है तो ट्रेडिंग सिग्नल उत्पन्न होते हैं। रणनीति में रुझान का पालन और ब्रेकआउट दोनों विशेषताएं होती हैं।
यह रणनीति समग्र रूप से मध्यम से दीर्घकालिक रुझानों को प्रभावी ढंग से ट्रैक करने में काफी मजबूत है जबकि ट्रेंड ब्रेकआउट के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करती है। अधिक उत्पादों और बाजार वातावरण के लिए रणनीति को अनुकूलित करने के लिए पैरामीटर अनुकूलन और सिग्नल फ़िल्टरिंग के माध्यम से आगे के सुधार किए जा सकते हैं।
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.1", shorttitle = "NoroBands str 1.1", overlay=true) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") color = input(true, "Color") needbb = input(true, defval = false, title = "Show Bands") needbg = input(true, defval = false, title = "Show Background") src = close //PriceChannel 1 lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //dist dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma //Trend trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 90) //Signals up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0 dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 longCondition = up == 1 if (longCondition) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) shortCondition = dn == 1 if (shortCondition) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)