यह रणनीति ZZ संकेतक के मूल्य चैनल के आधार पर व्यापार करती है, जब मूल्य चैनल बैंड के ऊपर/नीचे टूट जाता है तो लंबी/लघु स्थिति लेती है। इसका उद्देश्य चैनल रेंज के बाहर ट्रेंड ब्रेक मूवमेंट को कैप्चर करना है।
विशेष रूप से, यह मूल्य चैनल बैंड की गणना करने के लिए ZZ संकेतक का उपयोग करता है। जब कीमत निचले बैंड से ऊपर की ओर टूटती है, तो लंबी हो जाती है। जब कीमत ऊपरी बैंड से नीचे टूटती है, तो छोटी हो जाती है। स्टॉप लॉस ऑर्डर का उपयोग चैनल बैंड के साथ स्टॉप लॉस स्तर के रूप में किया जाता है। ओवरनाइट जोखिमों से बचने के लिए ट्रेडिंग घंटे भी परिभाषित किए जाते हैं।
चैनल रेंज को चौड़ा करके, स्टॉप लॉस को अनुकूलित करके, ट्रेंड की ताकत को मापकर आदि जोखिमों को कम किया जा सकता है।
यह रणनीति प्रवृत्ति के प्रकोपों की पहचान करने के लिए मूल्य चैनल ब्रेकआउट का व्यापार करती है। पेशेवर सरल स्पष्ट संकेत और आसान संचालन हैं; विपक्ष वाइप्स और रुझानों पर सवारी करने में विफलता हैं। पैरामीटर अनुकूलन और रणनीति संयोजन पेशेवरों को बनाए रखते हुए विपक्षों को दूर कर सकता है। यह व्यापारियों को मूल्य चैनल तकनीकों को लागू करने में महारत हासिल करने में मदद करता है।
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's ZZ-4 Strategy", shorttitle = "Noro's ZZ-4 Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") len = input(7, minval = 1, title = "Length") showll = input(true, defval = true, title = "Show Levels") showbg = input(false, defval = false, title = "Show Background") showpc = input(false, defval = false, title = "Show Price Channel") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Price channel h = highest(ohlc4, len) l = lowest(ohlc4, len) pccol = showpc ? color.blue : na plot(h, color = pccol, transp = 0) plot(l, color = pccol, transp = 0) //Levels ml = 0 ml := l > l[1] ? 1 : l < l[1] ? -1 : ml[1] ll = 0.0 ll := ml == 1 and ml[1] == -1 ? l[1] : ll[1] mh = 0 mh := h > h[1] ? 1 : h < h[1] ? -1 : mh[1] hl = 0.0 hl := mh == -1 and mh[1] == 1 ? h[1] : hl[1] //Lines colorh = showll and hl == hl[1] ? color.lime : na colorl = showll and ll == ll[1] ? color.red : na plot(hl, color = colorh, linewidth = 2, transp = 0, title = "Long") plot(ll, color = colorl, linewidth = 2, transp = 0, title = "Short") //Background size = strategy.position_size trend = 0 trend := size > 0 ? 1 : size < 0 ? -1 : high >= hl ? 1 : low <= ll ? -1 : trend[1] bgcol = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na bgcolor(bgcol, transp = 80) //Trading truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1] if ll > 0 and hl > 0 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = hl, when=(truetime)) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = ll, when=(truetime)) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")