
इस रणनीति में रेन्को चार्ट और सापेक्ष गतिशीलता सूचकांक (RVI) के दो संकेतकों को मिलाया गया है, जिसका उद्देश्य बाजार के प्रमुख रुझानों के अधिकांश घटनाओं को पकड़ना है।
रणनीति 9 एटीआर का उपयोग करती है ताकि रेन्को पिच का निर्माण किया जा सके, जब समापन मूल्य पिछले रेन्को पिच के उच्च बिंदु से अधिक हो, तो एक नया पिच बनाया जाए, जो हरे रंग का है; जब समापन मूल्य पिछले रेन्को पिच के निचले बिंदु से कम हो, तो एक नया पिच बनाया जाए, जो लाल रंग का है। RVI सूचक के साथ संयोजन में प्रवृत्ति की दिशा निर्धारित की जाती है।
आरवीआई सूचकांक का उपयोग मल्टीहेड फोर्स और हेडहेड फोर्स की तुलनात्मक ताकत का आकलन करने के लिए किया जाता है। आरवीआई मान 0 से 1 के बीच में उतार-चढ़ाव करते हैं, 0.5 से अधिक का मतलब है कि मल्टीहेड फोर्स हेडहेड फोर्स से मजबूत है; 0.5 से कम का मतलब है कि हेडहेड फोर्स हेडहेड फोर्स से मजबूत है। जब आरवीआई अपने स्लाइडिंग मूविंग एवरेज को पार करता है, तो हेडहेड फोर्स कमजोर हो जाती है, मल्टीहेड फोर्स बढ़ जाती है, और अधिक संकेत देती है; जब आरवीआई अपने स्लाइडिंग मूविंग एवरेज को पार करता है, तो हेडहेड फोर्स कमजोर हो जाती है, और हेडहेड फोर्स बढ़ जाती है, और अधिक संकेत देती है।
संयुक्त रेंको फ्लेक्स दिशा और आरवीआई सूचक के साथ एक अधिक शून्य संकेत, जो संबंधित बहु-हेड या शून्य-हेड स्थिति में प्रवेश करता है।
इस रणनीति में दो अलग-अलग प्रकार के संकेतकों के फायदे शामिल हैं, जिसका उद्देश्य बाजार के मुख्यधारा के रुझानों को पकड़ना है। रेन्को और आरवीआई पैरामीटर के अनुकूलन के माध्यम से अधिक स्थिरता प्राप्त की जा सकती है। लेकिन कोई भी मॉडल सही नहीं है, कुछ संकेतों को याद करना अपरिहार्य है, मुख्य बात यह है कि प्रमुख दिशाओं को पकड़ना है। उपयोगकर्ताओं को अपनी जोखिम वरीयताओं का स्पष्ट रूप से आकलन करने और अपनी किस्म और पैरामीटर के लिए उपयुक्त विकल्प चुनने की आवश्यकता है।
/*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")