Renko Average True Range پر مبنی رجحان کو تبدیل کرنے کی حکمت عملی


تخلیق کی تاریخ: 2024-02-01 14:30:24 آخر میں ترمیم کریں: 2024-02-01 14:30:24
کاپی: 0 کلکس کی تعداد: 1467
1
پر توجہ دیں
1617
پیروکار

Renko Average True Range پر مبنی رجحان کو تبدیل کرنے کی حکمت عملی

جائزہ

رینکو اے ٹی آر ٹرینڈ ریورسل اسٹریٹجی ایک منفرد تجارتی حکمت عملی ہے جس کا مقصد رینکو چارٹ کو اوسط حقیقی طول و عرض (اے ٹی آر) اشارے کے ساتھ مل کر مالیاتی منڈیوں میں رجحان کی واپسی کی شناخت کرنا ہے۔ اس حکمت عملی سے رینکو چارٹ کے پیچھے کی کھینچنے کی پریشانی ختم ہوجاتی ہے ، اور اس سے ٹرنورپوائنٹس کو درست طریقے سے پکڑنے کے قابل ہوتا ہے ، جو تجارتی فیصلوں کے لئے واضح سگنل فراہم کرتا ہے۔

حکمت عملی کا اصول

رینکو بلاک کی تخلیق

یہ حکمت عملی پہلے ایک مخصوص دورانیے میں اے ٹی آر کی قیمتوں کا حساب لگاتی ہے اور اس اے ٹی آر کے ساتھ رینکو چارٹ کا بلاک سائز طے کرتی ہے۔ جب قیمت میں ایک اے ٹی آر سے زیادہ تبدیلی آتی ہے تو ، ایک نیا رینکو بلاک تیار کیا جاتا ہے۔ اس طرح ، رینکو چارٹ خود بخود مارکیٹ میں اتار چڑھاؤ کی حد کو ایڈجسٹ کرنے کے قابل ہوتا ہے ، اعلی اتار چڑھاؤ کے دوران بڑے بلاک سائز کا تعین کرتا ہے ، اور کم اتار چڑھاؤ کے دوران چھوٹے بلاک سائز کا تعین کرتا ہے۔

خرید و فروخت سگنل کی پیداوار

جب رینکو اوپن کی قیمت کے نیچے بند کی قیمت کو عبور کرتا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب رینکو اوپن کی قیمت پر بند کی قیمت کو عبور کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ یہ اشارے ایک ممکنہ رجحان کی تبدیلی کی نشاندہی کرتے ہیں۔

سٹاپ نقصان اور روکنے کی ترتیبات

اس حکمت عملی میں صارف کے ذریعہ طے شدہ اسٹاپ نقصان فیصد اور اسٹاپ بریک فیصد کے مطابق ، ہر ایک تجارت کے لئے اسٹاپ نقصان کی قیمت اور اسٹاپ بریک کی قیمت کو متحرک طور پر رینکو کی افتتاحی قیمت کے طور پر طے کیا جاتا ہے ، جس سے ہر تجارت کے خطرات اور فوائد پر قابو پایا جاتا ہے۔

طاقت کا تجزیہ

پسماندہ ڈرائنگ کا خاتمہ

اس حکمت عملی نے رینکو کی اوپن اور کلوزنگ قیمتوں کو دستی طور پر گننے کے ذریعے لیگیڈ میپنگ کے مسئلے کو ختم کیا ، جس سے سگنل کی پیداوار زیادہ درست اور بروقت ہوتی ہے۔

خود کار طریقے سے مارکیٹ میں اتار چڑھاو کے ساتھ اپنانے

اے ٹی آر اشارے پر مبنی رینکو بلاک سائز کی ترتیب حکمت عملی کو مختلف مارکیٹ کے حالات کے تحت قیمت کے اتار چڑھاؤ کی شرح کو خود بخود اپنانے کی اجازت دیتی ہے۔

متحرک سٹاپ نقصان سٹاپ سیٹ کریں

