RSI اور Stochastic RSI پر مبنی تجارتی حکمت عملی


تخلیق کی تاریخ: 2024-02-18 16:13:50 آخر میں ترمیم کریں: 2024-02-18 16:13:50
کاپی: 1 کلکس کی تعداد: 711
1
پر توجہ دیں
1617
پیروکار

RSI اور Stochastic RSI پر مبنی تجارتی حکمت عملی

جائزہ

اس تجارتی حکمت عملی میں تجارتی سگنل پیدا کرنے کے لئے دو تکنیکی اشارے استعمال کیے جاتے ہیں: نسبتا weak مضبوط اشارے (RSI) اور بے ترتیب نسبتا strong مضبوط اشارے (Stochastic RSI) ۔ اس حکمت عملی میں اضافی طور پر اعلی ٹائم فریموں میں کریپٹوکرنسی کی قیمتوں کی نقل و حرکت کو رجحان کی تصدیق کے لئے استعمال کیا جاتا ہے تاکہ سگنل کی وشوسنییتا کو بہتر بنایا جاسکے۔

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

ملٹی ٹائم فریم RSI-SRSI ٹریڈنگ حکمت عملی

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

یہ حکمت عملی آر ایس آئی اشارے کی قیمتوں میں اضافے یا کمی کی بنیاد پر اوورلوڈ اور اوورلوڈ کے رجحان کا فیصلہ کرتی ہے۔ آر ایس آئی 30 سے کم ہونے پر اوورلوڈ کا اشارہ ہوتا ہے ، اور 70 سے زیادہ ہونے پر اوورلوڈ کا اشارہ ہوتا ہے۔ اسٹوکاسٹک آر ایس آئی اشارے آر ایس آئی اشارے کے اپنے اتار چڑھاؤ کو دیکھتا ہے۔ اسٹوکاسٹک آر ایس آئی 5 سے کم اوورلوڈ کا اشارہ ہے ، اور 50 سے زیادہ اوورلوڈ کا اشارہ ہے۔

حکمت عملی ایک ہی وقت میں ایک اعلی ٹائم فریم ((مثال کے طور پر گھڑی لائن) میں کریپٹوکرنسی کی قیمتوں کے رجحانات کے ساتھ مل کر کام کرتی ہے۔ صرف اس صورت میں جب اعلی ٹائم فریم کا RSI کم قیمت سے اوپر ہو (مثال کے طور پر 45) ، خریدنے کے لئے ایک تجارتی سگنل پیدا ہوتا ہے۔ یہ ترتیب مجموعی طور پر نیچے کی سمت میں ہونے پر غیر مستحکم اوور سیل سگنل کو فلٹر کرتی ہے۔

خرید و فروخت کے سگنل کو ٹرگر کرنے کے بعد ، اس کی تصدیق کے لئے ایک خاص دورانیے کی ضرورت ہوتی ہے (جیسے 8 K لائن) ، تاکہ گمراہ کن سگنل پیدا نہ ہوں۔

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

  • RSI اشارے کا استعمال کرتے ہوئے کلاسیکی تکنیکی تجزیہ کے طریقوں کا استعمال کرتے ہوئے اوور بیئر اور اوور سیل
  • Stochastic RSI اشارے کے ساتھ مل کر RSI خود کو ایک الٹ سگنل کی شناخت
  • غلط سگنل کو فلٹر کرنے کے لئے ملٹی ٹائم فریم ٹکنالوجی کا استعمال ، سگنل کے معیار کو بہتر بنانا

اسٹریٹجک خطرات اور حل

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI and Stochatic Strategy", overlay=true, use_bar_magnifier = false)


/////// Inputs ///////////////

// RSI and SRSI
rsiLength = input(14, title="RSI Length") 
stochLength = input(14, title="Stochastic Length")
kSmooth = input(3, title="K Smooth")
dSmooth = input(3, title="D Smooth")


//////// thresholds ///////////////
st_low = input(5, title="Low SRSI") // stochastic RSI low -- prepare to sell
st_hi = input(50, title="High SRSI") // stochastic RSI high -- prepare to buy
diff = input(5, title="difference") // minimum change in RSI
// inval_diff = input(12, title="difference") // invalidation difference: change in the oposite direction that invalidates rsi falling/rising
rsi_low = input(30, title="Low RSI") // RSI considered low
rsi_hi = input(60, title="High RSI") // RSI considered high
rsi_ht_hi = input(45, title="High higher time frame RSI") // RSI in higher time frame considered high


/// buy trigger duration 
tr_dur = input(8, title="Trigger duration")
low_dur = input(20, title="Monitoring last low")


///////////////// Higher time frame trend ///////////////////
// higher time frame resolution
res2 = input.timeframe("W", title="Higher time-frame")
// Input for the ticker symbol, default is an empty string
// For instance we could monitor BTC higher time frame trend
symbol = input("BTC_USDT:swap", "Input Ticker (leave empty for current)")

// Determine the symbol to use
inputSymbol = symbol == "" ? syminfo.tickerid : symbol
//////////////////////////////////////////////////////////

// Calculate RSI //
rsi = ta.rsi(close, rsiLength)

// Calculate Stochastic RSI //
rsiLowest = ta.lowest(rsi, stochLength)
rsiHighest = ta.highest(rsi, stochLength)
stochRsi = 100 * (rsi - rsiLowest) / (rsiHighest - rsiLowest)

// Apply smoothing
K = ta.sma(stochRsi, kSmooth)
D = ta.sma(K, dSmooth)

// Higher time Frame RSI
cl2 = request.security(inputSymbol, res2, close)
rsi2 = ta.rsi(cl2, 14)

// SRSI BUY/SELL signals 
sell_stoch = (ta.lowest(K, tr_dur) < st_low) or (ta.highest(rsi, tr_dur) < rsi_low)
buy_stoch = ((ta.lowest(K, tr_dur) > st_hi) or (ta.lowest(rsi, tr_dur) > rsi_hi)) and (rsi2 > rsi_ht_hi)

 // valitation / invalidation sell signal
ll = ta.barssince(not sell_stoch)+1
sell_validation = (ta.highest(rsi, ll)>rsi[ll]+diff and rsi < rsi[ll]) or (rsi < rsi[ll]-diff)

// valitation / invalidation buy signal
llb = ta.barssince(not buy_stoch)+1
buy_validation = (ta.lowest(rsi, llb)<rsi[llb]-diff and rsi > rsi[llb]) or (rsi > rsi_hi and rsi - rsi[tr_dur] > 0)

sell_signal = sell_stoch and sell_validation
buy_signal = buy_stoch and buy_validation 

// Define the start date for the strategy
startYear = input(2019, "Start Year")
startMonth = input(1, "Start Month")
startDay = input(1, "Start Day")

// Convert the start date to Unix time
startTime = timestamp(startYear, startMonth, startDay, 00, 00)

// Define the end date for the strategy
endYear = input(2030, "End Year")
endMonth = input(1, "End Month")
endDay = input(1, "End Day")

// Convert the end date to Unix time
endTime = timestamp(endYear, endMonth, endDay, 00, 00)


if true
    if buy_signal
        strategy.entry("buy", strategy.long, comment = "Buy")
    if sell_signal
        strategy.close("buy", "Sell")