रेन्को एटीआर ट्रेंड रिवर्सल रणनीति एक अनूठा ट्रेडिंग दृष्टिकोण है जो वित्तीय बाजारों में ट्रेंड रिवर्सल बिंदुओं की पहचान करने के लिए औसत सच्ची रेंज (एटीआर) संकेतक के साथ संयोजन में रेन्को चार्ट का उपयोग करता है। रेन्को चार्ट के रीपेंटिंग मुद्दे को समाप्त करके, यह रणनीति मोड़ बिंदुओं को सटीक रूप से कैप्चर करने और ट्रेडिंग निर्णयों के लिए स्पष्ट संकेत प्रदान करने में सक्षम है।
रणनीति पहले एक परिभाषित अवधि के लिए एटीआर मूल्य की गणना करती है और इस एटीआर का उपयोग रेन्को चार्ट के लिए ईंट आकार के रूप में करती है। जब मूल्य आंदोलन एक एटीआर से अधिक होते हैं तो नए रेन्को ईंटों को खींचा जाता है। इस तरह, रेन्को चार्ट स्वचालित रूप से बाजार की अस्थिरता के अनुकूल हो सकता है, उच्च अस्थिरता के लिए बड़े ईंट आकार और कम अस्थिरता अवधि के लिए छोटे ईंट आकार के साथ।
एक खरीद संकेत तब उत्पन्न होता है जब रेंको चार्ट का ओपन प्राइस क्लोज प्राइस से नीचे जाता है। इसके विपरीत, एक सेल सिग्नल तब उत्पन्न होता है जब ओपन प्राइस क्लोज प्राइस से ऊपर जाता है। ये सिग्नल संभावित ट्रेंड रिवर्स पॉइंट्स को चिह्नित करते हैं।
रणनीति गतिशील रूप से प्रत्येक व्यापार के लिए स्टॉप-लॉस और टेक-प्रॉफिट स्तरों को रेंको ओपन प्राइस के प्रतिशत के रूप में सेट करती है, जो उपयोगकर्ता द्वारा परिभाषित इनपुट मापदंडों के आधार पर होती है। यह प्रत्येक व्यापार के लिए जोखिम और लाभ को नियंत्रित करती है।
खुलने और बंद होने की कीमतों की मैन्युअल गणना करके, फिर से पेंटिंग को समाप्त कर दिया जाता है, जिससे संकेत अधिक सटीक और समय पर होते हैं।
एटीआर आधारित ईंट का आकार रणनीति को स्वचालित रूप से विभिन्न बाजार अस्थिरता स्थितियों के अनुकूल करने की अनुमति देता है।
स्टॉप लॉस और टेक प्रॉफिट स्तरों को निर्धारित करने के लिए गतिशील तंत्र बाजार की अस्थिरता के आधार पर बेहतर जोखिम नियंत्रण की अनुमति देता है।
रेंको चार्ट बाजार के शोर को फ़िल्टर करता है और ट्रेंड रिवर्स को देखने के लिए एक साफ दृश्य प्रदान करता है।
उपयोगकर्ताओं को विभिन्न बाजार वातावरणों के लिए एटीआर अवधि, स्टॉप लॉस प्रतिशत और लाभ प्रतिशत जैसे मापदंडों को अनुकूलित करने की आवश्यकता है। खराब मापदंड सेटिंग्स रणनीति प्रदर्शन को खराब कर सकती हैं।
प्रमुख समाचार घटनाएं या नीति विज्ञप्ति स्टॉप लॉस से परे तेजी से फिसलने या लाभ स्तर लेने का कारण बन सकती हैं, जिससे बड़े नुकसान हो सकते हैं।
कुछ मामलों में, संकेतित उल्टा पैटर्न वास्तविकता में विफल हो सकता है, जिससे ट्रेडों को नुकसान हो सकता है।
समग्र रुझान की दिशा को मापने के लिए अधिक समय सीमा का उपयोग किया जा सकता है। कम समय सीमा गलत संकेतों को फ़िल्टर कर सकती है।
गति, अस्थिरता या अन्य संकेतकों का संयोजन करके संकेत की गुणवत्ता में सुधार किया जा सकता है और झूठे संकेतों से बचा जा सकता है।
बाजार की अस्थिरता और प्रवेश मूल्य और वर्तमान मूल्य के बीच की दूरी के आधार पर लाभ अनुपात को गतिशील रूप से समायोजित किया जा सकता है।
रेन्को एटीआर ट्रेंड रिवर्सल रणनीति सफलतापूर्वक एटीआर संकेतक के साथ रेन्को चार्ट का उपयोग करता है ताकि वित्तीय बाजारों में स्वचालित रूप से ट्रेंड रिवर्सल पॉइंट्स का पता लगाया जा सके। प्रमुख लाभों में रीपेंटिंग उन्मूलन, बदलती अस्थिरता के लिए ऑटो-अनुकूली क्षमता और गतिशील स्टॉप लॉस / ले लाभ शामिल हैं। हालांकि, उपयोगकर्ताओं को पैरामीटर अनुकूलन जोखिमों, घटना जोखिमों और असफल रिवर्सल जोखिमों से सावधान रहने की आवश्यकता है। आगे के सुधारों में कई समय सीमाओं का उपयोग करना, अन्य संकेतकों को मिलाकर, और गतिशील ले लाभ समायोजन शामिल हो सकते हैं।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='[tradinghook] - Renko Trend Reversal Strategy', shorttitle='[tradinghook] - Renko TRS', overlay=true ,initial_capital = 100, commission_value = 0.05, default_qty_value = 5) // INPUTS renkoATRLength = input.int(10, minval=1, title='ATR Length') stopLossPct = input.float(3, title='Stop Loss Percentage', step=0.1) takeProfitPct = input.float(20, title='Take Profit Percentage', step=0.1) startDate = input(timestamp("01 July 2023 00:00"), title="Start Date") endDate = input(timestamp("31 Dec 2025 23:59"), title="End Date") enableShorts = input.bool(true, title="Enable Shorts") var float stopLossPrice = na var float takeProfitPrice = na atr = ta.atr(renkoATRLength) // thanks to https://www.tradingview.com/script/2vKhpfVH-Renko-XZ/ for manually calculating renkoClose and renkoOpen in order to remove repaint getRenkoClose() => p1 = 0.0 p1 := close > nz(p1[1]) + atr ? nz(p1[1]) + atr : close < nz(p1[1]) - atr ? nz(p1[1]) - atr : nz(p1[1]) p1 Renko3() => p3 = 0.0 p3 := open > nz(p3[1]) + atr ? nz(p3[1]) + atr : open < nz(p3[1]) - atr ? nz(p3[1]) - atr : nz(p3[1]) p3 getRenkoOpen() => open_v = 0.0 Br_2 = Renko3() open_v := Renko3() != Renko3()[1] ? Br_2[1] : nz(open_v[1]) open_v renkoOpen = getRenkoOpen() renkoClose = getRenkoClose() // COLORS colorGreen = #089981 colorRed = #F23645 bgTransparency = 95 bgColorRed = color.new(colorRed, bgTransparency) bgColorGreen = color.new(colorGreen, bgTransparency) lineColor = renkoClose < renkoOpen ? colorRed : colorGreen bgColor = renkoClose < renkoOpen ? bgColorRed : bgColorGreen // PLOTS plot(renkoOpen, title="Renko Open", style=plot.style_line, linewidth=2, color=lineColor) bgcolor(bgColor) // SIGNALS isWithinTimeRange = true buySignal = ta.crossunder(renkoOpen, renkoClose) and isWithinTimeRange sellSignal = ta.crossover(renkoOpen, renkoClose) and isWithinTimeRange and enableShorts if (buySignal) stopLossPrice := renkoOpen * (1 - stopLossPct / 100) takeProfitPrice := renkoOpen * (1 + takeProfitPct / 100) strategy.entry("Long", strategy.long) strategy.exit("ExitLong", "Long", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice)) if (sellSignal) stopLossPrice := renkoOpen * (1 + stopLossPct / 100) takeProfitPrice := renkoOpen * (1 - takeProfitPct / 100) strategy.entry("Short", strategy.short) strategy.exit("ExitShort", "Short", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice))