RSI طویل-مختصر انحراف اشارے


تخلیق کی تاریخ: 2024-01-25 11:49:36 آخر میں ترمیم کریں: 2024-01-25 11:49:36
کاپی: 0 کلکس کی تعداد: 861
1
پر توجہ دیں
1617
پیروکار

RSI طویل-مختصر انحراف اشارے

جائزہ

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

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

اس حکمت عملی کا مرکزی اشارے آر ایس آئی ہے۔ یہ آر ایس آئی اشارے اور قیمت کے مابین گرے ہوئے فرق کو تجزیہ کرتا ہے۔ گرے ہوئے فرق کو آر ایس آئی اشارے اور قیمت کے مابین ایک الٹ سگنل کہا جاتا ہے۔

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

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

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

اسٹریٹجک فوائد

آر ایس آئی کثیر خلا اختلاف کی حکمت عملی کے درج ذیل فوائد ہیں:

  1. قیمتوں میں الٹ پوائنٹس کو درست طریقے سے پکڑنا۔ آر ایس آئی اور قیمتوں کے اختلافات اکثر ایک بہت ہی موثر پیش گوئی سگنل ہوتے ہیں جو آنے والے رجحانات میں الٹ پوائنٹس کی نشاندہی کرتے ہیں۔

  2. کم خرید و فروخت کا حصول۔ اختلافات کے ذریعے پوزیشن بنانا ، نسبتا low کم پر خریدنے اور نسبتا high اعلی پر فروخت کرنے کے قابل ہونا ، جو مقدار کی تجارت کے بہترین طریقوں کے مطابق ہے۔

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

  4. سادہ پیرامیٹرز کی ترتیب ◄ اہم پیرامیٹرز صرف RSI مدت اور نظر ثانی کی مدت کے لئے دو، بہت سادہ اور آسان اصلاح ◄

اسٹریٹجک رسک

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

  1. فرق سگنل جعلی سگنل ہوسکتے ہیں۔ آر ایس آئی اور قیمت کے مابین فرق ضروری نہیں کہ حقیقی قیمت کی الٹ کا سبب بنے۔ بعض اوقات یہ جعلی الٹ بھی بنتا ہے۔ اس سے تجارت میں نقصان ہوتا ہے۔ خطرے کو کنٹرول کرنے کے لئے مناسب طور پر اسٹاپ نقصان طے کیا جاسکتا ہے۔

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

  3. واپسی کا خطرہ۔ حکمت عملی میں واپسی کے پیرامیٹرز مرتب کیے گئے ہیں ، اگر متعدد نقصان دہ تجارت کا سامنا کرنا پڑتا ہے تو ، اکاؤنٹ میں نقصان کو تیز کیا جاسکتا ہے۔ اس خطرے کو کم کرنے کے لئے پوزیشن کے سائز اور اسٹاپ نقصان کو کنٹرول کرنے کی ضرورت ہے۔

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

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

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

  2. آر ایس آئی پیرامیٹرز کو بہتر بنائیں۔ مختلف آر ایس آئی سائیکل پیرامیٹرز کی جانچ کی جاسکتی ہے تاکہ آر ایس آئی سائیکل کی ترتیبات کو تلاش کیا جاسکے جو نسل کی خصوصیات سے بہتر طور پر مل سکے۔ عام طور پر 6-15 کے درمیان بہتر ہے۔

  3. واپسی کی حد کو بہتر بنائیں۔ واپسی کی حد براہ راست حکمت عملی پر اثر انداز ہونے والی تجارت کی تعدد ہے۔ مختلف پیرامیٹرز کی جانچ کی جاسکتی ہے تاکہ بہترین تعدد مل سکے۔ عام طور پر 5-15 کے درمیان بہتر اثر پڑتا ہے۔

  4. نقصان کی حکمت عملی میں اضافہ کریں۔ آپ اے ٹی آر ، موبائل اسٹاپ ، وغیرہ کے مطابق معقول نقصان کی منطق مرتب کرسکتے ہیں۔ نقصان کی صورت میں فوری اسٹاپ ، حکمت عملی کے خطرے کو مؤثر طریقے سے کنٹرول کرسکتے ہیں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//study(title="Divergence Indicator", format=format.price)
//GOOGL setting  5 , close, 3 , 1  profitLevel at 75 shows win rate  87.21 %  profit factor 7.059
//GOOGL setting  8 , close, 3 , 1  profitLevel at 80 shows win rate  86.57 %  profit factor 18.96 
//SPY setting    5, close , 3, 3  profitLevel at 70  , shows win rate 80.34%  profit factor 2.348
strategy(title="RSI Divergence Indicator", overlay=false,pyramiding=2, default_qty_value=2,   default_qty_type=strategy.fixed, initial_capital=10000, currency=currency.USD)

len = input(title="RSI Period", minval=1, defval=9)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=3)
lbL = input(title="Pivot Lookback Left", defval=1)
takeProfitRSILevel = input(title="Take Profit at RSI Level", minval=70, defval=80)

rangeUpper = input(title="Max of Lookback Range", defval=60)
rangeLower = input(title="Min of Lookback Range", defval=5)
plotBull = input(title="Plot Bullish", defval=true)
plotHiddenBull = input(title="Plot Hidden Bullish", defval=true)
plotBear = input(title="Plot Bearish", defval=true)
plotHiddenBear = input(title="Plot Hidden Bearish", defval=false)

