
এই কৌশলটি রেনকো চার্ট এবং আপেক্ষিক গতিশীলতা সূচক (RVI) দুটি সূচককে একত্রিত করে, যার লক্ষ্য বাজারের প্রধান প্রবণতাগুলির বেশিরভাগই ক্যাপচার করা। এটি বিটকয়েন, হ্যাম্পস এবং অন্যান্য মূলধারার জাতের জন্য প্রযোজ্য।
কৌশলটি রেনকো ব্রেক তৈরির জন্য 9 টি পিরিয়ডের এটিআর ব্যবহার করে, যখন বন্ধের দাম পূর্ববর্তী রেনকো ব্রেকের উচ্চতা অতিক্রম করে তখন একটি নতুন ব্রেক তৈরি করা হয়, রঙটি সবুজ; যখন বন্ধের দাম পূর্ববর্তী রেনকো ব্রেকের নিম্নের চেয়ে কম হয় তখন একটি নতুন ব্রেক তৈরি করা হয়, রঙটি লাল। আরভিআই সূচকগুলির সাথে মিলিত হয়ে ট্রেন্ডের দিকনির্দেশ দেয়।
আরভিআই সূচকটি মাল্টিহেড ফোর্স এবং এয়ারহেড ফোর্সের তুলনামূলক শক্তি নির্ধারণের জন্য ব্যবহৃত হয়। আরভিআই মান ০-১ এর মধ্যে ওঠানামা করে, ০.৫ এর বেশি মাল্টিহেড ফোর্স শূন্যতার চেয়ে শক্তিশালী; ০.৫ এর নিচে খালি হেড ফোর্স মাল্টিহেডের চেয়ে শক্তিশালী। যখন আরভিআই এর উপরে তার সমতল চলমান গড় অতিক্রম করে, তখন খালি হেড ফোর্স দুর্বল হয়ে যায়, এবং মাল্টিহেড ফোর্স শক্তিশালী হয়, আরও সংকেত দেয়। যখন আরভিআই এর নীচে তার সমতল চলমান গড় অতিক্রম করে, তখন মাল্টিহেড ফোর্স দুর্বল হয়, এবং খালি হেড ফোর্স শক্তিশালী হয়, খালি সংকেত দেয়।
সমন্বিত রেঙ্কো খাঁজ দিকনির্দেশ এবং আরভিআই সূচক দ্বারা করা একাধিক শূন্য সংকেত, সংশ্লিষ্ট মাল্টি হেড বা খালি হেড পজিশনে প্রবেশ করুন।
এই কৌশলটি দুটি ভিন্ন ধরণের সূচকের সুবিধাগুলিকে একত্রিত করে, যার লক্ষ্য বাজারের মূলধারার প্রবণতাগুলিকে ধরে রাখা। রেঙ্কো এবং আরভিআই প্যারামিটারগুলির অপ্টিমাইজেশনের মাধ্যমে উচ্চতর স্থায়িত্ব অর্জন করা যায়। তবে কোনও মডেলই নিখুঁত নয়, নির্দিষ্ট সংকেতগুলি মিস করা অনিবার্য, মূল বিষয়টি মূল দিকটি বোঝা। ব্যবহারকারীকে স্পষ্টভাবে তার ঝুঁকি পছন্দগুলি মূল্যায়ন করতে হবে এবং তার নিজস্ব জাত এবং প্যারামিটারগুলির জন্য উপযুক্ত পছন্দগুলি বেছে নিতে হবে।
/*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")