آر ایس آئی مومنٹم ریورسنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-07 15:45:15
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

  1. کونورز آر ایس آئی اشارے

    روایتی آر ایس آئی، آر ایس آئی جیت تناسب، اور آر ایس آئی پیرس کا حساب لگاتا ہے تاکہ اوسط کے طور پر کونورز آر ایس آئی حاصل کیا جاسکے.

  2. تیز رفتار RSI اشارے

    تیز رفتار RSI کا حساب کرنے کے لئے قیمت کی تبدیلیوں کا استعمال کرتا ہے، انتہائی مختصر مدت کے سائیکلوں کی عکاسی کرتا ہے.

  3. شمعدان کا فلٹر

    جھوٹے بریکآؤٹس کو روکنے کے لیے لمبے عرصے کے لیے بولش اور مختصر مدت کے لیے بیئرش باڈی کی ضرورت ہوتی ہے۔

  4. لمبی اور مختصر شرائط

    20 سے نیچے کنورس RSI اور تیزی سے RSI 25 سے نیچے جب تیزی سے جسم کے ساتھ طویل جاؤ.

    80 سے اوپر Connors RSI اور تیزی سے RSI کم جسم کے ساتھ 75 سے اوپر جب مختصر جاؤ.

  5. سٹاپ نقصان سے باہر نکلنا

    سٹاپ نقصان کے ساتھ باہر نکلتا ہے جب موم بتی کا جسم گھومتا ہے.

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

فوائد کا تجزیہ

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. طویل اور قلیل مدتی اشارے کا امتزاج

    کونورس آر ایس آئی طویل مدتی سائیکلوں کو ظاہر کرتا ہے اور تیز رفتار آر ایس آئی قلیل مدتی سائیکلوں کو ظاہر کرتا ہے، دونوں کو یکجا کرنے سے درست طریقے سے الٹ پوائنٹس کی نشاندہی کی جا سکتی ہے.

  2. شمعدان کا فلٹر

    صرف جسمانی بریکآؤٹس پر ٹریڈنگ سے جھوٹے بریکآؤٹس سے ہونے والے نقصانات کم ہو سکتے ہیں۔

  3. سایڈست پیرامیٹرز

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

  4. سادہ اور بدیہی

    RSI اور موم بتی جسم بنیادی اشارے ہیں، آسان سمجھنے کے لئے منطق.

  5. لاگو کرنے میں آسان

    صرف بلٹ ان اشارے استعمال کرتا ہے، کم کوڈ کی ضرورت ہوتی ہے اور لاگو کرنے کے لئے آسان ہے.

خطرے کا تجزیہ

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

  1. ناکام واپسی کا خطرہ

    قیمت الٹ سگنل کے بعد اصل رجحان کو جاری رکھتی ہے، جس سے نقصانات ہوتے ہیں۔

  2. مختلف مارکیٹ کا خطرہ

    مختلف مارکیٹوں میں اکثر غیر موثر سگنل ٹرگر ہوتے ہیں۔

  3. جھوٹا فرار کا خطرہ

    شمعدان جسم فلٹر مکمل طور پر جھوٹے breakouts سے بچنے کے نہیں کر سکتے ہیں.

  4. پیرامیٹرز کا خطرہ

    غیر مناسب RSI پیرامیٹرز تجارت کو یاد کرسکتے ہیں یا متعدد غیر موثر تجارت کو متحرک کرسکتے ہیں۔

  5. مارکیٹ کے خصوصی حالات کا خطرہ

    RSI اشارے ناکام ہوسکتے ہیں اور مارکیٹ کے خصوصی حالات میں غلط سگنل پیدا کرسکتے ہیں۔

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

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

  1. سٹاپ نقصان کے طریقہ کار کو شامل کریں

    زیادہ معقول سٹاپ کے لئے سٹاپ نقصان کی حکمت عملی کو بہتر بنائیں، ایک ہی تجارت کے نقصان کو کم کریں.

  2. متعدد اشارے کو مربوط کریں

    سگنلز کو زیادہ قابل اعتماد بنانے کے لیے MACD اور KD جیسے فلٹرز شامل کریں۔

  3. امکان فلٹرز شامل کریں

    کم امکان کی تجارت سے بچنے کے لئے رجحان، حمایت / مزاحمت تجزیہ کو یکجا کریں.

  4. پیرامیٹر کی ترتیبات کو بہتر بنائیں

    بہترین اقدار تلاش کرنے کے لئے مختلف مصنوعات اور وقت کے فریم پر ٹیسٹ پیرامیٹرز.

  5. خصوصی مارکیٹ کے حالات سے بچیں

    بڑے نقصانات سے بچنے کے لئے خصوصی مارکیٹ کے حالات میں تجارت کی نشاندہی کریں اور اس سے گریز کریں۔

نتیجہ

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


/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Connors RSI Strategy v1.0", shorttitle = "CRSI str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
usecrsi = input(true, defval = true, title = "Use CRSI Strategy")
usefrsi = input(true, defval = true, title = "Use FRSI Strategy")
usemod = input(true, defval = true, title = "CRSI+FRSI Mode")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
usebod = input(true, defval = true, title = "Use Body-filter")
usecol = input(true, defval = true, title = "Use Color-filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//CRSI
rsilen = 3
streaklen = 2
lookback = 100
rsi = rsi(close,rsilen)
upday = close > close[1] ? 1 : 0
downday = close < close[1] ? -1 : 0
upstreak = upday!=0 ? upstreak[1] + upday : 0
downstreak = downday!=0 ? downstreak[1] + downday : 0
streak = upstreak + downstreak
streakrsi = rsi(streak,streaklen)
roc = close/close[1] - 1
roccount = 0
for i=1 to lookback-1
    roccount := roc[i]<roc ? roccount + 1 : roccount
crsi = (rsi + streakrsi + roccount) / 3

//Oscilator
// rsiplot = plot(crsi, title="RSI", style=line, linewidth=1, color=blue)
// band1 = hline(80, title="Upper Line", linestyle=dashed, linewidth=1, color=red)
// band0 = hline(20, title="Lower Line", linestyle=dashed, linewidth=1, color=green)
// fill(band1, band0, color=purple, transp=90)

//Fast RSI
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebod == false

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gbar = bar == 1 or usecol == false
rbar = bar == -1 or usecol == false

//Signals

up1 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and crsi < limit and body and usecrsi
dn1 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and crsi > 100 - limit and body and usecrsi
up2 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and fastrsi < limit and body and usefrsi
dn2 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and fastrsi > 100 - limit and body and usefrsi
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

if ((up1 or up2) and usemod == false) or (up1 and up2 and usemod)
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if ((dn1 or dn2) and usemod == false) or (dn1 and dn2 and usemod)
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if  exit
    strategy.close_all()

مزید