
यह रणनीति मूल्य चैनल का निर्माण करके, मूल्य की दूरी को केंद्र रेखा से गणना करके, और फिर एक समान रेखा फ़िल्टर सिग्नल के साथ संयोजन करके, प्रवृत्ति की पहचान और ट्रैकिंग को लागू करती है। जब कीमत चैनल को तोड़ती है तो यह एक व्यापार संकेत उत्पन्न करती है। इस रणनीति में दो विशेषताएं हैं।
इस रणनीति में समग्र रूप से काफी मजबूती है और यह मध्य-लंबी रुझानों को प्रभावी ढंग से ट्रैक करने में सक्षम है, जबकि ट्रेडिंग सिग्नल उत्पन्न करने के लिए रुझानों को तोड़ने के साथ संयुक्त है। पैरामीटर अनुकूलन और सिग्नल फ़िल्टरिंग के माध्यम से रणनीति को और बेहतर बनाया जा सकता है, जिससे यह अधिक किस्मों और बाजार की स्थिति के अनुकूल हो सके।
/*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)