RSI ڈائنامک ڈائیورجینس مقداری حکمت عملی

RSI ATR SL/TP risk management DIVERGENCE Pivot
تخلیق کی تاریخ: 2025-04-25 14:57:31 آخر میں ترمیم کریں: 2025-04-25 14:57:31
کاپی: 0 کلکس کی تعداد: 455
2
پر توجہ دیں
319
پیروکار

RSI ڈائنامک ڈائیورجینس مقداری حکمت عملی RSI ڈائنامک ڈائیورجینس مقداری حکمت عملی

جائزہ

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

حکمت عملی کا اصول

  1. RSI حساب کتاب ماڈیول: Wilder Smoothing Method کا استعمال کرتے ہوئے 14 سیکنڈ ((ترتیب پذیر) RSI کی قدر کا حساب لگائیں ، اختتامی قیمت کو بطور ڈیفالٹ ان پٹ ماخذ استعمال کریں (ترتیب پذیر) ۔
  2. محور کا پتہ لگانا:
    • RSI اشارے کی مقامی بلندیوں اور کمزوریوں کا پتہ لگانے کے لئے ہر 5 سیکنڈ ((ترتیب پذیر) سلائیڈنگ ونڈو کا استعمال کریں
    • ta.barssince فنکشن کے ذریعے محور پوائنٹس کے درمیان فاصلہ 5-60 K لائنوں کو یقینی بنائیں (موافقت پذیر رینج)
  3. تصدیق کی منطق سے ہٹ کر:
    • قیمتوں میں جدت کم اور آر ایس آئی میں اعلی کم
    • نیچے کی طرف واپسی: قیمتوں میں تخلیقی اونچائی اور آر ایس آئی نے کم اونچائی تشکیل دی
  4. ٹرانزیکشن عملدرآمد کے نظام:
    • ڈبل موڈ اسٹاپ میکانیزم کا استعمال: حالیہ 20 سائیکلوں کی بنیاد پر ((ایڈجسٹ) سوئنگ پوائنٹ یا اے ٹی آر اتار چڑھاؤ کی شدت
    • متحرک اسٹاپ حساب کتاب: خطرہ کی رقم پر مبنی منافع کا خطرہ کا تناسب (ڈفالٹ 2: 1)
  5. بصری نظام: چارٹ پر تمام موثر انحراف سگنل کو نشان زد کریں اور موجودہ پوزیشنوں کی روک تھام (سرخ) اور روک تھام (سبز) کی افقی لائن کو حقیقی وقت میں دکھائیں۔

طاقت کا تجزیہ

  1. کثیر جہتی توثیق کا طریقہ کار: قیمت اور آر ایس آئی کو ایک ہی وقت میں مخصوص شکلوں کو پورا کرنا ضروری ہے ، اور پہلے سے طے شدہ حدود میں وقت کے وقفے سے ، جھوٹے سگنل کی امکان کو نمایاں طور پر کم کیا جاسکتا ہے۔
  2. خودکشی سے متعلق خطرے کا انتظام:
    • سوئنگ پوائنٹ ماڈل ٹرینڈ مارکیٹ کے لئے موزوں ہے ، جس سے بینڈ کی سرگرمیوں کو مؤثر طریقے سے پکڑ لیا جاسکتا ہے۔
    • اے ٹی آر موڈل غیر مستحکم مارکیٹوں کے لئے موزوں ہے ، جو اتار چڑھاؤ کی شرح کے مطابق خود بخود اسٹاپ نقصان کو ایڈجسٹ کرتا ہے
  3. پیرامیٹرز کی اونچائی قابل ترتیب: تمام کلیدی پیرامیٹرز (RSI سائیکل ، محور کی جانچ کی حد ، رسک ریٹرن تناسب وغیرہ) مارکیٹ کی خصوصیات کے مطابق ایڈجسٹ ہوسکتے ہیں۔
  4. سائنسی فنڈ مینجمنٹ: 10٪ پوزیشن تناسب کو ڈیفالٹ کے طور پر استعمال کیا جاتا ہے تاکہ انفرادی تجارت کو زیادہ خطرہ سے بچایا جاسکے۔
  5. ریئل ٹائم بصری آراء: چارٹ کے نشانات اور متحرک اسٹاپ / اسٹاپ لائنوں کے ذریعہ بصری تجارتی فیصلے کی حمایت فراہم کریں۔

خطرے کا تجزیہ

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

اصلاح کی سمت

  1. جامع اشارے کی توثیق: سیکنڈری تصدیق کے طور پر MACD یا ٹرانزیکشن حجم اشارے شامل کریں ، سگنل کی کیفیت کو بہتر بنائیں۔
  2. متحرک پیرامیٹرز کی ایڈجسٹمنٹ: مارکیٹ میں اتار چڑھاؤ کے مطابق آر ایس آئی سائیکل اور اے ٹی آر ضرب کو خود بخود ایڈجسٹ کریں۔
  3. مشین لرننگ کی اصلاح: جینیاتی الگورتھم کا استعمال کرتے ہوئے کلیدی پیرامیٹرز کے مجموعے کو بہتر بنانا۔
  4. کثیر ٹائم فریم تجزیہ: اعلی ٹائم فریم کے رجحانات کو فلٹر کریں
  5. پوزیشن متحرک انتظام: پوزیشن کا سائز اتار چڑھاؤ کی شرح کے مطابق ایڈجسٹ کریں ، خطرے کا توازن حاصل کریں۔
  6. ایونٹ فلٹر: اقتصادی کیلنڈر کے اعداد و شمار کو مربوط کریں تاکہ اہم اعداد و شمار کے اجراء سے پہلے اور بعد میں ہونے والے لین دین کو روکا جا سکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-04-25 00:00:00
end: 2025-04-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy("RSI Divergence Strategy - AliferCrypto", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === RSI Settings ===
rsiLength      = input.int(14, minval=1, title="RSI Length", group="RSI Settings", tooltip="Number of periods for RSI calculation")
rsiSource      = input.source(close, title="RSI Source", group="RSI Settings", tooltip="Price source used for RSI calculation")

// === Divergence Settings ===
lookLeft       = input.int(5, minval=1, title="Pivot Lookback Left", group="Divergence Settings", tooltip="Bars to the left for pivot detection")
lookRight      = input.int(5, minval=1, title="Pivot Lookback Right", group="Divergence Settings", tooltip="Bars to the right for pivot detection")
rangeLower     = input.int(5, minval=1, title="Min Bars Between Pivots", group="Divergence Settings", tooltip="Minimum bars between pivots to validate divergence")
rangeUpper     = input.int(60, minval=1, title="Max Bars Between Pivots", group="Divergence Settings", tooltip="Maximum bars between pivots to validate divergence")

// === SL/TP Method ===
method         = input.string("Swing", title="SL/TP Method", options=["Swing", "ATR"], group="SL/TP Settings", tooltip="Choose between swing-based or ATR-based stop and target")

// === Swing Settings ===
swingLook      = input.int(20, minval=1, title="Swing Lookback (bars)", group="Swing Settings", tooltip="Bars to look back for swing high/low")
swingMarginPct = input.float(1.0, minval=0.0, title="Swing Margin (%)", group="Swing Settings", tooltip="Margin around swing levels as percentage of price")
rrSwing        = input.float(2.0, title="R/R Ratio (Swing)", group="Swing Settings", tooltip="Risk/reward ratio when using swing-based method")

// === ATR Settings ===
atrLen         = input.int(14, minval=1, title="ATR Length", group="ATR Settings", tooltip="Number of periods for ATR calculation")
atrMult        = input.float(1.5, minval=0.1, title="ATR SL Multiplier", group="ATR Settings", tooltip="Multiplier for ATR-based stop loss calculation")
rrAtr          = input.float(2.0, title="R/R Ratio (ATR)", group="ATR Settings", tooltip="Risk/reward ratio when using ATR-based method")

// === RSI Calculation ===
_d    = ta.change(rsiSource)
up    = ta.rma(math.max(_d, 0), rsiLength)
down  = ta.rma(-math.min(_d, 0), rsiLength)
rsi   = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// === Divergence Detection ===
defPl      = not na(ta.pivotlow(rsi, lookLeft, lookRight))
defPh      = not na(ta.pivothigh(rsi, lookLeft, lookRight))
rsiAtRR   = rsi[lookRight]
barsPl    = ta.barssince(defPl)
barsPl1   = barsPl[1]
inRangePL = barsPl1 >= rangeLower and barsPl1 <= rangeUpper
barsPh    = ta.barssince(defPh)
barsPh1   = barsPh[1]
inRangePH = barsPh1 >= rangeLower and barsPh1 <= rangeUpper
prevPlRsi   = ta.valuewhen(defPl, rsiAtRR, 1)
prevPhRsi   = ta.valuewhen(defPh, rsiAtRR, 1)
prevPlPrice = ta.valuewhen(defPl, low[lookRight], 1)
prevPhPrice = ta.valuewhen(defPh, high[lookRight], 1)
bullCond    = defPl and low[lookRight] < prevPlPrice and rsiAtRR > prevPlRsi and inRangePL
bearCond    = defPh and high[lookRight] > prevPhPrice and rsiAtRR < prevPhRsi and inRangePH

plotshape(bullCond, title="Bullish Divergence", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(bearCond, title="Bearish Divergence", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny)

// === Entries ===
if bullCond
    strategy.entry("Long", strategy.long)
if bearCond
    strategy.entry("Short", strategy.short)

// === Pre-calculate SL/TP components ===
swingLow    = ta.lowest(low, swingLook)
swingHigh   = ta.highest(high, swingLook)
atrValue    = ta.atr(atrLen)

// === SL/TP Calculation & Exits ===
var float slPrice = na
var float tpPrice = na
var float rr      = na

// Long exits
if strategy.position_size > 0
    entryPrice = strategy.position_avg_price
    if method == "Swing"
        slPrice := swingLow * (1 - swingMarginPct / 100)
        rr      := rrSwing
    else
        slPrice := entryPrice - atrValue * atrMult
        rr      := rrAtr
    risk     = entryPrice - slPrice
    tpPrice  := entryPrice + risk * rr
    strategy.exit("Exit Long", from_entry="Long", stop=slPrice, limit=tpPrice)

// Short exits
if strategy.position_size < 0
    entryPrice = strategy.position_avg_price
    if method == "Swing"
        slPrice := swingHigh * (1 + swingMarginPct / 100)
        rr      := rrSwing
    else
        slPrice := entryPrice + atrValue * atrMult
        rr      := rrAtr
    risk     = slPrice - entryPrice
    tpPrice  := entryPrice - risk * rr
    strategy.exit("Exit Short", from_entry="Short", stop=slPrice, limit=tpPrice)

// === Plot SL/TP Levels ===
plot(strategy.position_size != 0 ? slPrice : na, title="Stop Loss", style=plot.style_linebr, color=color.red)
plot(strategy.position_size != 0 ? tpPrice : na, title="Take Profit", style=plot.style_linebr, color=color.green)

// === Alerts ===
alertcondition(bullCond, title="Bull RSI Divergence", message="Bullish RSI divergence detected")
alertcondition(bearCond, title="Bear RSI Divergence", message="Bearish RSI divergence detected")