रेन्को और सापेक्ष शक्ति सूचकांक पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2024-02-04 15:49:19 अंत में संशोधित करें: 2024-02-04 15:49:19
कॉपी: 1 क्लिक्स: 686
1
ध्यान केंद्रित करना
1617
समर्थक

रेन्को और सापेक्ष शक्ति सूचकांक पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

इस रणनीति में रेन्को चार्ट और सापेक्ष गतिशीलता सूचकांक (RVI) के दो संकेतकों को मिलाया गया है, जिसका उद्देश्य बाजार के प्रमुख रुझानों के अधिकांश घटनाओं को पकड़ना है।

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

रणनीति 9 एटीआर का उपयोग करती है ताकि रेन्को पिच का निर्माण किया जा सके, जब समापन मूल्य पिछले रेन्को पिच के उच्च बिंदु से अधिक हो, तो एक नया पिच बनाया जाए, जो हरे रंग का है; जब समापन मूल्य पिछले रेन्को पिच के निचले बिंदु से कम हो, तो एक नया पिच बनाया जाए, जो लाल रंग का है। RVI सूचक के साथ संयोजन में प्रवृत्ति की दिशा निर्धारित की जाती है।

आरवीआई सूचकांक का उपयोग मल्टीहेड फोर्स और हेडहेड फोर्स की तुलनात्मक ताकत का आकलन करने के लिए किया जाता है। आरवीआई मान 0 से 1 के बीच में उतार-चढ़ाव करते हैं, 0.5 से अधिक का मतलब है कि मल्टीहेड फोर्स हेडहेड फोर्स से मजबूत है; 0.5 से कम का मतलब है कि हेडहेड फोर्स हेडहेड फोर्स से मजबूत है। जब आरवीआई अपने स्लाइडिंग मूविंग एवरेज को पार करता है, तो हेडहेड फोर्स कमजोर हो जाती है, मल्टीहेड फोर्स बढ़ जाती है, और अधिक संकेत देती है; जब आरवीआई अपने स्लाइडिंग मूविंग एवरेज को पार करता है, तो हेडहेड फोर्स कमजोर हो जाती है, और हेडहेड फोर्स बढ़ जाती है, और अधिक संकेत देती है।

संयुक्त रेंको फ्लेक्स दिशा और आरवीआई सूचक के साथ एक अधिक शून्य संकेत, जो संबंधित बहु-हेड या शून्य-हेड स्थिति में प्रवेश करता है।

रणनीतिक लाभ

  1. रेनको ने सामान्य बाजार उतार-चढ़ाव को अलग-थलग कर दिया है, केवल बड़े पैमाने पर मूल्य परिवर्तन पर ध्यान केंद्रित करने से बचने के लिए।
  2. आरवीआई संकेतकों ने ट्रेड सिग्नल को और अधिक लॉक करने के लिए रुझान में बदलाव का समय निर्धारित किया।
  3. दोनों सूचकांकों के संयोजन के माध्यम से फ़िल्टरिंग, बाजार के प्रमुख रुझानों को प्रभावी ढंग से पकड़ने और कुछ शोर को फ़िल्टर करने के लिए।

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

  1. रेनको का आकार ट्रेडिंग की आवृत्ति को प्रभावित करता है, जबकि रेनको का आकार ट्रेडिंग की आवृत्ति और शुल्क को बढ़ाता है।
  2. RVI सूचकांक पैरामीटर की गलत सेटिंग भी एक मिस सिग्नल या झूठे सिग्नल को बढ़ा सकती है।
  3. डबल इंडिकेटर फ़िल्टरिंग कुछ संकेतों को याद कर सकती है और पूरी घटना को पकड़ नहीं सकती है।

अनुकूलन दिशा

  1. गतिशील रूप से अनुकूलित Renko सिक्का आकार, बाजार में उतार-चढ़ाव के लिए अनुकूलित।
  2. आरवीआई सूचकांक के पैरामीटर को अनुकूलित करें और इष्टतम संतुलन बिंदु ढूंढें।
  3. स्थिरता का आकलन करने के लिए विभिन्न किस्मों और चक्रों के संयोजन का प्रयास करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Lancelot RR Strategy", overlay=false)
p=9
CO=close-open
HL=high-low
value1 = (CO + 2*CO[1] + 2*CO[2] + CO[3])/6
value2 = (HL + 2*HL[1] + 2*HL[2] + HL[3])/6
num=sum(value1,p)
denom=sum(value2,p)
RVI=denom!=0?num/denom:0
RVIsig=(RVI+ 2*RVI[1] + 2*RVI[2] + RVI[3])/6

rvicloselongcondition = crossunder(RVI, RVIsig)
rvicloseshortcondition = crossover(RVI, RVIsig)

plot(RVI,color=green,style=line,linewidth=1)
plot(RVIsig,color=red,style=line,linewidth=1)
bgcolor(rvicloseshortcondition ? green : na, transp = 75)
bgcolor(rvicloselongcondition ? red : na, transp = 75)

///Renko///
TF = input(title='TimeFrame', defval="D")
ATRlength = input(title="ATR length",  defval=9, minval=2, maxval=100)
SMAlength = input(title="SMA length",  defval=5, minval=2, maxval=100)
SMACurTFlength = input(title="SMA CurTF length",  defval=20, minval=2, maxval=100)

HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, atr(ATRlength))
SMA = request.security(syminfo.tickerid, TF, sma(close, SMAlength))
SMACurTF = sma(close, SMACurTFlength)

RENKOUP = na
RENKODN = na
H = na
COLOR = na
BUY = na
SELL = na
UP = na
DN = na
CHANGE = na

RENKOUP := na(RENKOUP[1]) ? ((HIGH+LOW)/2)+(ATR/2) : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? ((HIGH+LOW)/2)-(ATR/2) : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP-RENKODN : RENKOUP[1]-RENKODN[1]
COLOR := na(COLOR[1]) ? white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false

if(not CHANGE and close >= RENKOUP[1]+H*3)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR*3
    RENKODN := RENKOUP[1]+ATR*2
    COLOR := lime
    SELL := 0
    BUY := BUY+3

if(not CHANGE and close >= RENKOUP[1]+H*2)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR*2
    RENKODN := RENKOUP[1]+ATR
    COLOR := lime
    SELL := 0
    BUY := BUY+2

if(not CHANGE and close >= RENKOUP[1]+H)
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1]+ATR
    RENKODN := RENKOUP[1]
    COLOR := lime
    SELL := 0
    BUY := BUY+1

if(not CHANGE and close <= RENKODN[1]-H*3)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR*3
    RENKOUP := RENKODN[1]-ATR*2
    COLOR := red
    BUY := 0
    SELL := SELL+3

if(not CHANGE and close <= RENKODN[1]-H*2)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR*2
    RENKOUP := RENKODN[1]-ATR
    COLOR := red
    BUY := 0
    SELL := SELL+2

if(not CHANGE and close <= RENKODN[1]-H)
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1]-ATR
    RENKOUP := RENKODN[1]
    COLOR := red
    BUY := 0
    SELL := SELL+1
    
plotshape(UP, style=shape.arrowup, location=location.bottom, size=size.normal)

renkolongcondition = UP
renkoshortcondition = DN

///Long Entry///
longcondition = UP
if (longcondition)
    strategy.entry("Long", strategy.long)
    
///Long exit///
closeconditionlong = rvicloselongcondition
if (closeconditionlong)
    strategy.close("Long")