RSI رجحان کی حکمت عملی

RSI SMA EMA
تخلیق کی تاریخ: 2024-06-14 15:28:38 آخر میں ترمیم کریں: 2024-06-14 15:28:38
کاپی: 0 کلکس کی تعداد: 562
1
پر توجہ دیں
1617
پیروکار

RSI رجحان کی حکمت عملی

جائزہ

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

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

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

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

//@version=5
strategy("Simple RSI Strategy", overlay=true,  initial_capital=20, commission_value=0.1, commission_type=strategy.commission.percent)

// Define the hardcoded date (Year, Month, Day, Hour, Minute)
var hardcodedYear = 2024
var hardcodedMonth = 6
var hardcodedDay = 10

// Convert the hardcoded date to a timestamp
var start_date = timestamp(hardcodedYear, hardcodedMonth, hardcodedDay)

// settings
order_size_usdt = input.float(20, title="Order Size (USDT)")
rsiLength = input.int(9, title="RSI Length")
rsiBuyThreshold = input.int(30, title="RSI Buy Threshold")
rsiSellThreshold = input.int(70, title="RSI Sell Threshold")
rsibuystrat = input.int(1, title="buy strat 1=achieved,2=recross")
rsisellstrat = input.int(1, title="sell strat 1=achieved,2=recross")
stoploss = input.int(1, title="Stop loss percent")
max_duration = input(24, title="Max Position Duration (hours)")*60

// emaPeriod = input.int(50, title="EMA Period")
// smaPeriod = input.int(200, title="SMA Period")

rsi = ta.rsi(close, rsiLength) 
// ma_rsi = ta.sma(rsi, rsiLength)
// ema = ta.ema(close,emaPeriod)
// sma = ta.sma(close,smaPeriod)
// plot(sma, color=color.red, title="exp Moving Average")
// plot(smal, color=color.blue, title="Simple Moving Average")

longCondition = ((ta.crossunder(rsi, rsiBuyThreshold) and rsibuystrat==1) or (ta.crossover(rsi, rsiBuyThreshold) and rsibuystrat==2) ) and strategy.position_size == 0
shortCondition = ( (ta.crossover(rsi, rsiSellThreshold) and rsisellstrat==1) or (ta.crossunder(rsi, rsiSellThreshold) and rsisellstrat==2) ) and strategy.position_size > 0 

// Execute Buy and Sell orders
if (longCondition)
	positionSize = order_size_usdt / close
	strategy.entry("Long", strategy.long,qty=positionSize)
	if (stoploss>0)
		stopLossPrice = close * (1 - stoploss/100 )
		strategy.exit("Stop Loss", from_entry="Long", stop=stopLossPrice)
	
if (shortCondition )//or stopCondition)
	strategy.close("Long")

//add condition open time
if (strategy.position_size > 0 and max_duration >0)
	var float entry_time = na
	if (strategy.opentrades > 0)
		entry_time := nz(strategy.opentrades.entry_time(0), na)
	else
		entry_time := na

	current_time = time
	var float duration_minutes = -1
	if (not na(entry_time))
		duration_minutes := (current_time - entry_time) / 60000

	
	// Close positions after a certain duration (e.g., 60 minutes)
	// if ( duration_minutes > max_duration and close>=strategy.opentrades.entry_price(0))
	if ( duration_minutes > max_duration )
		label.new(bar_index, high, text="Duration: " + str.tostring(duration_minutes/60) + " hrs", color=color.blue, textcolor=color.white, style=label.style_label_down, size=size.small)
		strategy.close("Long")


// Plot Buy and Sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
//plotshape(series=stopCondition, title="stop Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot RSI
// hline(rsiBuyThreshold, "RSI Buy Threshold", color=color.green)
// hline(rsiSellThreshold, "RSI Sell Threshold", color=color.red)