آر ایس آئی ٹرو لیول بریکآؤٹ حکمت عملی بریکآؤٹ ٹریڈنگ کو نافذ کرنے کے لئے آر ایس آئی اشارے کو انکولی ٹرو لیول چینلز کے ساتھ جوڑتی ہے۔ یہ ٹرو لیول اوپری اور نچلے بینڈ کا حساب لگاتا ہے اور بریکآؤٹ ٹریڈز پیدا کرنے کے لئے آر ایس آئی اوور بک / اوور سیل سگنل کا استعمال کرتا ہے۔ رجحان سازی کی منڈیوں میں ، یہ رجحان کی سمت کو جلدی سے پکڑ سکتا ہے۔ رینج سے وابستہ منڈیوں میں ، یہ شور کو مؤثر طریقے سے فلٹر کرسکتا ہے اور اہم سمت کے مواقع کو پکڑ سکتا ہے۔
اس حکمت عملی میں پہلے مختلف پیرامیٹرز کے ساتھ 14 ٹرو لیول بینڈ دستی طور پر ترتیب دینے کی ضرورت ہے۔ ٹرو لیول کا حساب ایک خاص مدت میں اختتامی قیمتوں ، معیاری انحراف اور لکیری رجعت کی بنیاد پر کیا جاتا ہے۔ اوپری بینڈ لکیری رجعت + این معیاری انحراف ہے۔ نچلا بینڈ لکیری رجعت - این معیاری انحراف ہے۔ این کو ان پٹ پینل کے ذریعے ایڈجسٹ کیا جاسکتا ہے۔ اس سے مختلف پیرامیٹرز کے ساتھ 14 ٹرو لیول بینڈ پلاٹ ہوتے ہیں۔
اس کے بعد ، حکمت عملی 14 بینڈوں میں سے سب سے زیادہ کا حساب لگاتی ہے جیسا کہ ہر مدت میں ٹرو لیول اوپری بینڈ ، اور سب سے کم کم بینڈ کے طور پر۔ آر ایس آئی اشارے کی اقدار کے ساتھ مل کر ، یہ طے کرتا ہے کہ آیا آر ایس آئی اوور بُک یا اوور سیل زون میں داخل ہوتا ہے۔ جب آر ایس آئی اوور بُک ہوتا ہے یا قیمت اوپری بینڈ سے نیچے ہوتی ہے تو ، یہ مختصر ہوجاتا ہے۔ جب آر ایس آئی اوور سیل ہوتا ہے یا قیمت کم بینڈ سے اوپر ہوتی ہے تو ، یہ لمبا ہوجاتا ہے۔
آخر میں ، انٹری اور ایگزٹ بینڈ مقرر کیے جاتے ہیں۔ انٹری بینڈ نچلی ٹرو لیول ہے اور ایگزٹ بینڈ اوپری ٹرو لیول ہے۔ پوزیشن کھولنے کے بعد ، قیمتیں جو دوبارہ ایگزٹ بینڈ کو چھوتی ہیں وہ تجارت کو بند کردیں گی۔
خلاصہ یہ ہے کہ یہ حکمت عملی رجحان کی طاقت اور ٹرو لیول چینلز کی موافقت کی صلاحیت دونوں کو استعمال کرتی ہے تاکہ مؤثر طریقے سے رجحان کی سمت کا تعین کیا جاسکے ، رینج سے منسلک مارکیٹوں میں بڑے مواقع کو پکڑ لیا جاسکے ، اور آؤٹ پٹ بینڈ کے ساتھ خطرہ پر قابو پایا جاسکے۔
موافقت پذیر حقیقی سطح کے زون کا استعمال کرتا ہے۔ مارکیٹ میں اتار چڑھاؤ کے مطابق ڈائنامک طور پر اپر اور نچلے بینڈ تبدیل ہوتے ہیں۔
اپنی مرضی کے مطابق حقیقی سطح کے پیرامیٹرز۔ صارفین مختلف مارکیٹ کے حالات کے لئے پیرامیٹرز کو بہتر بنا سکتے ہیں۔
سائیڈ ویز مارکیٹس میں وِپساؤ سے بچنے کے لیے RSI اوور بُک / اوور سیولڈ کو جوڑتا ہے۔
داخلہ اور باہر نکلنے والی لائنوں کا معقول ڈیزائن خطرے کو کنٹرول کرتا ہے۔
آر ایس آئی پیرامیٹرز کو محتاط اصلاح کی ضرورت ہے۔ غلط اقدار خراب سگنل پیدا کرسکتی ہیں۔
ٹرو لیول پیرامیٹرز کو ٹیسٹنگ اور اصلاح کی ضرورت ہے۔ نامناسب ترتیبات کارکردگی کو کمزور کرسکتی ہیں۔
جب قیمتیں اکثر باہر نکلنے کی بینڈ تک پہنچتی ہیں تو ہلکی مارکیٹوں میں ہائی وپساؤ کا خطرہ۔
حقیقی سطح کے بینڈ کی تشکیل کے لئے کافی وقت کی ضرورت ہے۔ ناکافی اعداد و شمار کے ساتھ حکمت عملی ناکام ہوسکتی ہے۔
خطرات کو RSI پیرامیٹرز کو بہتر بنانے ، True Level کی ترتیبات کو ایڈجسٹ کرنے ، فلٹرز کو شامل کرنے اور ذہین باہر نکلنے کا استعمال کرکے کم کیا جاسکتا ہے۔ پیرامیٹرز کو مختلف مارکیٹ کے ماحول کے ل.
بہترین ترتیبات تلاش کرنے کے لئے RSI پیرامیٹرز کو بہتر بنائیں۔ مختلف 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)