
یہ حکمت عملی آر ایس آئی اشارے کے پیرامیٹرز کو متعدد بار ترتیب دے کر قیمتوں میں متعدد ٹوٹ پھوٹ کا احساس کرتی ہے ، جس سے زیادہ درست اندراج اور باہر نکلنے کے سگنل ملتے ہیں۔
اس حکمت عملی میں آر ایس آئی پیرامیٹرز کے دو سیٹ ترتیب دیئے گئے ہیں ، آر ایس آئی کا دورانیہ 7 ، آر ایس آئی کا دورانیہ 25 اور آر ایس آئی کا دورانیہ 14 ، آر ایس آئی کا دورانیہ 25۔ جب قیمت آر ایس آئی کے کسی بھی سیٹ کی حدود کو توڑ دیتی ہے تو ، اس میں اضافہ یا کمی کا عمل ہوتا ہے۔
حکمت عملی سب سے پہلے آر ایس آئی اشارے کے دونوں سیٹوں کی اقدار کا حساب لگاتی ہے اور پھر فیصلہ کرتی ہے کہ آیا قیمت آر ایس آئی کی اوپری حد یا نچلی حد کو توڑ دیتی ہے۔ اگر اوپری حد کو توڑ دیا جائے تو ، ایک سے زیادہ سگنل پیدا ہوتا ہے ، اور اگر نچلی حد کو توڑ دیا جائے تو ، اس سے کم سگنل پیدا ہوتا ہے۔
اگر پوزیشن پہلے سے ہی رکھی گئی ہے تو ، یہ فیصلہ کرنا جاری رکھیں گے کہ آیا موجودہ آر ایس آئی معمول کی حد میں ہے۔ اگر آر ایس آئی معمول پر ہے ، اور اسی وقت ایک ادارہ اوسط سے آدھی حد کو توڑتا ہے تو ، ایکٹ آؤٹ سگنل پیدا ہوتا ہے۔
اس حکمت عملی میں مارٹینگل ہورجنگ سسٹم بھی استعمال کیا گیا ہے۔ ہر نقصان کے بعد ، اگلی تجارت میں حجم دوگنا ہوجائے گا۔
آر ایس آئی اشارے کے دو سیٹوں کا استعمال کرتے ہوئے ، بریک سگنل کا زیادہ درست اندازہ لگایا جاسکتا ہے ، تاکہ جھوٹے بریک سے بچا جاسکے۔
ایک ہی وقت میں، آپ کو آپ کے اکاؤنٹ میں موجود ٹوٹنے کی جانچ پڑتال کرنے کی ضرورت ہے، اور آپ کو ہلچل کے دوران غلط تجارت سے بچنے کی ضرورت ہے.
مارٹینگل کے ساتھ ، آپ کو نقصان کے بعد تیزی سے نقصان کا سامنا کرنا پڑتا ہے۔
اپنی مرضی کے مطابق آر ایس آئی پیرامیٹرز کا مجموعہ ، داخلے کے مواقع کو بہتر بنائیں۔
اہم واقعات کے اثرات سے بچنے کے لئے ٹرانزیکشن کی مدت کو محدود کیا جاسکتا ہے۔
ڈبل 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()