امکان سے بہتر آر ایس آئی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-20 15:05:05
ٹیگز:

img

جائزہ

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

اصول

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

کلیدی بات یہ ہے کہ ہم نے ایک احتمالات کا جائزہ لینے والا ماڈیول مربوط کیا ہے۔ یہ ماڈیول حالیہ ادوار میں طویل تجارتوں کے منافع بخش فیصد کا حساب لگاتا ہے (جسے بیک بیک پیرامیٹر کے ذریعہ بیان کیا جاتا ہے) ۔ یہ صرف اس صورت میں اندراج کی اجازت دیتا ہے جب حالیہ منافع بخش تجارت کا امکان 51٪ سے زیادہ یا مساوی ہو۔ اس سے بہت ساری ممکنہ کھونے والی تجارتوں سے گریز ہوتا ہے۔

فوائد

امکان میں اضافہ شدہ آر ایس آئی حکمت عملی کے طور پر ، اس میں سادہ آر ایس آئی حکمت عملیوں کے مقابلے میں درج ذیل فوائد ہیں:

  1. اضافی سٹاپ نقصان اور منافع حاصل کرنا کنٹرول کرتا ہے اور منافع کو بند کرتا ہے
  2. انٹیگریٹڈ احتمال ماڈیول کم امکان کی منڈیوں سے بچتا ہے
  3. امکان ماڈیول مختلف مارکیٹ کے ماحول کے لئے ایڈجسٹ کیا جا سکتا ہے
  4. صرف لمبے میکانزم کو سمجھنے اور لاگو کرنے کے لئے آسان ہے

خطرے کا تجزیہ

اس حکمت عملی کے اندر ابھی بھی کچھ خطرات ہیں:

  1. صرف طویل عرصے تک، گرتی ہوئی مارکیٹ سے منافع نہیں مل سکا
  2. غیر مناسب احتمال ماڈیول فیصلے مواقع کھو سکتے ہیں
  3. پیرامیٹرز کا بہترین مجموعہ تلاش کرنا مشکل ہے، مارکیٹ کے ماحول میں کارکردگی کا اہم فرق
  4. سٹاپ نقصان کی ترتیب میں نرمی، پھر بھی ایک ہی تجارت میں بڑے نقصان کا امکان ہے

حل:

  1. مختصر میکانزم شامل کرنے پر غور کریں
  2. غلطی کی شرح کو کم کرنے کے لئے امکان ماڈیول کو بہتر بنائیں
  3. پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لئے مشین لرننگ کا استعمال کریں
  4. نقصان کو محدود کرنے کے لئے زیادہ محتاط سٹاپ نقصان کی سطح مقرر کریں

بہتری کی ہدایات

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:

  1. دو طرفہ تجارت کے لئے مختصر ماڈیول میں اضافہ
  2. متحرک پیرامیٹر کی اصلاح کے لئے مشین لرننگ کا استعمال کریں
  3. زیادہ خریدنے/زیادہ فروخت کرنے کے لئے دوسرے اشارے آزمائیں
  4. منافع تناسب کو بڑھانے کے لئے سٹاپ نقصان / منافع حاصل کریں
  5. سگنل فلٹر کرنے اور امکان کو بہتر بنانے کے لئے دوسرے عوامل شامل کریں

خلاصہ

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


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

مزید