اس حکمت عملی میں قیمتوں میں اضافے کو لاگو کرنے کے لئے متعدد آر ایس آئی اشارے استعمال کیے جاتے ہیں تاکہ زیادہ درست اندراج اور باہر نکلنے کے سگنل پیدا کیے جائیں۔
حکمت عملی میں آر ایس آئی پیرامیٹرز کے دو گروپ مقرر کیے گئے ہیں ، ایک 7 کی مدت اور 25 کی حد کے ساتھ ، دوسرا 14 کی مدت اور 25 کی حد کے ساتھ۔ جب قیمت آر ایس آئی کی حد میں سے کسی ایک کو توڑتی ہے تو ، طویل یا مختصر آرڈرز پر عمل درآمد کیا جاتا ہے۔
حکمت عملی سب سے پہلے دو آر ایس آئی اشارے کی اقدار کا حساب لگاتی ہے ، پھر فیصلہ کرتی ہے کہ آیا قیمت آر ایس آئی کی اوپری یا نچلی حد کو توڑتی ہے۔ اگر یہ اوپری حد کو توڑتی ہے تو ، ایک لمبا سگنل تیار ہوتا ہے۔ اگر یہ نچلی حد کو توڑتی ہے تو ، ایک مختصر سگنل تیار ہوتا ہے۔
اگر پہلے سے ہی کوئی پوزیشن ہے تو ، یہ فیصلہ کرتا رہتا ہے کہ آیا موجودہ آر ایس آئی معمول کی حد میں ہے۔ اگر آر ایس آئی معمول پر آجاتا ہے اور جسم حرکت پذیر اوسط کے نصف سے ٹوٹ جاتا ہے تو ، ایک آؤٹ سگنل تیار ہوتا ہے۔
یہ حکمت عملی مارٹنگیل سسٹم کا بھی استعمال کرتی ہے۔ ہر نقصان کے بعد آرڈر کا سائز دوگنا ہوجاتا ہے۔
دو آر ایس آئی اشارے کا استعمال کرتے ہوئے کامیابی کے سگنل کا بہتر اندازہ لگایا جاسکتا ہے اور غلط سگنل سے بچایا جاسکتا ہے۔
اس کے علاوہ جسمانی پیشرفت کی جانچ پڑتال سے استحکام کے دوران غلط تجارت سے بچنے میں مدد ملتی ہے۔
مارٹنگیل نقصانات کے بعد تیزی سے نقصانات کو روکنے میں مدد کرتا ہے۔
اپنی مرضی کے مطابق RSI پیرامیٹرز داخلہ کے مواقع کو بہتر بناتے ہیں.
بڑے واقعات کے اثرات سے بچنے کے لئے تجارتی سیشن محدود ہوسکتے ہیں۔
دوہری RSI مکمل طور پر جھوٹی پیشرفت سے بچ نہیں سکتا.
مارٹنگیل نقصانات کے بعد پوزیشن میں اضافہ، پھٹنے کا خطرہ.
تجارتی لاگت پر غور نہیں کیا جاتا ہے۔
بہت سے بہتر پیرامیٹرز کو بہترین مجموعہ تلاش کرنے کے لئے بہت سے ٹیسٹ کی ضرورت ہوتی ہے.
نقصانات کو محدود کرنے کے لئے سٹاپ نقصان مقرر کر سکتے ہیں؛ RSI پیرامیٹرز کو بہتر بنائیں؛ لاگت پر غور شامل کریں؛ توڑنے کے معیار کو آرام دہ بنائیں.
زیادہ سے زیادہ نقصان کو محدود کرنے کے لئے سٹاپ نقصان شامل کریں.
غلط سگنل کو کم کرنے کے لئے RSI پیرامیٹرز کو بہتر بنائیں.
زیادہ تجارت سے بچنے کے لئے ٹریڈنگ لاگت کے اثرات پر غور کریں۔
زیادہ مواقع کے لئے جسم کی کامیابی کے معیار کو آرام دہ بنائیں.
مزید فلٹرز شامل کریں تاکہ پھنسنے سے بچ سکیں۔
یہ حکمت عملی قیمت کی پیشرفت کا تعین کرنے کے لئے دوہری آر ایس آئی کا استعمال کرتی ہے ، وِپساؤ سے بچنے کے لئے باڈی بریچ فلٹر شامل کرتی ہے۔ یہ نقصانات کو تیزی سے کم کرنے کے لئے مارٹنگیل کا بھی استعمال کرتی ہے۔ پیرامیٹرز کو بہتر بنانے اور زیادہ درست سگنلز کے لئے فلٹرز شامل کرکے حکمت عملی کو بہتر بنایا جاسکتا ہے۔ نقصانات کو محدود کرنے کے لئے رسک مینجمنٹ ضروری ہے۔ مجموعی طور پر یہ حکمت عملی نسبتا stable مستحکم پیشرفت کا نظام مہیا کرتی ہے جو اعلی کارکردگی کی تجارت کے لئے موزوں ہے۔
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Fast RSI Strategy v2.0", shorttitle = "Fast RSI str 2.0", overlay = true) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usemar = input(false, defval = false, title = "Use Martingale") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") usersi1 = input(true, defval = true, title = "Use RSI #1") rsiperiod1 = input(7, defval = 7, minval = 2, maxval = 50, title = "#1 RSI Period") rsilimit1 = input(25, defval = 25, minval = 1, maxval = 100, title = "#1 RSI limit") usersi2 = input(true, defval = true, title = "Use RSI #2") rsiperiod2 = input(14, defval = 14, minval = 2, maxval = 50, title = "#2 RSI Period") rsilimit2 = input(25, defval = 25, minval = 1, maxval = 100, title = "#2 RSI limit") showarr = input(false, defval = false, title = "Show Arrows") 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") //RSI #1 uprsi1 = rma(max(change(close), 0), rsiperiod1) dnrsi1 = rma(-min(change(close), 0), rsiperiod1) rsi1 = dnrsi1 == 0 ? 100 : uprsi1 == 0 ? 0 : 100 - (100 / (1 + uprsi1 / dnrsi1)) uplimit1 = 100 - rsilimit1 dnlimit1 = rsilimit1 //RSI #2 uprsi2 = rma(max(change(close), 0), rsiperiod2) dnrsi2 = rma(-min(change(close), 0), rsiperiod2) rsi2 = dnrsi2 == 0 ? 100 : uprsi2 == 0 ? 0 : 100 - (100 / (1 + uprsi2 / dnrsi2)) uplimit2 = 100 - rsilimit2 dnlimit2 = rsilimit2 //Body body = abs(close - open) abody = sma(body, 10) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi1 < dnlimit1 and body > abody / 5 and usersi1 dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi1 > uplimit1 and body > abody / 5 and usersi1 up2 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi2 < dnlimit2 and body > abody / 5 and usersi2 dn2 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi2 > uplimit2 and body > abody / 5 and usersi2 norma = rsi1 > dnlimit1 and rsi1 < uplimit1 and rsi2 > dnlimit2 and rsi2 < uplimit2 exit = (((strategy.position_size > 0 and bar == 1 and norma) or (strategy.position_size < 0 and bar == -1 and norma)) and body > abody / 2) //Arrows col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na needup = up1 or up2 needdn = dn1 or dn2 needexitup = exit and strategy.position_size < 0 needexitdn = exit and strategy.position_size > 0 plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0) plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0) //Trading profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1] mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1 lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1] if up1 or up2 if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn1 or dn2 if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if exit strategy.close_all()