यह रणनीति बाजार में उतार-चढ़ाव की दिशा और तीव्रता का न्याय करने के लिए के-लाइन के उच्चतम और निम्नतम मूल्य में परिवर्तन का उपयोग करती है, और अल्पकालिक संचालन को लागू करने के लिए समग्र प्रवृत्ति का न्याय करने के लिए चलती औसत को जोड़ती है। यह मुख्य रूप से स्पष्ट उतार-चढ़ाव वाली किस्मों के लिए उपयुक्त है।
यह रणनीति पहले पिछले के-लाइन के सापेक्ष के-लाइन के उच्चतम और निम्नतम मूल्य में परिवर्तनों का न्याय करती है। यदि उच्चतम मूल्य बढ़ता है, तो इसे 1 के रूप में दर्ज किया जाता है। यदि निम्नतम मूल्य गिरता है, तो इसे -1 के रूप में दर्ज किया जाता है, अन्यथा इसे 0 के रूप में दर्ज किया जाता है। फिर बाजार के दोलन की दिशा और तीव्रता का न्याय करने के लिए एक निश्चित चक्र के भीतर उच्चतम और निम्नतम कीमतों में परिवर्तनों के औसत मूल्य की गणना करें।
इसी समय, रणनीति सबसे हाल के चक्र में उच्चतम और निम्नतम कीमतों को रिकॉर्ड करती है। जब चलती औसत एक रुझान उलट निर्धारित करती है, तो स्टॉप लॉस और लाभ स्तर बनाने के लिए प्रमुख मूल्य स्तरों को निर्धारित करने के लिए दर्ज की गई कीमतों के साथ संयुक्त होती है।
प्रवेश की दिशा चलती औसत द्वारा निर्धारित की जाती है। ऊपरी रेल के ऊपर लंबा जाओ और निचले रेल के नीचे छोटा जाओ। स्टॉप लॉस और ले लाभ स्तर प्रमुख मूल्य स्तरों का न्याय करके गठित किए जाते हैं।
इस रणनीति का सबसे बड़ा लाभ लाभ कमाने के लिए अल्पकालिक उतार-चढ़ाव की विशेषताओं का पूरा उपयोग करना है। प्रमुख मूल्य स्तरों के आधार पर स्टॉप लॉस और ले लाभ निर्धारित करके, रणनीति स्पष्ट नियमों के तहत चलती है। साथ ही, यह प्रतिकूल बाजारों को फ़िल्टर करने और अनावश्यक नुकसान से बचने के लिए प्रवृत्ति निर्णय को जोड़ती है।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
बाजार में उतार-चढ़ाव नहीं होने पर कोई लाभ नहीं।
स्टॉप लॉस के स्तर को तोड़ने से होने वाले अनावश्यक नुकसान। स्टॉप लॉस रेंज को उचित रूप से बढ़ाया जा सकता है।
प्रवृत्ति का गलत आकलन अवसरों को याद कर सकता है या विपरीत दिशा में संचालन कर सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
विभिन्न किस्मों की विशेषताओं के अनुकूल चलती औसत चक्र को समायोजित करें।
लाभ और हानि को संतुलित करने के लिए स्टॉप लाभ और स्टॉप हानि सीमा को अनुकूलित करें।
गलत संचालन से बचने के लिए निर्णय के लिए अन्य संकेतक जोड़ें।
अधिकतम हानि को नियंत्रित करने के लिए स्वचालित स्टॉप हानि जोड़ें.
सामान्य तौर पर, यह रणनीति एक ऐसी है जो अल्पकालिक उतार-चढ़ाव का लाभ उठाती है। यह लाभ कमाने के लिए छोटे मूल्य आंदोलनों का पूरा उपयोग करती है। साथ ही, यह जोखिमों को सख्ती से नियंत्रित करती है और समय पर नुकसान में कटौती करती है जब प्रवृत्ति प्रतिकूल होती है। यह उन निवेशकों के लिए उपयुक्त है जो अपेक्षाकृत सावधान रवैये के साथ स्थिर रिटर्न का पीछा करते हैं। उचित पैरामीटर समायोजन के साथ, यह उतार-चढ़ाव वाले बाजारों में अच्छे परिणाम प्राप्त कर सकता है।
/*backtest start: 2024-01-16 00:00:00 end: 2024-01-16 22:45:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's ZZ-3 Strategy", shorttitle = "ZZ-3 str", 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, %") corr = input(0.0, title = "Correction, %") bars = input(1, minval = 1) revers = input(false, defval = false, title = "revers") showll = input(true, defval = true, title = "Show Levels") showbg = input(false, defval = false, title = "Show Background") showar = input(false, defval = false, title = "Show Arrows") 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") //Levels hbar = 0 hbar := high > high[1] ? 1 : high < high[1] ? -1 : 0 lbar = 0 lbar := low > low[1] ? 1 : low < low[1] ? -1 : 0 uplevel = 0.0 dnlevel = 0.0 hh = highest(high, bars + 1) ll = lowest(low, bars + 1) uplevel := hbar == -1 and sma(hbar, bars)[1] == 1 ? hh + ((hh / 100) * corr) : uplevel[1] dnlevel := lbar == 1 and sma(lbar, bars)[1] == -1 ? ll - ((ll / 100) * corr) : dnlevel[1] //Lines upcol = na upcol := showll == false ? na : uplevel != uplevel[1] ? na : lime plot(uplevel, color = upcol, linewidth = 2) dncol = na dncol := showll == false ? na : dnlevel != dnlevel[1] ? na : red plot(dnlevel, color = dncol, linewidth = 2) //Background size = strategy.position_size trend = 0 trend := size > 0 ? 1 : size < 0 ? -1 : high >= uplevel ? 1 : low <= dnlevel ? -1 : trend[1] col = showbg == false ? na : trend == 1 ? lime : trend == -1 ? red : na bgcolor(col) //Arrows longsignal = false shortsignal = false longsignal := size > size[1] shortsignal := size < size[1] plotarrow(longsignal and showar and needlong ? 1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(shortsignal and showar and needshort ? -1 : na, colorup = blue, colordown = blue, transp = 0) //Trading lot = 0.0 lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1] if uplevel > 0 and dnlevel > 0 and revers == false strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if uplevel > 0 and dnlevel > 0 and revers == true strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnlevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = uplevel, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()