ڈبل فاسٹ آر ایس آئی ٹوٹنے کی حکمت عملی

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

img

جائزہ

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

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

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

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

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

یہ حکمت عملی مارٹنگیل سسٹم کا بھی استعمال کرتی ہے۔ ہر نقصان کے بعد آرڈر کا سائز دوگنا ہوجاتا ہے۔

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

  • دو آر ایس آئی اشارے کا استعمال کرتے ہوئے کامیابی کے سگنل کا بہتر اندازہ لگایا جاسکتا ہے اور غلط سگنل سے بچایا جاسکتا ہے۔

  • اس کے علاوہ جسمانی پیشرفت کی جانچ پڑتال سے استحکام کے دوران غلط تجارت سے بچنے میں مدد ملتی ہے۔

  • مارٹنگیل نقصانات کے بعد تیزی سے نقصانات کو روکنے میں مدد کرتا ہے۔

  • اپنی مرضی کے مطابق RSI پیرامیٹرز داخلہ کے مواقع کو بہتر بناتے ہیں.

  • بڑے واقعات کے اثرات سے بچنے کے لئے تجارتی سیشن محدود ہوسکتے ہیں۔

خطرے کا تجزیہ

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

  • مارٹنگیل نقصانات کے بعد پوزیشن میں اضافہ، پھٹنے کا خطرہ.

  • تجارتی لاگت پر غور نہیں کیا جاتا ہے۔

  • بہت سے بہتر پیرامیٹرز کو بہترین مجموعہ تلاش کرنے کے لئے بہت سے ٹیسٹ کی ضرورت ہوتی ہے.

نقصانات کو محدود کرنے کے لئے سٹاپ نقصان مقرر کر سکتے ہیں؛ RSI پیرامیٹرز کو بہتر بنائیں؛ لاگت پر غور شامل کریں؛ توڑنے کے معیار کو آرام دہ بنائیں.

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

  • زیادہ سے زیادہ نقصان کو محدود کرنے کے لئے سٹاپ نقصان شامل کریں.

  • غلط سگنل کو کم کرنے کے لئے RSI پیرامیٹرز کو بہتر بنائیں.

  • زیادہ تجارت سے بچنے کے لئے ٹریڈنگ لاگت کے اثرات پر غور کریں۔

  • زیادہ مواقع کے لئے جسم کی کامیابی کے معیار کو آرام دہ بنائیں.

  • مزید فلٹرز شامل کریں تاکہ پھنسنے سے بچ سکیں۔

خلاصہ

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


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

//Noro
//2018

//@version=2
strategy(title = "Noro's Fast RSI Strategy v2.0", shorttitle = "Fast RSI str 2.0", overlay = true)

//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, %")
usersi1 = input(true, defval = true, title = "Use RSI #1")
rsiperiod1 = input(7, defval = 7, minval = 2, maxval = 50, title = "#1 RSI Period")
rsilimit1 = input(25, defval = 25, minval = 1, maxval = 100, title = "#1 RSI limit")
usersi2 = input(true, defval = true, title = "Use RSI #2")
rsiperiod2 = input(14, defval = 14, minval = 2, maxval = 50, title = "#2 RSI Period")
rsilimit2 = input(25, defval = 25, minval = 1, maxval = 100, title = "#2 RSI limit")
showarr = input(false, defval = false, title = "Show Arrows")
fromyear = input(2018, defval = 2018, 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")

//RSI #1
uprsi1 = rma(max(change(close), 0), rsiperiod1)
dnrsi1 = rma(-min(change(close), 0), rsiperiod1)
rsi1 = dnrsi1 == 0 ? 100 : uprsi1 == 0 ? 0 : 100 - (100 / (1 + uprsi1 / dnrsi1))
uplimit1 = 100 - rsilimit1
dnlimit1 = rsilimit1

//RSI #2
uprsi2 = rma(max(change(close), 0), rsiperiod2)
dnrsi2 = rma(-min(change(close), 0), rsiperiod2)
rsi2 = dnrsi2 == 0 ? 100 : uprsi2 == 0 ? 0 : 100 - (100 / (1 + uprsi2 / dnrsi2))
uplimit2 = 100 - rsilimit2
dnlimit2 = rsilimit2

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi1 < dnlimit1 and body > abody / 5 and usersi1
dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi1 > uplimit1 and body > abody / 5 and usersi1
up2 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and rsi2 < dnlimit2 and body > abody / 5 and usersi2
dn2 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and rsi2 > uplimit2 and body > abody / 5 and usersi2
norma = rsi1 > dnlimit1 and rsi1 < uplimit1 and rsi2 > dnlimit2 and rsi2 < uplimit2
exit = (((strategy.position_size > 0 and bar == 1 and norma) or (strategy.position_size < 0 and bar == -1 and norma)) and body > abody / 2)

//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or up2
needdn = dn1 or dn2
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//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
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

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

مزید