یہ حکمت عملی RSI اشارے پر مبنی ایک سادہ رجحان کے بعد ٹریڈنگ سسٹم ڈیزائن کرتی ہے، جو RSI کے ذریعے مارکیٹ کے رجحان کی سمت کا تعین کرسکتی ہے اور ایک مخصوص تاریخ کی حد کے اندر خودکار طویل اور مختصر پوزیشنوں کو لاگو کرسکتی ہے۔
حکمت عملی میں مارکیٹ کے رجحان کا تعین کرنے کے لئے آر ایس آئی اشارے کا استعمال کیا گیا ہے، اور بولنگر بینڈز نے زیادہ خریدنے اور زیادہ فروخت کے علاقوں کی تصدیق کی ہے.
سب سے پہلے ، آر ایس آئی کی قیمت کا حساب لگایا جاتا ہے۔ بولنگر بینڈ کی اوپری اور نچلی بینڈ کا حساب آر ایس آئی کے چلتے ہوئے اوسط اور معیاری انحراف کی بنیاد پر کیا جاتا ہے۔ آر ایس آئی 0-1 کے درمیان اتار چڑھاؤ کرتا ہے ، اور بولنگر بینڈ معیاری انحراف کے ذریعے زیادہ خریدنے اور زیادہ فروخت ہونے والے علاقوں کی نشاندہی کرتا ہے۔ جب آر ایس آئی اوپری بینڈ سے زیادہ ہوتا ہے تو ، یہ زیادہ خریدنے والا علاقہ ہوتا ہے ، اور جب نچلے بینڈ سے کم ہوتا ہے تو ، یہ زیادہ فروخت ہونے والا علاقہ ہوتا ہے۔
جب آر ایس آئی نچلے سے اوپری بینڈ تک ٹوٹ جاتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب آر ایس آئی اوپری سے نچلے بینڈ تک ٹوٹ جاتا ہے تو ، رجحان کی پیروی کرنے کے لئے فروخت کا اشارہ پیدا ہوتا ہے۔ مارکیٹ میں داخل ہونے کے بعد ، جب تک مخصوص تاریخ کی حد کے اختتام پر پوزیشنیں بند نہیں ہوجاتی ہیں تب تک کوئی اسٹاپ نقصان یا منافع نہیں ہوتا ہے۔
یہ حکمت عملی صرف اور مؤثر طریقے سے رجحان کی سمت کا تعین کرنے کے لئے RSI کا استعمال کرتی ہے ، اور مخصوص تجارتی مواقع کی نشاندہی کرنے کے لئے بولنگر بینڈ۔ تاریخ کی حد کی وضاحت کرکے ، غیر ضروری خطرات سے بچا جاسکتا ہے۔
اصلاح کی ہدایات:
خلاصہ میں ، یہ ایک بہت ہی آسان اور براہ راست رجحان کی پیروی کرنے والی حکمت عملی ہے۔ رجحان کا تعین کرنے کے لئے آر ایس آئی کا استعمال کرتے ہوئے ، بولنگر بینڈ کو سگنل فلٹر کرنے اور تجارتی تاریخ کی حد کی وضاحت کرنے سے ، مؤثر طریقے سے رجحانات کی پیروی اور خطرات کو کنٹرول کیا جاسکتا ہے۔ لیکن حکمت عملی کو مزید بہتر بنایا جاسکتا ہے۔ اسے آسان اور موثر رکھتے ہوئے ، اسٹاپ نقصان ، پیرامیٹر کی اصلاح اور سگنل فلٹرنگ جیسے طریقے شامل کیے جاسکتے ہیں تاکہ اسے براہ راست تجارت کے لئے زیادہ موزوں بنایا جاسکے۔
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Gidra //2018 //@version=2 strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") src = input(close, title="source") lengthRSI = input(14, title="RSI or MFI length") // RSI %B useRSI = input(true, title="use RSI or MFI") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day") //MFI upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI) lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI) mf = rsi(upper, lower) //RSI rsi = useRSI?rsi(src, lengthRSI): mf // %B length = input(50, minval=1, title="BB length") mult = input(1.618, minval=0.001, maxval=50) basis = sma(rsi, length) dev = mult * stdev(rsi, length) upperr = basis + dev lowerr = basis - dev bbr = (rsi - lowerr)/(upperr - lowerr) plot(bbr, color=black, transp=0, linewidth=2) // band1 = hline(1, color=white, linestyle=dashed) // band0 = hline(0, color=white, linestyle=dashed) // fill(band1, band0, color=teal) hline(0.5, color=white) //Signals up = bbr >= 0 and bbr[1] < 0 dn = bbr <= 1 and bbr[1] > 1 //exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5)) lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] //Trading if up strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59)// or exit strategy.close_all()