//useTrailStopLoss = input(false, title="Use Trailing Stop Loss")

sl_type = input("NONE", title="Trailing StopLoss Type", options=['ATR','PERC', 'NONE'])

stopLoss = input(title="Stop Loss%", defval=5, minval=1)

atrLength=input(14, title="ATR Length (for Trailing stop loss)")
atrMultiplier=input(3.5, title="ATR Multiplier (for Trailing stop loss)")


bearColor = color.purple
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)

osc = rsi(src, len)

plot(osc, title="RSI", linewidth=2, color=#8D1699)
hline(50, title="Middle Line", linestyle=hline.style_dotted)
obLevel = hline(70, title="Overbought", linestyle=hline.style_dotted)
osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=#9915FF, transp=90)

plFound = na(pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(pivothigh(osc, lbL, lbR)) ? false : true

_inRange(cond) =>
    bars = barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Regular Bullish

// Osc: Higher Low
oscHL = osc[lbR] > valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Lower Low
priceLL = low[lbR] < valuewhen(plFound, low[lbR], 1)

bullCond = plotBull and priceLL and oscHL and plFound

plot(
	 plFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bullish",
	 linewidth=2,
	 color=(bullCond ? bullColor : noneColor),
	 transp=0
	 )


plotshape(
	 bullCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bullish Label",
	 text=" Bull ",
	 style=shape.labelup,
	 location=location.absolute,
	 color=bullColor,
	 textcolor=textColor,
	 transp=0
	 )

//------------------------------------------------------------------------------
// Hidden Bullish

// Osc: Lower Low
oscLL = osc[lbR] < valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Higher Low
priceHL = low[lbR] > valuewhen(plFound, low[lbR], 1)

hiddenBullCond = plotHiddenBull and priceHL and oscLL and plFound

plot(
	 plFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bullish",
	 linewidth=2,
	 color=(hiddenBullCond ? hiddenBullColor : noneColor),
	 transp=0
	 )

plotshape(
	 hiddenBullCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bullish Label",
	 text=" H Bull ",
	 style=shape.labelup,
	 location=location.absolute,
	 color=bullColor,
	 textcolor=textColor,
	 transp=0
	 )

longCondition=bullCond or hiddenBullCond
//? osc[lbR] : na  
//hiddenBullCond
strategy.entry(id="RSIDivLE", long=true,  when=longCondition)


//Trailing StopLoss
////// Calculate trailing SL
/////////////////////////////////////////////////////
sl_val = sl_type == "ATR"      ? stopLoss * atr(atrLength) : 
         sl_type == "PERC" ? close * stopLoss / 100 : 0.00

trailing_sl = 0.0
trailing_sl :=   strategy.position_size>=1 ?  max(low  - sl_val, nz(trailing_sl[1])) :  na

//draw initil stop loss
//plot(strategy.position_size>=1 ? trailing_sl : na, color = color.blue , style=plot.style_linebr,  linewidth = 2, title = "stop loss")
//plot(trailing_sl, title="ATR Trailing Stop Loss", style=plot.style_linebr, linewidth=1, color=color.purple, transp=30)
//Trailing StopLoss
////// Calculate trailing SL
/////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// Regular Bearish

// Osc: Lower High
oscLH = osc[lbR] < valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Higher High
priceHH = high[lbR] > valuewhen(phFound, high[lbR], 1)

bearCond = plotBear and priceHH and oscLH and phFound

plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bearish",
	 linewidth=2,
	 color=(bearCond ? bearColor : noneColor),
	 transp=0
	 )

plotshape(
	 bearCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Regular Bearish Label",
	 text=" Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor,
	 transp=0
	 )

//------------------------------------------------------------------------------
// Hidden Bearish

// Osc: Higher High
oscHH = osc[lbR] > valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])

// Price: Lower High
priceLH = high[lbR] < valuewhen(phFound, high[lbR], 1)

hiddenBearCond = plotHiddenBear and priceLH and oscHH and phFound

plot(
	 phFound ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bearish",
	 linewidth=2,
	 color=(hiddenBearCond ? hiddenBearColor : noneColor),
	 transp=0
	 )

plotshape(
	 hiddenBearCond ? osc[lbR] : na,
	 offset=-lbR,
	 title="Hidden Bearish Label",
	 text=" H Bear ",
	 style=shape.labeldown,
	 location=location.absolute,
	 color=bearColor,
	 textcolor=textColor,
	 transp=0
	 )
longCloseCondition=crossover(osc,takeProfitRSILevel) or bearCond
strategy.close(id="RSIDivLE", comment="Close All="+tostring(close - strategy.position_avg_price, "####.##"), when= abs(strategy.position_size)>=1  and  sl_type == "NONE" and longCloseCondition)

//close all on stop loss
strategy.close(id="RSIDivLE", comment="TSL="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and (sl_type == "PERC"   or sl_type == "ATR" ) and crossunder(close, trailing_sl)  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89


// Calculate start/end date and time condition
startDate  = input(timestamp("2019-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-01-01T00:00:00"), type = input.time)
 
time_cond  = time >= startDate and time <= finishDate