রেঙ্কো এটিআর ট্রেন্ড বিপরীত কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-০১ ১৪ঃ৩০ঃ২৪
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

রেঙ্কো ইট প্রজন্ম

এই কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের জন্য ATR মান গণনা করে এবং এই ATR কে রেঙ্কো চার্টের ইট আকার হিসাবে ব্যবহার করে। যখন দামের গতি এক ATR ছাড়িয়ে যায় তখন নতুন রেঙ্কো ইটগুলি আঁকা হয়। এইভাবে, রেঙ্কো চার্ট স্বয়ংক্রিয়ভাবে বাজারের অস্থিরতার সাথে খাপ খাইয়ে নিতে পারে, উচ্চতর অস্থিরতার জন্য বৃহত্তর ইট আকার এবং কম অস্থিরতার সময়ের জন্য ছোট ইট আকার সহ।

কিনুন এবং বিক্রয় সংকেত উত্পাদন

রেঙ্কো চার্টের ওপেন প্রাইস বন্ধের দামের নিচে অতিক্রম করলে একটি ক্রয় সংকেত তৈরি হয়। বিপরীতভাবে, ওপেন প্রাইস বন্ধের দামের উপরে অতিক্রম করলে একটি বিক্রয় সংকেত তৈরি হয়। এই সংকেতগুলি সম্ভাব্য প্রবণতা বিপরীত পয়েন্ট চিহ্নিত করে।

হ্রাস বন্ধ করুন এবং লাভ নিন সেটিং

কৌশলটি গতিশীলভাবে ব্যবহারকারীর সংজ্ঞায়িত ইনপুট পরামিতিগুলির উপর ভিত্তি করে রেনকো ওপেন মূল্যের শতাংশ হিসাবে প্রতিটি ব্যবসায়ের জন্য স্টপ-লস এবং লাভের মাত্রা নির্ধারণ করে। এটি প্রতিটি ব্যবসায়ের জন্য ঝুঁকি এবং পুরষ্কার নিয়ন্ত্রণ করে।

সুবিধা বিশ্লেষণ

পুনরায় রঙ করা বন্ধ করে দেয়

খোলা এবং বন্ধের দামগুলি ম্যানুয়ালি গণনা করে, পুনরায় চিত্রিত করা দূর করা হয়, সংকেতগুলি আরও সঠিক এবং সময়মত করে তোলে।

অস্থিরতার প্রতি স্বয়ংক্রিয় অভিযোজন

ATR-ভিত্তিক ইট আকার কৌশলকে স্বয়ংক্রিয়ভাবে বিভিন্ন বাজারের অস্থিরতার অবস্থার সাথে মানিয়ে নিতে দেয়।

গতিশীল স্টপ লস এবং লাভ নিন

স্টপ লস এবং লাভ নেওয়ার মাত্রা নির্ধারণের গতিশীল প্রক্রিয়াটি বাজারের অস্থিরতার ভিত্তিতে ঝুঁকি নিয়ন্ত্রণকে আরও ভাল করে তোলে।

স্বচ্ছ চার্ট ভিউ

রেনকো চার্ট বাজারের গোলমালকে ফিল্টার করে এবং ট্রেন্ড বিপরীতমুখী হওয়ার জন্য একটি পরিষ্কার ভিজ্যুয়াল সরবরাহ করে।

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

প্যারামিটার অপ্টিমাইজেশান ঝুঁকি

ব্যবহারকারীদের বিভিন্ন বাজারের পরিবেশের জন্য ATR সময়কাল, স্টপ লস % এবং লাভ % এর মতো পরামিতিগুলি অনুকূল করতে হবে। খারাপ পরামিতি সেটিং কৌশল কর্মক্ষমতা হ্রাস করতে পারে।

ঘটনা ঝুঁকি

প্রধান সংবাদ ঘটনা বা নীতি প্রকাশের ফলে স্টপ লস ছাড়িয়ে দ্রুত স্লাইপ বা লাভের স্তর নিতে পারে, যা বড় ক্ষতির দিকে পরিচালিত করে।

ব্যর্থ বিপরীত ঝুঁকি

কিছু ক্ষেত্রে, নির্দেশিত বিপরীত প্যাটার্নটি বাস্তবায়িত হতে পারে না, যার ফলে ব্যবসায় হারাতে পারে।

উন্নতির সুযোগ

একাধিক টাইমফ্রেম ব্যবহার করে

সামগ্রিক প্রবণতার দিকনির্দেশনা পরিমাপ করতে উচ্চতর সময়সীমা ব্যবহার করা যেতে পারে। কম সময়সীমা মিথ্যা সংকেত ফিল্টার করতে পারে।

অন্যান্য সূচকগুলির সংমিশ্রণ

গতি, অস্থিরতা বা অন্যান্য সূচকগুলির সংমিশ্রণ ব্যবহার করে সিগন্যালের গুণমান বাড়ানো যায় এবং মিথ্যা সংকেতগুলি এড়ানো যায়।

ডায়নামিক লাভের সমন্বয়

বাজারের অস্থিরতা এবং প্রবেশ মূল্য এবং বর্তমান মূল্যের মধ্যে দূরত্বের উপর ভিত্তি করে লাভের অনুপাতগুলি গতিশীলভাবে সামঞ্জস্য করা যেতে পারে।

সিদ্ধান্ত

রেঙ্কো এটিআর ট্রেন্ড রিভার্সাল কৌশল সফলভাবে আর্থিক বাজারে স্বয়ংক্রিয়ভাবে ট্রেন্ড রিভার্সাল পয়েন্টগুলি সনাক্ত করতে এটিআর সূচক সহ রেঙ্কো চার্টগুলি ব্যবহার করে। মূল সুবিধাগুলির মধ্যে রয়েছে পুনরায় পেইন্টিং নির্মূল, পরিবর্তনশীল অস্থিরতার সাথে স্বয়ংক্রিয় অভিযোজনযোগ্যতা এবং গতিশীল স্টপ লস / লাভ গ্রহণ। তবে ব্যবহারকারীদের প্যারামিটার অপ্টিমাইজেশন ঝুঁকি, ইভেন্টের ঝুঁকি এবং ব্যর্থ বিপরীত ঝুঁকি সম্পর্কে সতর্ক থাকতে হবে। আরও উন্নতিতে একাধিক সময়সীমা ব্যবহার, অন্যান্য সূচকগুলি একত্রিত করা এবং গতিশীল লাভ গ্রহণের সমন্বয় অন্তর্ভুক্ত থাকতে পারে।


/*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))


আরো