रेन्को एटीआर रुझान उलटने की रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-01 14:30:24
टैगः

img

अवलोकन

रेन्को एटीआर ट्रेंड रिवर्सल रणनीति एक अनूठा ट्रेडिंग दृष्टिकोण है जो वित्तीय बाजारों में ट्रेंड रिवर्सल बिंदुओं की पहचान करने के लिए औसत सच्ची रेंज (एटीआर) संकेतक के साथ संयोजन में रेन्को चार्ट का उपयोग करता है। रेन्को चार्ट के रीपेंटिंग मुद्दे को समाप्त करके, यह रणनीति मोड़ बिंदुओं को सटीक रूप से कैप्चर करने और ट्रेडिंग निर्णयों के लिए स्पष्ट संकेत प्रदान करने में सक्षम है।

रणनीति तर्क

रेन्को ईंट पीढ़ी

रणनीति पहले एक परिभाषित अवधि के लिए एटीआर मूल्य की गणना करती है और इस एटीआर का उपयोग रेन्को चार्ट के लिए ईंट आकार के रूप में करती है। जब मूल्य आंदोलन एक एटीआर से अधिक होते हैं तो नए रेन्को ईंटों को खींचा जाता है। इस तरह, रेन्को चार्ट स्वचालित रूप से बाजार की अस्थिरता के अनुकूल हो सकता है, उच्च अस्थिरता के लिए बड़े ईंट आकार और कम अस्थिरता अवधि के लिए छोटे ईंट आकार के साथ।

सिग्नल उत्पादन खरीदें और बेचें

एक खरीद संकेत तब उत्पन्न होता है जब रेंको चार्ट का ओपन प्राइस क्लोज प्राइस से नीचे जाता है। इसके विपरीत, एक सेल सिग्नल तब उत्पन्न होता है जब ओपन प्राइस क्लोज प्राइस से ऊपर जाता है। ये सिग्नल संभावित ट्रेंड रिवर्स पॉइंट्स को चिह्नित करते हैं।

हानि रोकें और लाभ लें

रणनीति गतिशील रूप से प्रत्येक व्यापार के लिए स्टॉप-लॉस और टेक-प्रॉफिट स्तरों को रेंको ओपन प्राइस के प्रतिशत के रूप में सेट करती है, जो उपयोगकर्ता द्वारा परिभाषित इनपुट मापदंडों के आधार पर होती है। यह प्रत्येक व्यापार के लिए जोखिम और लाभ को नियंत्रित करती है।

लाभ विश्लेषण

फिर से पेंट करने से बचाता है

खुलने और बंद होने की कीमतों की मैन्युअल गणना करके, फिर से पेंटिंग को समाप्त कर दिया जाता है, जिससे संकेत अधिक सटीक और समय पर होते हैं।

अस्थिरता के प्रति स्वतः अनुकूलता

एटीआर आधारित ईंट का आकार रणनीति को स्वचालित रूप से विभिन्न बाजार अस्थिरता स्थितियों के अनुकूल करने की अनुमति देता है।

गतिशील स्टॉप लॉस और ले लाभ

स्टॉप लॉस और टेक प्रॉफिट स्तरों को निर्धारित करने के लिए गतिशील तंत्र बाजार की अस्थिरता के आधार पर बेहतर जोखिम नियंत्रण की अनुमति देता है।

चार्ट दृश्य साफ़ करें

रेंको चार्ट बाजार के शोर को फ़िल्टर करता है और ट्रेंड रिवर्स को देखने के लिए एक साफ दृश्य प्रदान करता है।

जोखिम विश्लेषण

पैरामीटर अनुकूलन जोखिम

उपयोगकर्ताओं को विभिन्न बाजार वातावरणों के लिए एटीआर अवधि, स्टॉप लॉस प्रतिशत और लाभ प्रतिशत जैसे मापदंडों को अनुकूलित करने की आवश्यकता है। खराब मापदंड सेटिंग्स रणनीति प्रदर्शन को खराब कर सकती हैं।

घटना जोखिम

प्रमुख समाचार घटनाएं या नीति विज्ञप्ति स्टॉप लॉस से परे तेजी से फिसलने या लाभ स्तर लेने का कारण बन सकती हैं, जिससे बड़े नुकसान हो सकते हैं।

असफल रिवर्स जोखिम

कुछ मामलों में, संकेतित उल्टा पैटर्न वास्तविकता में विफल हो सकता है, जिससे ट्रेडों को नुकसान हो सकता है।

बढ़ोतरी के अवसर

कई समय सीमाओं का प्रयोग करना

समग्र रुझान की दिशा को मापने के लिए अधिक समय सीमा का उपयोग किया जा सकता है। कम समय सीमा गलत संकेतों को फ़िल्टर कर सकती है।

अन्य संकेतकों का संयोजन

गति, अस्थिरता या अन्य संकेतकों का संयोजन करके संकेत की गुणवत्ता में सुधार किया जा सकता है और झूठे संकेतों से बचा जा सकता है।

गतिशील लाभ समायोजन

बाजार की अस्थिरता और प्रवेश मूल्य और वर्तमान मूल्य के बीच की दूरी के आधार पर लाभ अनुपात को गतिशील रूप से समायोजित किया जा सकता है।

निष्कर्ष

रेन्को एटीआर ट्रेंड रिवर्सल रणनीति सफलतापूर्वक एटीआर संकेतक के साथ रेन्को चार्ट का उपयोग करता है ताकि वित्तीय बाजारों में स्वचालित रूप से ट्रेंड रिवर्सल पॉइंट्स का पता लगाया जा सके। प्रमुख लाभों में रीपेंटिंग उन्मूलन, बदलती अस्थिरता के लिए ऑटो-अनुकूली क्षमता और गतिशील स्टॉप लॉस / ले लाभ शामिल हैं। हालांकि, उपयोगकर्ताओं को पैरामीटर अनुकूलन जोखिमों, घटना जोखिमों और असफल रिवर्सल जोखिमों से सावधान रहने की आवश्यकता है। आगे के सुधारों में कई समय सीमाओं का उपयोग करना, अन्य संकेतकों को मिलाकर, और गतिशील ले लाभ समायोजन शामिल हो सकते हैं।


/*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))


अधिक