RSI حقیقی سطح بریک آؤٹ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-08 12:25:59
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

اس حکمت عملی میں پہلے مختلف پیرامیٹرز کے ساتھ 14 ٹرو لیول بینڈ دستی طور پر ترتیب دینے کی ضرورت ہے۔ ٹرو لیول کا حساب ایک خاص مدت میں اختتامی قیمتوں ، معیاری انحراف اور لکیری رجعت کی بنیاد پر کیا جاتا ہے۔ اوپری بینڈ لکیری رجعت + این معیاری انحراف ہے۔ نچلا بینڈ لکیری رجعت - این معیاری انحراف ہے۔ این کو ان پٹ پینل کے ذریعے ایڈجسٹ کیا جاسکتا ہے۔ اس سے مختلف پیرامیٹرز کے ساتھ 14 ٹرو لیول بینڈ پلاٹ ہوتے ہیں۔

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

آخر میں ، انٹری اور ایگزٹ بینڈ مقرر کیے جاتے ہیں۔ انٹری بینڈ نچلی ٹرو لیول ہے اور ایگزٹ بینڈ اوپری ٹرو لیول ہے۔ پوزیشن کھولنے کے بعد ، قیمتیں جو دوبارہ ایگزٹ بینڈ کو چھوتی ہیں وہ تجارت کو بند کردیں گی۔

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

فوائد

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

  2. اپنی مرضی کے مطابق حقیقی سطح کے پیرامیٹرز۔ صارفین مختلف مارکیٹ کے حالات کے لئے پیرامیٹرز کو بہتر بنا سکتے ہیں۔

  3. سائیڈ ویز مارکیٹس میں وِپساؤ سے بچنے کے لیے RSI اوور بُک / اوور سیولڈ کو جوڑتا ہے۔

  4. داخلہ اور باہر نکلنے والی لائنوں کا معقول ڈیزائن خطرے کو کنٹرول کرتا ہے۔

خطرات

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

  2. ٹرو لیول پیرامیٹرز کو ٹیسٹنگ اور اصلاح کی ضرورت ہے۔ نامناسب ترتیبات کارکردگی کو کمزور کرسکتی ہیں۔

  3. جب قیمتیں اکثر باہر نکلنے کی بینڈ تک پہنچتی ہیں تو ہلکی مارکیٹوں میں ہائی وپساؤ کا خطرہ۔

  4. حقیقی سطح کے بینڈ کی تشکیل کے لئے کافی وقت کی ضرورت ہے۔ ناکافی اعداد و شمار کے ساتھ حکمت عملی ناکام ہوسکتی ہے۔

خطرات کو RSI پیرامیٹرز کو بہتر بنانے ، True Level کی ترتیبات کو ایڈجسٹ کرنے ، فلٹرز کو شامل کرنے اور ذہین باہر نکلنے کا استعمال کرکے کم کیا جاسکتا ہے۔ پیرامیٹرز کو مختلف مارکیٹ کے ماحول کے ل.

اصلاح کی ہدایات

  1. بہترین ترتیبات تلاش کرنے کے لئے RSI پیرامیٹرز کو بہتر بنائیں۔ مختلف RSI ادوار کی جانچ کریں۔

  2. موجودہ مارکیٹوں کے لئے حقیقی سطح کے پیرامیٹرز کو بہتر بنائیں.

  3. غیر مستحکم مارکیٹوں میں خراب تجارت سے بچنے کے لئے ایم اے سی ڈی، کے ڈی جیسے دوسرے فلٹرز شامل کریں۔

  4. بہترین ماحول تلاش کرنے کے لئے مختلف تجارتی اوقات یا مصنوعات کی جانچ کریں۔

  5. باہر نکلنے کو بہتر بنائیں، جیسے پیچھے آنے والی رکاوٹیں یا اے ٹی آر پر مبنی رکاوٹیں

  6. پیرامیٹرز کو یکجا کریں اور زیادہ سے زیادہ استحکام کی جانچ کریں۔

  7. آٹو اصلاح کے لیے مشین لرننگ اور بگ ڈیٹا کا استعمال کریں۔

نتیجہ

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


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


مزید