रेन्को औसत ट्रू रेंज पर आधारित ट्रेंड रिवर्सल रणनीति


निर्माण तिथि: 2024-02-01 14:30:24 अंत में संशोधित करें: 2024-02-01 14:30:24
कॉपी: 0 क्लिक्स: 1467
1
ध्यान केंद्रित करना
1617
समर्थक

रेन्को औसत ट्रू रेंज पर आधारित ट्रेंड रिवर्सल रणनीति

अवलोकन

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

रणनीति सिद्धांत

रेन्को ब्लॉक उत्पन्न

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

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

जब रेन्को ने स्टॉक खोला, तो एक खरीद संकेत उत्पन्न हुआ। जब रेन्को ने स्टॉक खोला, तो एक बिक्री संकेत उत्पन्न हुआ। ये संकेत एक संभावित रुझान मोड़ का संकेत देते हैं।

स्टॉप और स्टॉप सेटिंग

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

श्रेष्ठता विश्लेषण

पिछड़ा चित्रण को समाप्त करना

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

स्वचालित रूप से बाजार में उतार-चढ़ाव के लिए अनुकूल

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

गतिशील स्टॉप-लॉस स्टॉप सेट करें

इस रणनीति में प्रत्येक ट्रेड के लिए गतिशील स्टॉप-लॉस और स्टॉप-स्टॉप तंत्र निर्धारित किए गए हैं, जो बाजार में उतार-चढ़ाव के आधार पर जोखिम को नियंत्रित कर सकते हैं।

सरलीकृत चार्ट दृश्य

रेनको चार्ट अपने आप में बाजार के शोर को मिटा देता है और रुझानों को पहचानने के लिए एक स्पष्ट और संक्षिप्त दृश्य प्रदान करता है।

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

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

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

आकस्मिकता का खतरा

प्रमुख आर्थिक घटनाओं या नीतियों के कारण तेजी से बढ़ोतरी हो सकती है, जिससे स्टॉपलॉस या स्टॉपहोल्ड स्तर को तोड़ दिया जाता है, जिससे अधिक नुकसान होता है।

रिवर्स विफलता का जोखिम

कुछ मामलों में, ट्रेडिंग सिग्नल द्वारा निर्धारित एक पलटाव विफल हो सकता है और कीमतों को उलटी दिशा में ले जाने में असमर्थ हो सकता है, जिससे नुकसान हो सकता है।

अनुकूलन दिशा

कई समय चक्रों को जोड़ना

उच्च समय अवधि में बड़े रुझानों का आकलन करने के लिए, प्रतिकूल ट्रेडिंग से बचें। कम समय अवधि में भी झूठे संकेतों को फ़िल्टर करें।

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

गति सूचक, उतार-चढ़ाव सूचक आदि के साथ संयोजन में उपयोग किया जाता है, जिससे संकेत की गुणवत्ता में सुधार होता है और गलत संकेतों से बचा जाता है।

गतिशील समायोजन स्टॉप दर

स्टॉप की दर को बाजार में उतार-चढ़ाव के स्तर और नवीनतम कीमतों और प्रवेश बिंदुओं से दूरी के आधार पर गतिशील रूप से समायोजित किया जा सकता है।

संक्षेप

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

रणनीति स्रोत कोड
/*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))