وسائل لوڈ ہو رہے ہیں... لوڈنگ...

آر ایس آئی رجحان کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-06-14
ٹیگز:آر ایس آئیایس ایم اےای ایم اے

img

جائزہ

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

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

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

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

  1. حکمت عملی کی وشوسنییتا کو بہتر بنانے کے لئے دیگر تکنیکی اشارے ، جیسے چلتے ہوئے اوسط متعارف کروائیں۔
  2. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں، جیسے کہ اتار چڑھاؤ کی بنیاد پر ٹرائلنگ اسٹاپ نقصان یا متحرک اسٹاپ نقصان کا استعمال کریں۔
  3. مارکیٹ کے حالات کے مطابق RSI کے پیرامیٹرز اور حدوں کو متحرک طور پر ایڈجسٹ کریں۔
  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)

متعلقہ

مزید