রেনকো এবং আপেক্ষিক প্রাণশক্তি সূচকের উপর ভিত্তি করে ট্রেন্ড অনুসরণ কৌশল


সৃষ্টির তারিখ: 2024-02-04 15:49:19 অবশেষে সংশোধন করুন: 2024-02-04 15:49:19
অনুলিপি: 1 ক্লিকের সংখ্যা: 686
1
ফোকাস
1617
অনুসারী

রেনকো এবং আপেক্ষিক প্রাণশক্তি সূচকের উপর ভিত্তি করে ট্রেন্ড অনুসরণ কৌশল

ওভারভিউ

এই কৌশলটি রেনকো চার্ট এবং আপেক্ষিক গতিশীলতা সূচক (RVI) দুটি সূচককে একত্রিত করে, যার লক্ষ্য বাজারের প্রধান প্রবণতাগুলির বেশিরভাগই ক্যাপচার করা। এটি বিটকয়েন, হ্যাম্পস এবং অন্যান্য মূলধারার জাতের জন্য প্রযোজ্য।

কৌশল নীতি

কৌশলটি রেনকো ব্রেক তৈরির জন্য 9 টি পিরিয়ডের এটিআর ব্যবহার করে, যখন বন্ধের দাম পূর্ববর্তী রেনকো ব্রেকের উচ্চতা অতিক্রম করে তখন একটি নতুন ব্রেক তৈরি করা হয়, রঙটি সবুজ; যখন বন্ধের দাম পূর্ববর্তী রেনকো ব্রেকের নিম্নের চেয়ে কম হয় তখন একটি নতুন ব্রেক তৈরি করা হয়, রঙটি লাল। আরভিআই সূচকগুলির সাথে মিলিত হয়ে ট্রেন্ডের দিকনির্দেশ দেয়।

আরভিআই সূচকটি মাল্টিহেড ফোর্স এবং এয়ারহেড ফোর্সের তুলনামূলক শক্তি নির্ধারণের জন্য ব্যবহৃত হয়। আরভিআই মান ০-১ এর মধ্যে ওঠানামা করে, ০.৫ এর বেশি মাল্টিহেড ফোর্স শূন্যতার চেয়ে শক্তিশালী; ০.৫ এর নিচে খালি হেড ফোর্স মাল্টিহেডের চেয়ে শক্তিশালী। যখন আরভিআই এর উপরে তার সমতল চলমান গড় অতিক্রম করে, তখন খালি হেড ফোর্স দুর্বল হয়ে যায়, এবং মাল্টিহেড ফোর্স শক্তিশালী হয়, আরও সংকেত দেয়। যখন আরভিআই এর নীচে তার সমতল চলমান গড় অতিক্রম করে, তখন মাল্টিহেড ফোর্স দুর্বল হয়, এবং খালি হেড ফোর্স শক্তিশালী হয়, খালি সংকেত দেয়।

সমন্বিত রেঙ্কো খাঁজ দিকনির্দেশ এবং আরভিআই সূচক দ্বারা করা একাধিক শূন্য সংকেত, সংশ্লিষ্ট মাল্টি হেড বা খালি হেড পজিশনে প্রবেশ করুন।

কৌশলগত সুবিধা

  1. রেঙ্কো স্বাভাবিক বাজার ওঠানামা থেকে বিরত থাকে এবং দামের বড় ধরনের পরিবর্তনের দিকে নজর দেয়।
  2. RVI সূচকটি ট্রেন্ডের বিপরীত হওয়ার সময় নির্ধারণ করে এবং ট্রেডিং সিগন্যালকে আরও লক করে দেয়।
  3. এই দুটি সূচককে একত্রিত করে একটি ফিল্টার তৈরি করা হয়, যা বাজারের প্রধান প্রবণতাকে কার্যকরভাবে ধরতে এবং কিছু শব্দকে ফিল্টার করতে পারে।

ঝুঁকি বিশ্লেষণ

  1. রেঙ্কো মুদ্রার আকার সরাসরি লেনদেনের ঘনত্বকে প্রভাবিত করে, যা মুদ্রাস্ফীতি সম্মেলনকে একটি সুযোগ থেকে বঞ্চিত করে, এবং খুব ছোট মুদ্রাস্ফীতি লেনদেনের ঘনত্ব এবং ফি বৃদ্ধি করে।
  2. RVI সূচক প্যারামিটার ভুলভাবে সেট করাও মিসড সিগন্যাল বা জাল সিগন্যালকে বড় করে তুলতে পারে।
  3. ডাবল ইন্ডিকেটর ফিল্টার কিছু সংকেত মিস করে এবং পুরো ঘটনাটি ধরতে পারে না।

অপ্টিমাইজেশান দিক

  1. রেনকো প্যাকেটের আকারকে গতিশীলভাবে অপ্টিমাইজ করা হয়েছে যাতে এটি বাজারের অস্থিরতার সাথে সামঞ্জস্যপূর্ণ হয়।
  2. RVI সূচক পরামিতি অপ্টিমাইজ করুন এবং সর্বোত্তম ভারসাম্য খুঁজে বের করুন।
  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")