یہ ایک سادہ طویل مدتی حکمت عملی ہے جس میں آر ایس آئی اشارے کا استعمال کرتے ہوئے زیادہ خریدنے اور زیادہ فروخت کی سطحوں کا تعین کیا جاتا ہے۔ ہم نے اسے اسٹاپ نقصان اور منافع حاصل کرنے کے ذریعہ بڑھاوا دیا ، اور صرف اس وقت مضبوطی کی تجارت میں احتمال ماڈیول کو مربوط کیا جب حالیہ منافع بخش تجارت کا امکان 51٪ سے زیادہ یا برابر ہو۔ اس نے ممکنہ نقصان دہ تجارت سے بچنے کے ذریعہ حکمت عملی کی کارکردگی کو بہت بہتر بنایا۔
اس حکمت عملی میں مارکیٹ کے زیادہ خریدنے اور زیادہ فروخت ہونے والے حالات کا فیصلہ کرنے کے لئے آر ایس آئی اشارے کا استعمال کیا جاتا ہے۔ خاص طور پر ، جب آر ایس آئی زیادہ فروخت والے زون کی نیچے کی حد سے تجاوز کرتا ہے تو یہ طویل ہوجاتا ہے۔ اور جب آر ایس آئی زیادہ خریدنے والے زون کی اوپری حد سے تجاوز کرتا ہے تو پوزیشن بند ہوجاتا ہے۔ اس کے علاوہ ، ہم اسٹاپ نقصان اور منافع لینے کے تناسب مرتب کرتے ہیں۔
کلیدی بات یہ ہے کہ ہم نے ایک احتمالات کا جائزہ لینے والا ماڈیول مربوط کیا ہے۔ یہ ماڈیول حالیہ ادوار میں طویل تجارتوں کے منافع بخش فیصد کا حساب لگاتا ہے (جسے بیک بیک پیرامیٹر کے ذریعہ بیان کیا جاتا ہے) ۔ یہ صرف اس صورت میں اندراج کی اجازت دیتا ہے جب حالیہ منافع بخش تجارت کا امکان 51٪ سے زیادہ یا مساوی ہو۔ اس سے بہت ساری ممکنہ کھونے والی تجارتوں سے گریز ہوتا ہے۔
امکان میں اضافہ شدہ آر ایس آئی حکمت عملی کے طور پر ، اس میں سادہ آر ایس آئی حکمت عملیوں کے مقابلے میں درج ذیل فوائد ہیں:
اس حکمت عملی کے اندر ابھی بھی کچھ خطرات ہیں:
حل:
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
یہ ایک سادہ آر ایس آئی حکمت عملی ہے جس میں مربوط احتمال ماڈیول کی مدد سے اضافہ ہوا ہے۔ ونیلا آر ایس آئی حکمت عملیوں کے مقابلے میں ، یہ کچھ کھونے والی تجارتوں کو فلٹر کرتا ہے اور مجموعی طور پر ڈراؤنڈ اور منافع تناسب کو بہتر بناتا ہے۔ اگلا قدم اسے زیادہ مضبوط بنانے کے لئے مختصر ، متحرک اصلاحات وغیرہ شامل کرکے اسے بہتر بنانا ہوسکتا ہے۔
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m 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/ // © thequantscience //@version=5 strategy("Reinforced RSI", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.07) lenght_rsi = input.int(defval = 14, minval = 1, title = "RSI lenght: ") rsi = ta.rsi(close, length = lenght_rsi) rsi_value_check_entry = input.int(defval = 35, minval = 1, title = "Oversold: ") rsi_value_check_exit = input.int(defval = 75, minval = 1, title = "Overbought: ") trigger = ta.crossunder(rsi, rsi_value_check_entry) exit = ta.crossover(rsi, rsi_value_check_exit) entry_condition = trigger TPcondition_exit = exit look = input.int(defval = 30, minval = 0, maxval = 500, title = "Lookback period: ") Probabilities(lookback) => isActiveLong = false isActiveLong := nz(isActiveLong[1], false) isSellLong = false isSellLong := nz(isSellLong[1], false) int positive_results = 0 int negative_results = 0 float positive_percentage_probabilities = 0 float negative_percentage_probabilities = 0 LONG = not isActiveLong and entry_condition == true CLOSE_LONG_TP = not isSellLong and TPcondition_exit == true p = ta.valuewhen(LONG, close, 0) p2 = ta.valuewhen(CLOSE_LONG_TP, close, 0) for i = 1 to lookback if (LONG[i]) isActiveLong := true isSellLong := false if (CLOSE_LONG_TP[i]) isActiveLong := false isSellLong := true if p[i] > p2[i] positive_results += 1 else negative_results -= 1 positive_relative_probabilities = positive_results / lookback negative_relative_probabilities = negative_results / lookback positive_percentage_probabilities := positive_relative_probabilities * 100 negative_percentage_probabilities := negative_relative_probabilities * 100 positive_percentage_probabilities probabilities = Probabilities(look) lots = strategy.equity/close var float e = 0 var float c = 0 tp = input.float(defval = 1.00, minval = 0, title = "Take profit: ") sl = input.float(defval = 1.00, minval = 0, title = "Stop loss: ") if trigger==true and strategy.opentrades==0 and probabilities >= 51 e := close strategy.entry(id = "e", direction = strategy.long, qty = lots, limit = e) takeprofit = e + ((e * tp)/100) stoploss = e - ((e * sl)/100) if exit==true c := close strategy.exit(id = "c", from_entry = "e", limit = c) if takeprofit and stoploss strategy.exit(id = "c", from_entry = "e", stop = stoploss, limit = takeprofit)