وی آر ایس آئی اور مارسی حکمت عملی آر ایس آئی اشارے کو ہموار کرنے کے لئے چلنے والے اوسط کا استعمال کرتی ہے اور دوہری اشارے کی حکمت عملی کو نافذ کرتی ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے قیمت اور حجم کے آر ایس آئی اشارے دونوں کا استعمال کرتی ہے ، ان کے چلنے والے اوسط کے ساتھ مل کر۔ جب قیمت آر ایس آئی بڑھتی ہے تو یہ لمبی ہوتی ہے اور جب قیمت آر ایس آئی گرتی ہے تو مختصر ہوجاتی ہے۔ اس دوران ، یہ مارکیٹ کی طاقت اور ممکنہ رجحان کی تبدیلیوں کا فیصلہ کرنے کے لئے حجم آر ایس آئی میں ہونے والی تبدیلیوں کا مشاہدہ کرتی ہے۔
حکمت عملی سب سے پہلے قیمت کے 9 پیریڈ آر ایس آئی اشارے (آر ایس آئی) اور حجم کے 9 پیریڈ آر ایس آئی اشارے (وی آر ایس آئی) کا حساب لگاتی ہے۔ پھر یہ ان دو آر ایس آئی اشارے کے 5 پیریڈ سادہ چلتی اوسط (مارسی اور میورسی) کا حساب لگاتی ہے۔
ٹریڈنگ سگنل مارسی اشارے کی بنیاد پر تیار کیے جاتے ہیں۔ جب مارسی بڑھتا ہے تو یہ طویل ہوجاتا ہے اور جب مارسی گرتا ہے تو مختصر ہوجاتا ہے۔ اس کے علاوہ ، مارکیٹ کی طاقت اور ممکنہ رجحان کی تبدیلیوں کا اندازہ کرنے کے لئے میورسی اشارے کا استعمال کیا جاتا ہے۔
مثال کے طور پر ، ایک اپ ٹرینڈ کے دوران ، اگر قیمت بڑھتی ہی جارہی ہے لیکن حجم کم ہونا شروع ہوجاتا ہے تو ، اس سے یہ اشارہ ملتا ہے کہ تیزی کی طاقت کمزور ہوسکتی ہے اور کسی کو لمبی پوزیشنیں بند کرنے کی تیاری کرنی چاہئے۔ اس کے برعکس ، اگر ڈاؤن ٹرینڈ کے دوران ، اگر قیمت میں کمی ہوتی رہتی ہے لیکن حجم بڑھتا ہے تو ، اس سے bearish طاقت کو تقویت ملتی ہے اور مختصر پوزیشنوں کو مزید برقرار رکھا جاسکتا ہے۔
دوہری آر ایس آئی اشارے کے چلتے ہوئے اوسط کو جوڑ کر ، یہ حکمت عملی مؤثر طریقے سے رجحانات کو پکڑ سکتی ہے ، جبکہ مارکیٹ کی طاقت کا اندازہ کرنے اور پھنس جانے سے بچنے کے لئے حجم کی تبدیلیوں کا استعمال کرتی ہے۔ ایک واحد آر ایس آئی اشارے کے مقابلے میں ، یہ حکمت عملی مارکیٹ کی لہر کو زیادہ درست طریقے سے پکڑ سکتی ہے۔
حرکت پذیر اوسطوں کا استعمال سگنل کو زیادہ قابل اعتماد بنانے کے لئے کچھ شور کو بھی فلٹر کرتا ہے۔ نیز ، مختلف پیرامیٹر کی ترتیبات جیسے آر ایس آئی مدت اور حرکت پذیر اوسط مدت حکمت عملی کی اصلاح کے امکانات فراہم کرتی ہیں۔
اس حکمت عملی کا سب سے بڑا خطرہ دوہری اشارے کے مابین پائے جانے والے اختلافات میں ہے۔ جب قیمت اور حجم کے مابین اختلاف ہوتا ہے تو ، تجارتی سگنل کم قابل اعتماد بن سکتے ہیں۔ اس وقت اشارے کے مابین تعلقات کا دستی فیصلہ ضروری ہے۔
ایک اور خطرہ رینج سے منسلک مارکیٹوں میں پھنس رہا ہے۔ جب قیمت کسی حد میں چلتی ہے تو ، آر ایس آئی اشارے میں اوپر اور نیچے جھولنے کا رجحان ہوتا ہے ، جس سے غیر ضروری تجارت شروع ہوجاتی ہے۔ اس وقت پیرامیٹر ایڈجسٹمنٹ یا اشارے کی مطلق سطح کا فیصلہ کرنا ضروری ہے۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
زیادہ سے زیادہ مجموعہ تلاش کرنے کے لئے RSI اور چلتی اوسط کے پیرامیٹرز کو ایڈجسٹ کریں
سگنل پیدا کرتے وقت دیگر شرائط شامل کریں، مثال کے طور پر oversold / oversold علاقے میں شروع ہونے والے الٹ سگنل زیادہ قابل اعتماد ہوتے ہیں
سٹاپ نقصان کی حکمت عملی جیسے منتقل سٹاپ نقصان یا اشارے سٹاپ نقصان شامل کریں
دیگر اشارے شامل کریں جیسے موم بتیوں کے پیٹرن، اتار چڑھاؤ کے اشارے وغیرہ تاکہ پھندوں سے بچنے کے لئے
وی آر ایس آئی اور مارسی حکمت عملی قیمت اور حجم کے آر ایس آئی اشارے کو کامیابی کے ساتھ جوڑتی ہے۔ دوہری اشارے کے مابین موازنہ اور فیصلہ سگنل کی درستگی اور منافع کو بہتر بنا سکتا ہے۔ پیرامیٹر کی اصلاح اور اسٹاپ نقصان کی حکمت عملی بھی مستحکم چلانے کا امکان بناتی ہے۔ خلاصہ یہ ہے کہ اشارے کو جوڑ کر ، یہ حکمت عملی ایک واحد آر ایس آئی اشارے پر اعلی کارکردگی حاصل کرتی ہے۔
/*backtest start: 2024-01-02 00:00:00 end: 2024-02-01 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("VRSI-MARSI Strategy", shorttitle="(V/MA)RSI Str.", overlay=false, default_qty_type=strategy.percent_of_equity, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0, default_qty_value=5, initial_capital=100) // RSI(close, ="RSI") and RSI(Volume, ="VRSI") src = close, len = input(9, minval=1, title="Length RSI") src2 = volume, len2 = input(9, minval=1, title="Length VRSI)") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) up2 = rma(max(change(src2), 0), len2) down2 = rma(-min(change(src2), 0), len2) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - (100 / (1 + up2 / down2)) // MA(=Moving Average) of RSI(close, ="MARSI") and RSI(Volume, ="MAVRSI") len3 = input(5, minval=1, title="Length MARSI") marsi = sma(rsi, len3) len4 = input(5, minval=1, title="Length MAVRSI") marsi2 = sma(rsi2, len4) // Plot: // Default plot of RSI and VRSI: not visible but can be made visible // Default plot MARSI and MAVRSI: visible p1 = plot(rsi, linewidth=2, transp=100, color=color.yellow, title="RSI") p2 = plot(rsi2, linewidth=2, transp=100, color=color.orange, title="VRSI") m1 = plot(marsi, color=(marsi>=0 ? (marsi[1] < marsi ? color.yellow : color.blue) : (marsi[1] < marsi ? color.yellow : color.blue) ), linewidth = 2, transp = 0, title="MARSI") m2 = plot(marsi2, color=color.orange, linewidth = 2, transp = 0, title="MAVRSI") // Color fill: // Default color fill "RSI - VRSI": not visible but can be made visible // Default color fill "MARSI - MAVRSI": visible fill(p1,p2, color = rsi>rsi2 ? color.green : color.red, transp=100, title="BG RSI-VRSI") fill(m1,m2, color = marsi>marsi2 ? color.green : color.red, transp=75, title="BG MARSI-MAVRSI") // Lines: h2=hline(20, color=color.green, linestyle=hline.style_dotted, title="Extreme Oversold Rsi") h3=hline(30, color=color.black, linestyle=hline.style_dotted, title="Oversold Rsi") h5=hline(50, color=color.yellow, linestyle=hline.style_dashed, title="Middle line") h7=hline(70, color=color.black, linestyle=hline.style_dotted, title="Overbought Rsi") h8=hline(80, color=color.red, linestyle=hline.style_dotted, title="Extreme Overbought Rsi") // Color fill between Lines "20-30" and "70-80" represents the crossing of "MARSI" and "MAVRSI": fill(h2, h3, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="20-30 BG color X MARSI/MAVRSI") fill(h7, h8, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="70-80 BG color X MARSI/MAVRSI") ///Long Entry/// longCondition = marsi > marsi[1] if (longCondition) strategy.entry("Long", strategy.long) ///Long exit/// Xlong =input(true) closeConditionLong = marsi < marsi[1] and Xlong if (closeConditionLong) strategy.close("Long") ///Short Entry/// shortCondition = marsi < marsi[1] if (shortCondition) strategy.entry("Short", strategy.short) ///Short exit/// Xshort =input(true) closeConditionShort = marsi > marsi[1] and Xshort if (closeConditionShort) strategy.close("Short")