ट्रेंड ट्रैकिंग रिवर्सल रणनीति एक ट्रेंड ट्रेडिंग रणनीति है जो मूविंग एवरेज और प्राइस एक्सट्रीम पर आधारित है। यह रणनीति कीमत के रुझानों को ट्रैक करने के लिए दो मूविंग एवरेज का उपयोग करती है और ट्रेंड रिवर्स होने पर रिवर्स पोजीशन खोलती है। साथ ही, यह हाल की के-लाइनों के उच्चतम और निम्नतम कीमतों के आधार पर एक मूल्य चैनल की गणना भी करती है ताकि कीमतें चैनल की सीमाओं के करीब आने पर नुकसान को रोक सकें, जिससे जोखिमों को और नियंत्रित किया जा सके।
यह रणनीति मूल्य प्रवृत्तियों को ट्रैक करने के लिए 3 अवधि के उच्च और निम्न बिंदु चलती औसत एचएमए और एलएमए का उपयोग करती है। जब कीमतें एचएमए से ऊपर जाती हैं, तो इसे तेजी के रूप में व्याख्या की जाती है; जब कीमतें एलएमए से नीचे जाती हैं, तो इसे मंदी के रूप में व्याख्या की जाती है।
रणनीति में हाल के बार K-लाइनों के भीतर उच्चतम और निम्नतम कीमतों के आधार पर मूल्य चैनल के ऊपरी और निचले रेल (अपलेवल और dnlevel) की गणना भी की जाती है। अपलेवल हाल के बार K-लाइनों में उच्चतम मूल्य है और ऊपर की ओर एक रिट्रेसमेंट गुणांक है; dnlevel हाल के बार K-लाइनों में सबसे कम मूल्य है और नीचे की ओर एक रिट्रेसमेंट गुणांक है। यह मूल्य चैनल रेंज का गठन करता है।
लॉन्ग पोजीशन खोलने पर स्टॉप लॉस की कीमत चैनल के ऊपरी रेल पर सेट की जाती है; शॉर्ट पोजीशन खोलने पर स्टॉप लॉस की कीमत चैनल के निचले रेल पर सेट की जाती है। इससे प्रभावी रूप से मूल्य उलटों से होने वाले नुकसान के जोखिम को नियंत्रित किया जाता है।
जब एक रिवर्स सिग्नल दिखाई देता है, तो रणनीति तुरंत नई मूल्य प्रवृत्ति को ट्रैक करने के लिए खुली स्थितियों को उलट देगी। यह रिवर्स ट्रैक करने के पीछे का सिद्धांत है।
सुधार:
आगे अनुकूलन के लिए जगह हैः
कुछ अमान्य संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों को पेश किया जा सकता है, जैसे कि एमएसीडी, केडी आदि।
जोखिमों को और अधिक नियंत्रित करने के लिए अनुकूलन स्टॉप लॉस लॉजिक जोड़ा जा सकता है, जैसे कि स्टॉप लॉस, बैलेंस स्टॉप लॉस आदि को स्थानांतरित करना।
रणनीति प्रदर्शन पर विभिन्न मापदंडों के प्रभाव का परीक्षण करें और मापदंड संयोजनों का अनुकूलन करें, जैसे एमए चक्र लंबाई, पुनरावृत्ति गुणांक आकार, आदि।
रणनीति वर्तमान में समयबद्ध सत्रों में व्यापार करती है। इसे पूरे दिन के व्यापार के लिए भी समायोजित किया जा सकता है। इसके लिए अतिरिक्त फ़िल्टरिंग नियमों की आवश्यकता हो सकती है।
संक्षेप में, यह एक ट्रेंड रिवर्स ट्रेडिंग रणनीति है जो मूल्य चैनलों और चलती औसत को जोड़ती है। रुझानों और समय पर रिवर्स ओपनिंग पदों को ट्रैक करके, यह प्रभावी रूप से मूल्य आंदोलनों का पालन कर सकता है। साथ ही, मूल्य चैनलों और रिवर्स ओपनिंग के जोखिम नियंत्रण उपायों से इसे एकल नुकसान को प्रभावी ढंग से नियंत्रित करने में भी सक्षम बनाता है। रणनीति विचार सरल और स्पष्ट है, और लाइव ट्रेडिंग में आगे परीक्षण और अनुकूलन के लायक है।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=3 strategy(title = "Noro's 3Bars Strategy by Larry Williams", shorttitle = "3Bars", 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") showos = input(true, defval = true, title = "Show Levels one side") showcl = input(false, defval = false, title = "Show Levels continuous line") 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") len = input(3) hma = sma(high, len) lma = sma(low, len) plot(hma) plot(lma) //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] //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) //Lines upcol = na upcol := showll == false ? na : uplevel != uplevel[1] and showcl == false ? na : showos and trend[1] == 1 ? na : lime plot(uplevel, color = upcol, linewidth = 2) dncol = na dncol := showll == false ? na : dnlevel != dnlevel[1] and showcl == false ? na : showos and trend[1] == -1 ? na : red plot(dnlevel, color = dncol, linewidth = 2) //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) strategy.entry("Long stop", strategy.short, 0, stop = lma) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel) strategy.entry("Short stop", strategy.long, 0, stop = hma) // if time > timestamp(toyear, tomonth, today, 23, 59) // strategy.close_all()