
آر ایس آئی ریئل زون کی بریک آؤٹ حکمت عملی ایک مقدار کی حکمت عملی ہے جس میں آر ایس آئی اشارے کو حقیقی زون کے جھٹکے والے زون کے ساتھ جوڑ کر بریک آؤٹ ٹریڈنگ کی اجازت دی جاتی ہے۔ اس حکمت عملی میں حقیقی زون کی اوپری اور نچلی حد کی گنتی کی جاتی ہے ، اور آر ایس آئی اشارے کے اوپری خرید و فروخت کے اشارے کے ساتھ مل کر بریک آؤٹ ٹریڈنگ کی جاتی ہے۔ مضبوط حالات میں ، یہ رجحان کی سمت کو پہلے سے پکڑنے کے قابل ہوتا ہے۔
اس حکمت عملی کے لئے سب سے پہلے 14 مختلف پیرامیٹرز کے ساتھ حقیقی علاقوں کی اوپری اور نچلی حد کو دستی طور پر ترتیب دینے کی ضرورت ہے۔ حقیقی علاقوں کا حساب کتاب بندش کی قیمتوں پر مبنی ہے ، ایک مخصوص دورانیے میں معیاری فرق اور لکیری واپسی کی قیمتوں کا حساب لگایا جاتا ہے ، اوپری حد لائن لائن لائن لائن ریگریشن لائن + n گنا معیاری فرق ہے ، اور نچلی حد لائن لائن لائن ریگریشن لائن - n گنا معیاری فرق ہے۔ پیرامیٹرز n کو انٹرفیس کے ذریعے ایڈجسٹ کیا جاسکتا ہے۔ اس طرح 14 مختلف پیرامیٹرز کے ساتھ حقیقی علاقوں کی اوپری اور نچلی حدیں کھینچی جاسکتی ہیں۔
اس کے بعد ، حکمت عملی ہر دور میں 14 بار کی حد لائنوں میں سے سب سے زیادہ کو حقیقی علاقے کی اوپری حد کے طور پر اور سب سے کم کو حقیقی علاقے کی نچلی حد کے طور پر اصل وقت میں حساب کرے گی۔ پھر آر ایس آئی اشارے کی قیمتوں کے ساتھ مل کر یہ فیصلہ کریں کہ آیا یہ زیادہ خرید یا زیادہ فروخت کی حد میں داخل ہوا ہے۔ جب آر ایس آئی اشارے اوپری خرید زون میں داخل ہوتا ہے یا قیمت حقیقی علاقے کی اوپری حد سے ٹوٹ جاتی ہے تو ، اس پر عمل کریں۔ جب آر ایس آئی اشارے اوپری فروخت زون میں داخل ہوتا ہے یا قیمت حقیقی علاقے کی نچلی حد سے ٹوٹ جاتا ہے تو ، اس پر عمل کریں۔
آخر میں ، حکمت عملی میں داخلہ لائن اور باہر نکلنے والی لائن بھی رکھی گئی ہے۔ داخلہ لائن حقیقی خطے کی نچلی حد کی نمائندگی کرتی ہے ، اور باہر نکلنے والی لائن حقیقی خطے کی اوپری حد کی نمائندگی کرتی ہے۔ اس طرح ، جب پوزیشن کھولی جاتی ہے تو ، قیمت ایک بار پھر باہر نکلنے والی لائن کو چھوتی ہے۔
مجموعی طور پر ، اس حکمت عملی نے رجحان اشارے آر ایس آئی اور خود کو حقیقی علاقائی چینلز کے ساتھ جوڑنے کے فوائد کا فائدہ اٹھایا ، جس سے مارکیٹ کے رجحانات کی سمت کا مؤثر اندازہ لگایا جاسکے ، زلزلے کے حالات میں زیادہ سمت کے مواقع کا پتہ لگایا جاسکے ، اور حقیقی علاقوں سے نکلنے والی لائنوں کے ساتھ خطرے پر قابو پایا جاسکے۔
خود کو اپنانے والے حقیقی زون کا استعمال کریں۔ اس زون کی اوپری اور نچلی حد مارکیٹ کے اتار چڑھاو کو اپنانے کے لئے حقیقی وقت میں تبدیل ہوسکتی ہے۔
حقیقی علاقہ پیرامیٹرز ایڈجسٹ کیا جا سکتا ہے۔ صارفین کو مختلف مارکیٹ کے حالات کے مطابق مختلف پیرامیٹرز کا مجموعہ منتخب کر سکتے ہیں۔
RSI اشارے کے ساتھ مل کر اوور بیئر اور اوور سیل کا تعین کریں ، تاکہ ہنگامہ خیز حالات میں غلط سمت سے بچیں۔
انٹری لائن اور آؤٹ لائن کو مناسب طریقے سے ترتیب دیا گیا ہے تاکہ خطرے کو کنٹرول کیا جاسکے۔
RSI اشارے کے پیرامیٹرز کی ترتیب کو محتاط رہنے کی ضرورت ہے۔ آر ایس آئی کا دورانیہ بہت مختصر ہے جس سے گمراہ کن سگنل پیدا ہوسکتے ہیں ، اور بہت لمبا ہے کہ موڑ کو وقت پر نہیں پکڑ سکتا۔
حقیقی علاقائی پیرامیٹرز کی ترتیب کو ٹیسٹ کی اصلاح کی ضرورت ہے۔ پیرامیٹرز کو بہت بڑا یا چھوٹا ہونا حکمت عملی کی کارکردگی کو متاثر کرسکتا ہے۔
زلزلے کی شدید صورتحال میں نقصان کا زیادہ خطرہ ہوتا ہے۔ قیمتیں حقیقی علاقوں میں بار بار آؤٹ لائن کو چھو سکتی ہیں جس سے بہت زیادہ نقصان ہوتا ہے۔
حقیقی علاقوں کو ایک مخصوص دورانیہ کی ضرورت ہوتی ہے۔ اعداد و شمار کی کمی کی صورت میں ، یہ حکمت عملی مناسب طریقے سے کام نہیں کرسکتی ہے۔
آر ایس آئی پیرامیٹرز کو بہتر بنانے ، حقیقی علاقائی پیرامیٹرز کو ایڈجسٹ کرنے ، اور دوسرے اشارے کے ساتھ مل کر اندراج کے وقت کی تصدیق کرنے کے ذریعہ غلط تجارت کے خطرے کو کم کیا جاسکتا ہے۔ یہ بھی ممکن ہے کہ باہر نکلنے کی حد کو مناسب طریقے سے کم کیا جاسکے۔ اسٹاپ نقصان کے خطرے کو کم کریں۔ مجموعی طور پر ، مختلف مارکیٹ کے حالات کے لئے مناسب ایڈجسٹمنٹ کی ضرورت ہے۔
آر ایس آئی پیرامیٹرز کی ترتیبات کو بہتر بنائیں ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔ مختلف آر ایس آئی سائیکل پیرامیٹرز کی جانچ کی جاسکتی ہے۔
حقیقی علاقائی پیرامیٹرز کو بہتر بنائیں اور موجودہ مارکیٹ کے ماحول کے لئے بہترین پیرامیٹرز کی ترتیبات تلاش کریں۔
دوسرے اشارے جیسے MACD ، KD ، وغیرہ کو فلٹر کریں تاکہ ہنگامہ خیز حالات میں غلط تجارت سے بچا جاسکے۔
مختلف تجارتی اوقات یا اقسام کو حکمت عملی کے مطابق مخصوص تجارتی ماحول کے مطابق ترتیب دیں۔
اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں ، جیسے کہ اختیاری جھول اسٹاپ ، یا اے ٹی آر کے مطابق اسٹاپ نقصان کی حد طے کریں۔
پیرامیٹرز کے مجموعے کی جانچ کریں تاکہ حکمت عملی کے لئے زیادہ سے زیادہ مستحکم منافع حاصل کرنے کے لئے پیرامیٹرز کی ترتیبات تلاش کریں۔
مشین لرننگ الگورتھم کو بڑھانا ، بڑے اعداد و شمار کا استعمال کرتے ہوئے پیرامیٹرز کو خود بخود بہتر بنانا۔
RSI حقیقی علاقہ توڑنے کی حکمت عملی میں رجحان کے اشارے اور خود کو ایڈجسٹ کرنے والی چینل ٹکنالوجی کا مجموعی فائدہ ہے۔ یہ مارکیٹ کے رجحان کی سمت کو مؤثر طریقے سے فیصلہ کرنے کے قابل ہے ، اور ہلچل کے حالات میں بڑے سمت کے مواقع پر قبضہ کرسکتا ہے۔ اس کے ساتھ ہی خطرے سے بچنے کے لئے روک تھام کی لائن بھی قائم کی گئی ہے۔ اس حکمت عملی کے پیرامیٹرز کو بہتر بنانے کی گنجائش ہے ، اور اس کو مختلف مارکیٹ کے ماحول میں پیرامیٹرز کو ایڈجسٹ کرکے ایڈجسٹ کیا جاسکتا ہے۔ یہ ایک بہت ہی لچکدار توڑنے والی حکمت عملی ہے۔ مجموعی طور پر ، یہ متعدد اشارے کے فوائد کو جوڑتا ہے ، جس میں رجحان کے فیصلے اور خطرے کے کنٹرول میں کچھ فوائد ہیں ، اور یہ ایک تجویز کردہ مقداری حکمت عملی ہے۔
/*backtest
start: 2022-11-01 00:00:00
end: 2023-11-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Julien_Eche
//@version=4
strategy("RSI TrueLevel Strategy", shorttitle="RSI TL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Input parameters for RSI
rsiPeriod = input(14, title="RSI Period", type=input.integer)
rsiOverbought = input(65, title="RSI Overbought Level", type=input.integer)
rsiOversold = input(40, title="RSI Oversold Level", type=input.integer)
// Inputs for selecting bands
entry_band = input(12, title="Entry TrueLevel Band", type=input.integer, minval=1, maxval=14)
exit_band = input(12, title="Exit TrueLevel Band", type=input.integer, minval=1, maxval=14)
// Input for long and short mode
long_and_short = input(false, title="Enable Long and Short", type=input.bool)
// Calculate the RSI
rsi = rsi(close, rsiPeriod)
// User inputs
len1 = input(title="Length 1", type=input.integer, defval=126)
len2 = input(title="Length 2", type=input.integer, defval=189)
len3 = input(title="Length 3", type=input.integer, defval=252)
len4 = input(title="Length 4", type=input.integer, defval=378)
len5 = input(title="Length 5", type=input.integer, defval=504)
len6 = input(title="Length 6", type=input.integer, defval=630)
len7 = input(title="Length 7", type=input.integer, defval=756)
len8 = input(title="Length 8", type=input.integer, defval=1008)
len9 = input(title="Length 9", type=input.integer, defval=1260)
len10 = input(title="Length 10", type=input.integer, defval=1638)
len11 = input(title="Length 11", type=input.integer, defval=2016)
len12 = input(title="Length 12", type=input.integer, defval=2646)
len13 = input(title="Length 13", type=input.integer, defval=3276)
len14 = input(title="Length 14", type=input.integer, defval=4284)
fill_color = input(title="Fill Color", type=input.color, defval=color.rgb(0, 191, 255, 95))
mult = input(title="Multiple", type=input.float, defval=1, step=0.2, options=[0.6, 0.8, 1, 1.2, 1.4])
src = input(title="Source", type=input.source, defval=close)
// Upper band calculation function
upperBand(length) =>
linreg = linreg(src, length, 0)
stddev = mult * stdev(src, length)
upperband = linreg + stddev
upperband
// Lower band calculation function
lowerBand(length) =>
linreg = linreg(src, length, 0)
stddev = mult * stdev(src, length)
lowerband = linreg - stddev
lowerband
// Calculate upper and lower bands for each length
upperband_1 = upperBand(len1)
upperband_2 = upperBand(len2)
upperband_3 = upperBand(len3)
upperband_4 = upperBand(len4)
upperband_5 = upperBand(len5)
upperband_6 = upperBand(len6)
upperband_7 = upperBand(len7)
upperband_8 = upperBand(len8)
upperband_9 = upperBand(len9)
upperband_10 = upperBand(len10)
upperband_11 = upperBand(len11)
upperband_12 = upperBand(len12)
upperband_13 = upperBand(len13)
upperband_14 = upperBand(len14)
lowerband_1 = lowerBand(len1)
lowerband_2 = lowerBand(len2)
lowerband_3 = lowerBand(len3)
lowerband_4 = lowerBand(len4)
lowerband_5 = lowerBand(len5)
lowerband_6 = lowerBand(len6)
lowerband_7 = lowerBand(len7)
lowerband_8 = lowerBand(len8)
lowerband_9 = lowerBand(len9)
lowerband_10 = lowerBand(len10)
lowerband_11 = lowerBand(len11)
lowerband_12 = lowerBand(len12)
lowerband_13 = lowerBand(len13)
lowerband_14 = lowerBand(len14)
// Plot envelope bands for each length
upperband_1_plot = plot(upperband_1, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 1")
lowerband_1_plot = plot(lowerband_1, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 1")
upperband_2_plot = plot(upperband_2, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 2")
lowerband_2_plot = plot(lowerband_2, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 2")
upperband_3_plot = plot(upperband_3, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 3")
lowerband_3_plot = plot(lowerband_3, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 3")
upperband_4_plot = plot(upperband_4, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 4")
lowerband_4_plot = plot(lowerband_4, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 4")
upperband_5_plot = plot(upperband_5, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 5")
lowerband_5_plot = plot(lowerband_5, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 5")
upperband_6_plot = plot(upperband_6, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 6")
lowerband_6_plot = plot(lowerband_6, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 6")
upperband_7_plot = plot(upperband_7, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 7")
lowerband_7_plot = plot(lowerband_7, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 7")
upperband_8_plot = plot(upperband_8, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 8")
lowerband_8_plot = plot(lowerband_8, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 8")
upperband_9_plot = plot(upperband_9, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 9")
lowerband_9_plot = plot(lowerband_9, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 9")
upperband_10_plot = plot(upperband_10, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 10")
lowerband_10_plot = plot(lowerband_10, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 10")
upperband_11_plot = plot(upperband_11, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 11")
lowerband_11_plot = plot(lowerband_11, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 11")
upperband_12_plot = plot(upperband_12, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 12")
lowerband_12_plot = plot(lowerband_12, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Lower Band 12")
upperband_13_plot = plot(upperband_13, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 13")
lowerband_13_plot = plot(lowerband_13, color=color.rgb(14, 139, 212, 95), linewidth=1, title="Lower Band 13")
upperband_14_plot = plot(upperband_14, color=color.rgb(14, 116, 212, 95), linewidth=1, title="Upper Band 14")
lowerband_14_plot = plot(lowerband_14, color=color.rgb(14, 139, 212, 95), linewidth=1, title="Lower Band 14")
// Plot fills for each length
fill(upperband_1_plot, lowerband_1_plot, color=fill_color, title="Fill 1")
fill(upperband_2_plot, lowerband_2_plot, color=fill_color, title="Fill 2")
fill(upperband_3_plot, lowerband_3_plot, color=fill_color, title="Fill 3")
fill(upperband_4_plot, lowerband_4_plot, color=fill_color, title="Fill 4")
fill(upperband_5_plot, lowerband_5_plot, color=fill_color, title="Fill 5")
fill(upperband_6_plot, lowerband_6_plot, color=fill_color, title="Fill 6")
fill(upperband_7_plot, lowerband_7_plot, color=fill_color, title="Fill 7")
fill(upperband_8_plot, lowerband_8_plot, color=fill_color, title="Fill 8")
fill(upperband_9_plot, lowerband_9_plot, color=fill_color, title="Fill 9")
fill(upperband_10_plot, lowerband_10_plot, color=fill_color, title="Fill 10")
fill(upperband_11_plot, lowerband_11_plot, color=fill_color, title="Fill 11")
fill(upperband_12_plot, lowerband_12_plot, color=fill_color, title="Fill 12")
fill(upperband_13_plot, lowerband_13_plot, color=fill_color, title="Fill 13")
fill(upperband_14_plot, lowerband_14_plot, color=fill_color, title="Fill 14")
// Add variables to store the highest upper band and lowest lower band values
var float highestUpperBand = na
var float lowestLowerBand = na
// Calculate the trueLevelUpperBand and trueLevelLowerBand
trueLevelUpperBand = max(upperband_1, max(upperband_2, max(upperband_3, max(upperband_4, max(upperband_5, max(upperband_6, max(upperband_7, max(upperband_8, max(upperband_9, max(upperband_10, max(upperband_11, max(upperband_12, max(upperband_13, upperband_14)))))))))))))
trueLevelLowerBand = min(lowerband_1, min(lowerband_2, min(lowerband_3, min(lowerband_4, min(lowerband_5, min(lowerband_6, min(lowerband_7, min(lowerband_8, min(lowerband_9, min(lowerband_10, min(lowerband_11, min(lowerband_12, min(lowerband_13, lowerband_14)))))))))))))
// Update the highest upper band and lowest lower band
highestUpperBand := highest(trueLevelUpperBand, 1)
lowestLowerBand := lowest(trueLevelLowerBand, 1)
// Store the upper and lower bands in an array for easy access
upperbands = array.new_float(14)
lowerbands = array.new_float(14)
array.set(upperbands, 0, upperband_1)
array.set(upperbands, 1, upperband_2)
array.set(upperbands, 2, upperband_3)
array.set(upperbands, 3, upperband_4)
array.set(upperbands, 4, upperband_5)
array.set(upperbands, 5, upperband_6)
array.set(upperbands, 6, upperband_7)
array.set(upperbands, 7, upperband_8)
array.set(upperbands, 8, upperband_9)
array.set(upperbands, 9, upperband_10)
array.set(upperbands, 10, upperband_11)
array.set(upperbands, 11, upperband_12)
array.set(upperbands, 12, upperband_13)
array.set(upperbands, 13, upperband_14)
array.set(lowerbands, 0, lowerband_1)
array.set(lowerbands, 1, lowerband_2)
array.set(lowerbands, 2, lowerband_3)
array.set(lowerbands, 3, lowerband_4)
array.set(lowerbands, 4, lowerband_5)
array.set(lowerbands, 5, lowerband_6)
array.set(lowerbands, 6, lowerband_7)
array.set(lowerbands, 7, lowerband_8)
array.set(lowerbands, 8, lowerband_9)
array.set(lowerbands, 9, lowerband_10)
array.set(lowerbands, 10, lowerband_11)
array.set(lowerbands, 11, lowerband_12)
array.set(lowerbands, 12, lowerband_13)
array.set(lowerbands, 13, lowerband_14)
// Get the selected bands for entry and exit
selected_entry_lowerband = array.get(lowerbands, entry_band - 1)
selected_exit_upperband = array.get(upperbands, exit_band - 1)
// Entry conditions
longCondition = crossover(rsi, rsiOversold) or crossover(close, selected_entry_lowerband)
shortCondition = crossunder(rsi, rsiOverbought) or crossunder(close, selected_exit_upperband)
if (longCondition)
strategy.entry("Long", strategy.long)
if (long_and_short and shortCondition)
strategy.entry("Short", strategy.short)
// Exit conditions
exitLongCondition = crossunder(rsi, rsiOverbought) or crossunder(close, selected_exit_upperband)
exitShortCondition = crossover(rsi, rsiOversold) or crossover(close, selected_entry_lowerband)
strategy.close("Long", when=exitLongCondition)
strategy.close("Short", when=long_and_short and exitShortCondition)