
آر ایس آئی اشارے تجارت کی حکمت عملی سے دور ہیں۔ آر ایس آئی اشارے اور قیمت کی نقل و حرکت کے مابین انحراف کی نشاندہی کرکے خرید و فروخت کے سگنل دیئے جاتے ہیں۔ اس حکمت عملی میں ایک ہی وقت میں نقصان کو روکنے ، روکنے ، اور نقصان کو روکنے کی طرح کی خصوصیات ہیں ، جو خطرے کو مؤثر طریقے سے کنٹرول کرسکتی ہیں۔
یہ حکمت عملی بنیادی طور پر آر ایس آئی اشارے کے انحراف کی بنیاد پر تجارت کے مواقع کی نشاندہی کرتی ہے۔ خاص طور پر ، حکمت عملی پہلے ایک خاص دورانیے میں آر ایس آئی کی قیمتوں کا حساب لگاتی ہے ، اور پھر آر ایس آئی اشارے کی رجحان لائن کھینچتی ہے۔ اس کے ساتھ ہی ، حکمت عملی قیمت کی رجحان لائن بھی کھینچتی ہے۔ جب آر ایس آئی لائن اور قیمت لائن کے مابین انحراف ہوتا ہے ، یعنی آر ایس آئی بڑھتی ہے اور قیمت کم ہوتی ہے یا آر ایس آئی کم ہوتی ہے اور قیمت بڑھتی ہے تو ، حکمت عملی کا فیصلہ ہوتا ہے کہ تبادلہ ہوسکتا ہے ، جس سے تجارتی سگنل پیدا ہوتا ہے۔
اگر آر ایس آئی لائن کم سے اوپر بڑھتی ہے اور قیمت کی لائن اونچائی سے نیچے آتی ہے تو ، خریدنے کا اشارہ دیا جاتا ہے۔ اگر آر ایس آئی لائن اونچائی سے نیچے آتی ہے اور قیمت کی لائن کم سے اوپر جاتی ہے تو ، فروخت کا اشارہ دیا جاتا ہے۔ ایک بار جب تجارتی سگنل بن جاتا ہے تو ، حکمت عملی آر ایس آئی کی قدر کی مقدار کے مطابق مناسب تجارت کرسکتی ہے۔
اس کے علاوہ ، حکمت عملی میں اسٹاپ نقصان ، اسٹاپ اور ٹریکنگ اسٹاپ نقصان کی خصوصیات ہیں۔ اسٹاپ نقصان کو کنٹرول کرنے کے لئے نقصان کا خطرہ ، اسٹاپ منافع کو لاک کرنے کے لئے ، اور ٹریکنگ اسٹاپ منافع کو چلانے کے لئے۔ یہ ترتیبات ہر تجارت کے خطرے کو مؤثر طریقے سے منظم کرسکتی ہیں۔
RSI سے دور ٹریڈنگ کی اس حکمت عملی کے درج ذیل فوائد ہیں:
آر ایس ایس آئی اشارے کے انحراف کو پکڑنے سے ، قیمتوں میں تبدیلیوں کا وقت سے پہلے پتہ لگایا جاسکتا ہے۔
RSI اشارے وسیع پیمانے پر استعمال ہوتے ہیں اور زیادہ تر ٹریڈنگ سافٹ ویئر میں RSI اشارے بلٹ ان ہوتے ہیں۔ یہ حکمت عملی قابل اطلاق ہے۔
RSI اشارے کے پیرامیٹرز کو لچکدار ترتیب دیا گیا ہے ، جو مارکیٹ کے مشاہدے کے دورانیے کے مطابق ایڈجسٹ کیا جاسکتا ہے ، جو مختلف حالات کے مطابق ہے۔
اسٹاپ ، اسٹاپ اور ٹریکنگ اسٹاپ کی ترتیبات کے ساتھ مل کر ، ہر تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
حکمت عملی ٹریڈنگ سگنل کی تعدد کو اعتدال پسند بنائیں اور زیادہ سے زیادہ تجارت سے گریز کریں۔
حکمت عملی کے خیالات واضح اور سمجھنے کے لئے آسان ہیں، کمپیوٹر پروگراموں کو لاگو کرنے کے لئے.
اس حکمت عملی کے کچھ خطرات بھی ہیں:
RSI کی انحراف 100٪ قابل اعتماد نہیں ہے اور اس سے غلط سگنل پیدا ہوسکتے ہیں۔ اس کو دوسرے اشارے کے ساتھ مل کر فلٹر سگنل کی ضرورت ہے۔
رجحان کے حالات میں ، آر ایس آئی کے اشارے سے ہٹنا ناقابل عمل ہوسکتا ہے ، اور اس سے گریز کیا جانا چاہئے۔
آر ایس آئی پیرامیٹرز کی غلط ترتیب حکمت عملی کی تاثیر کو بھی متاثر کرتی ہے۔ بہت مختصر سائیکل کی ترتیب تجارت کی تعدد اور خطرے میں اضافہ کرتی ہے۔
اسٹاپ نقصان کا نقطہ بہت چھوٹا ہے ، اور اس سے پہلے ہی روکنا ممکن ہے۔ اسٹاپ نقصان کا نقطہ بہت بڑا ہے ، اور اس سے خطرے کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔ توازن کی ترتیبات کی ضرورت ہے۔
ٹریکنگ اسٹاپ قیمتوں میں شدید اتار چڑھاؤ کے دوران ، جلد ہی روک سکتا ہے۔ مارکیٹ میں اتار چڑھاؤ کے ساتھ مل کر مناسب ٹریکنگ اسٹاپ فاصلہ طے کرنے کی ضرورت ہے۔
اس خطرے کو مندرجہ ذیل اقدامات سے کم کیا جاسکتا ہے:
سگنل فلٹرنگ کے لئے دیگر اشارے شامل کریں ، جیسے MACD ، برلن لائن ، وغیرہ ، جعلی سگنل کو کم کریں۔
یہ حکمت عملی صرف ہلچل والے شہروں میں استعمال کی جاتی ہے، واضح رجحانات سے بچنے کے لئے.
آر ایس آئی پیرامیٹرز کی ترتیبات کو بہتر بنائیں ، بہترین سائیکل کی لمبائی کا انتخاب کریں۔ اور مختلف مارکیٹوں کے پیرامیٹرز کی ترجیحات کی جانچ کریں۔
تاریخی پیمائش کے اعداد و شمار کے مطابق معقول اسٹاپ نقصان اور اسٹاپ پوزیشن کا تعین کریں۔
مارکیٹ میں اتار چڑھاؤ اور خطرے کی ترجیحات کے مطابق ٹریکنگ اسٹاپ کی حد کو ایڈجسٹ کریں۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
ٹریڈنگ سگنلز کو فلٹر کرنے کے لئے دوسرے اشارے کے فیصلے شامل کریں ، سگنل کی وشوسنییتا کو بہتر بنائیں۔
مشین لرننگ ٹکنالوجی کا استعمال کرتے ہوئے خود کار طریقے سے آر ایس آئی پیرامیٹرز کی ترتیبات کو بہتر بنائیں۔
مختلف مارکیٹ کے رجحانات کے مطابق ، متحرک سٹاپ نقصان کے الگورتھم کو ڈیزائن کریں۔ جیسے کہ زلزلے کے حالات میں اسٹاپ نقصان کو بڑھانا ، رجحان کے حالات میں اسٹاپ نقصان کو کم کرنا۔
متحرک پوزیشن مینجمنٹ الگورتھم ڈیزائن کریں جو مارکیٹ میں اتار چڑھاؤ جیسے عوامل کے مطابق ہر تجارت کے لئے پوزیشن کا سائز ایڈجسٹ کریں۔
ٹریکنگ اسٹاپ میں اتار چڑھاؤ کی شرح کا تصور متعارف کروانا ، قیمت میں اتار چڑھاؤ کی شدت کے مطابق ٹریکنگ اسٹاپ فاصلہ طے کرنا۔
اس حکمت عملی کو دیگر مارکیٹوں جیسے فاریکس اور کریپٹو کرنسیوں میں بھی استعمال کرنے کی کوشش کریں۔
حکمت عملی کے لئے خودکار تجارت کے لئے ایک مقداری تجارتی نظام کی تعمیر.
اس آر ایس آئی سے دور تجارتی حکمت عملی آر ایس آئی اشارے اور قیمت کی نقل و حرکت کے مابین انحراف کو پکڑ کر تجارتی سگنل پیدا کرتی ہے۔ اس حکمت عملی کا فائدہ یہ ہے کہ یہ سادہ اور واضح ہے اور اسے خود کار طریقے سے نافذ کیا جاسکتا ہے۔ اس کے ساتھ ہی ، اسٹاپ ، اسٹاپ اور ٹریکنگ اسٹاپ نقصان کی ترتیبات بھی خطرے کو مؤثر طریقے سے کنٹرول کرسکتی ہیں۔ تاہم ، اس حکمت عملی میں کچھ حدود بھی ہیں ، جس میں متعدد اشارے کے جوڑے کی تصدیق کی ضرورت ہوتی ہے۔ سگنل کی توثیق کرنے کے لئے سگنل کی توثیق کرنے کے لئے ، یہ مضبوط رجحانات کے لئے موزوں نہیں ہے۔ اس حکمت عملی کو پیرامیٹرز کی ترتیبات کو بہتر بنانے ، سگنل کو بڑھانے اور متحرک اسٹاپ وغیرہ میں بہتری لائی جاسکتی ہے۔ اگر اس کی منظوری دی جاتی ہے تو ، یہ حکمت عملی مجموعی طور پر چلنے والے جھٹکے کے تحت معاون حکمت عملیوں میں سے ایک کے طور پر کام کرسکتی ہے۔
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro
//@version=5
// strategy("RSI Divergence Strategy", overlay=true, scale = scale.none)
rsilen=input.int(14, title="rsi length")
rsisrc=input(close, title="source")
x=ta.rsi(rsisrc,rsilen)
len=input.int(14, title="RSI Divergence length", maxval=500)
tpb = input.float(25, title="take profit", group = "buy", step = 0.5)
sb = input.float(5, title="stop", group = "buy", step = 0.5)
tsb = input.float(0.25, title="trailing stop", group = "buy", step = 0.5)
tps = input.float(25, title="take profit", group = "sell", step = 0.5)
ss =input.float(5, title="stop", group = "sell", step = 0.5)
tss = input.float(0.25, title="trailing stop", group = "sell", step = 0.5)
src=close
extrapolation=0
zoom=input.int(0, title="zoom", maxval=27, minval=-27)
hline(300-zoom*10, color=color.rgb(54, 58, 69, 100))
hline(10, color=color.rgb(54, 58, 69, 100))
// for ax+b
xo=0.0
yo=0.0
xyo=0.0
xxo=0.0
for i=0 to len-1
xo:= xo + i/(len)
yo:= yo + x[len-1-i]/(len)
xyo:= xyo + i*x[len-1-i]/(len)
xxo:= xxo + i*i/(len)
dnm=ta.lowest(low,200)
dizi=array.new_float(len*2+1+extrapolation)
// linedizi=array.new_line()
a=(xo*yo-xyo)/(xo*xo-xxo)
b=yo-a*xo
for i=0 to len-1+extrapolation
array.set(dizi,i,a*i+b)
//// for src
// for ax+b
xo2=0.0
yo2=0.0
xyo2=0.0
xxo2=0.0
for i=0 to len-1
xo2:= xo2 + i/(len)
yo2:= yo2 + src[len-1-i]/(len)
xyo2:= xyo2 + i*src[len-1-i]/(len)
xxo2:= xxo2 + i*i/(len)
dizi2=array.new_float(len*2+1+extrapolation)
// linedizi2=array.new_line()
a2=(xo2*yo2-xyo2)/(xo2*xo2-xxo2)
b2=yo2-a*xo2
for i=0 to len-1+extrapolation
array.set(dizi2,i,a2*i+b2)
ttk=((array.get(dizi,0)<array.get(dizi,1)) and (array.get(dizi2,0)>array.get(dizi2,1)))? 1 :
((array.get(dizi,0)>array.get(dizi,1)) and (array.get(dizi2,0)<array.get(dizi2,1)))? -1 : 0
cg=((array.get(dizi,0)<array.get(dizi,1)) and (array.get(dizi2,0)>array.get(dizi2,1)))// and ta.highest(ttk[1],len/2)<1)
cr=((array.get(dizi,0)>array.get(dizi,1)) and (array.get(dizi2,0)<array.get(dizi2,1)))// and ta.lowest(ttk[1],len/2)>-1)
bgcolor(color=(cg and ta.highest(ttk[1],len/2)<1)? color.rgb(76, 175, 79, 50) :
(cr and ta.lowest(ttk[1],len/2)>-1)? color.rgb(255, 82, 82, 50) : na, offset=0, display=display.none)
plot(x)
// for ax+b
xo3=0.0
yo3=0.0
xyo3=0.0
xxo3=0.0
for i=0 to len-1
xo3:= xo3 + i/(len)
yo3:= yo3 + x[len-1-i+(ta.barssince(cg))]/(len)
xyo3:= xyo3 + i*x[len-1-i+(ta.barssince(cg))]/(len)
xxo3:= xxo3 + i*i/(len)
dizi3=array.new_float(len*2+1+extrapolation)
// linedizi3=array.new_line()
a3=(xo3*yo3-xyo3)/(xo3*xo3-xxo3)
b3=yo3-a3*xo3
for i=0 to len-1+extrapolation
array.set(dizi3,i,a3*i+b3)
// for ax+b
xo4=0.0
yo4=0.0
xyo4=0.0
xxo4=0.0
for i=0 to len-1
xo4:= xo4 + i/(len)
yo4:= yo4 + x[len-1-i+(ta.barssince(cr))]/(len)
xyo4:= xyo4 + i*x[len-1-i+(ta.barssince(cr))]/(len)
xxo4:= xxo4 + i*i/(len)
dizi4=array.new_float(len*2+1+extrapolation)
// linedizi4=array.new_line()
a4=(xo4*yo4-xyo4)/(xo4*xo4-xxo4)
b4=yo4-a4*xo4
for i=0 to len-1+extrapolation
array.set(dizi4,i,a4*i+b4)
// line=line.new((last_bar_index-ta.barssince(cg)-len),
// array.get(dizi3,0),
// last_bar_index-ta.barssince(cg),
// array.get(dizi3,len-1), color=color.rgb(0,255,0), width=2)
// line2=line.new((last_bar_index-ta.barssince(cr)-len),
// array.get(dizi4,0),
// last_bar_index-ta.barssince(cr),
// array.get(dizi4,len-1), color=color.rgb(255, 0, 0, 0), width=2)
// line.delete(line[1])
// line.delete(line2[1])
alert=((array.get(dizi,0)<array.get(dizi,1)) and (array.get(dizi2,0)>array.get(dizi2,1)) and ta.highest(ttk[1],len/2)<1)
or ((array.get(dizi,0)>array.get(dizi,1)) and (array.get(dizi2,0)<array.get(dizi2,1)) and ta.lowest(ttk[1],len/2)>-1)
alertcondition(alert)
hline(50)
rs=hline(30)
rss=hline(70)
fill(rs, rss, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
longCondition = cg and ta.highest(ttk[1],len/2)<1
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("exit long", "Long", limit = close*(100+tpb)/100 , stop =close*(100-sb)/100 , trail_price = close , trail_offset = close*tsb)
shortCondition = cr and ta.lowest(ttk[1],len/2)>-1
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("exit short", "Short", limit = close*(100-tps)/100, stop = close*(100+ss)/100, trail_price = close , trail_offset = close*tss)