اس حکمت عملی میں ہر تجارت کے لئے متحرک اسٹاپ نقصان اور اسٹاپ اسٹاپ میکانزم مقرر کیے گئے ہیں ، جس سے مارکیٹ میں اتار چڑھاؤ کی حد کے مطابق خطرے کو کنٹرول کیا جاسکتا ہے۔

سادہ گرافک منظر

رینکو چارٹ خود ہی مارکیٹ کے شور کو ختم کرتا ہے اور رجحانات کے الٹ جانے پر واضح اور جامع بصری اثر فراہم کرتا ہے۔

خطرے کا تجزیہ

پیرامیٹر کی اصلاح کے خطرات

صارفین کو مختلف مارکیٹ کے حالات کے مطابق اے ٹی آر سائیکل ، اسٹاپ نقصان فی صد اور اسٹاپ اسٹاپ فی صد جیسے پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔ اگر پیرامیٹرز کو غلط طریقے سے ترتیب دیا جائے تو اس کی وجہ سے حکمت عملی کی ناکامی ہوسکتی ہے۔

حادثات کا خطرہ

اہم معاشی واقعات یا پالیسیوں کی وجہ سے تیزی سے بڑھنے کا سبب بن سکتا ہے ، جس سے روک تھام یا روک تھام کی سطح کو توڑ دیا جاتا ہے ، جس سے زیادہ نقصان ہوتا ہے۔

ریورس ناکامی کا خطرہ

بعض صورتوں میں ، ٹریڈنگ سگنل کے ذریعہ طے شدہ الٹ پلٹ ناکام ہوسکتی ہے ، جس سے قیمتوں کو الٹ کی طرف بڑھنے میں مدد نہیں ملتی ہے ، جس سے نقصان ہوتا ہے۔

اصلاح کی سمت

ایک سے زیادہ وقت کے دورانیے کو یکجا کرنا

اعلی ٹائم پیکیج پر بڑے رجحانات کا فیصلہ کرنے کے لئے، مخالف تجارت سے بچنے کے لئے. یہ بھی کم ٹائم پیکیج پر جعلی سگنل فلٹر کرنے کے لئے ممکن ہے.

دیگر اشارے کے ساتھ مل کر

اس کے علاوہ ، اس کے ساتھ مل کر استعمال کیا جاتا ہے ، جیسے حرکیات کے اشارے ، اتار چڑھاؤ کی شرح کے اشارے ، وغیرہ ، سگنل کے معیار کو بہتر بنانے اور غلط سگنل سے بچنے کے لئے استعمال کیا جاتا ہے۔

متحرک ایڈجسٹمنٹ اسٹاپ تناسب

اسٹاپ کی شرح کو مارکیٹ میں اتار چڑھاؤ کی شدت اور تازہ ترین قیمتوں اور انٹری پوائنٹس سے فاصلے کے مطابق متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔

خلاصہ کریں۔

رینکو اوسط حقیقی طول موج پر مبنی رجحان الٹ حکمت عملی نے رینکو چارٹ کو اے ٹی آر کے اشارے کے ساتھ مل کر مالیاتی منڈیوں میں موڑ کی شناخت میں کامیابی حاصل کی۔ اس حکمت عملی کے فوائد میں تاخیر کی نقشہ سازی ، مارکیٹ میں اتار چڑھاؤ کی شرح کو خود بخود اپنانے اور متحرک اسٹاپ نقصان کے خطرات کو ختم کرنا شامل ہیں۔ اس کے ساتھ ہی ، صارفین کو الرٹ پیرامیٹرز کی ترتیب اور اصلاح کے خطرات ، اور غیر متوقع واقعات اور الٹ ناکامی کے خطرات کی ضرورت ہے۔ اس حکمت عملی کو بہتر بنانے کے لئے متعدد ٹائم پیریڈ تجزیہ ، اشارے کے مجموعے اور اسٹاپ اور موڑ کی ایڈجسٹمنٹ کے طریقوں کے ذریعہ حکمت عملی کو بہتر بنایا جاسکتا ہے۔

حکمت عملی کا ماخذ کوڈ
/*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))