
اس مضمون میں بنیادی طور پر ایک ایسی حکمت عملی بیان کی گئی ہے جس میں ایک نسبتا weak مضبوط اشاریہ ((RSI) کے ساتھ فبونیکی retracement کے ساتھ تجارت کی جاتی ہے۔ اس حکمت عملی میں پہلے ایک خاص دورانیے میں تاریخی قیمت کی حرکیات کے مطابق ایک اہم فبونیکی retracement کا حساب لگایا جاتا ہے ، اور پھر RSI اشارے کے ساتھ مل کر یہ فیصلہ کیا جاتا ہے کہ آیا مارکیٹ میں اوور بیئرنگ ہے یا نہیں ، اور واپسی کے مقام کے قریب ٹریڈنگ سگنل جاری کرتا ہے۔
یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اصولوں پر مبنی ہے۔
ایک خاص دورانیے (جیسے 200 K لائن) کے لئے قیمت کے اعداد و شمار کا استعمال کرتے ہوئے ، اس دورانیے کے لئے قیمت کی اوسط ، معیاری فرق اور اہم فبونیکی ریورس (جیسے 0.764) کا حساب لگائیں۔
جب قیمت اوپر یا نیچے کی طرف واپسی کے قریب ہوتی ہے تو ، آر ایس آئی کے ذریعہ یہ معلوم کریں کہ آیا واپسی کے علاقے میں اوورلوڈ اور اوور سیل موجود ہے۔
اگر آر ایس آئی اشارے میں اوور بُو یا اوور سیل سگنل دکھائے جاتے ہیں تو ، واپسی کے مقام کے قریب زیادہ یا کم کرنے کا اشارہ دیا جاتا ہے۔
اور سٹاپ نقصان اور سٹاپ سٹاپ کی سطح مقرر کریں ، اور مقررہ قیمت سے زیادہ ہونے یا سٹاپ نقصان کی شرائط کو متحرک کرنے پر پوزیشن کو ختم کریں۔
یہ حکمت عملی کا بنیادی عمل ہے جو تجارت کے وقت کا تعین کرتا ہے۔
RSI یا Fibonacci کو استعمال کرتے ہوئے تجارت کرنے کے مقابلے میں ، اس مجموعہ کی حکمت عملی میں درج ذیل فوائد ہیں:
ڈبل اشارے فلٹرنگ ، جعلی سگنل کو کم کرنے اور سگنل کے معیار کو بہتر بنانے کے لئے؛
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کے معاملات میں ، آپ کو ایک ہی وقت میں تجارت کرنے کی ضرورت ہے ، اور آپ کو ایک ہی وقت میں تجارت کرنے کی ضرورت ہے۔
اسٹاپ نقصان کی روک تھام کو ترتیب دینے کے بعد ، ایک ہی تجارت میں زیادہ سے زیادہ نقصان کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
پیرامیٹرز کی اصلاح کے ذریعے ، مختلف ادوار اور اقسام کے مطابق ، اشارے کے پیرامیٹرز اور ریورس گیٹ کی ترتیبات کو ایڈجسٹ کیا جاسکتا ہے۔
اس حکمت عملی میں کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:
ایک بار جب ایک اہم واپسی نقطہ قریب آتا ہے ، اس کے بعد دوبارہ اچھالنے کا امکان 100٪ نہیں ہوتا ہے ، جس میں قیمت کے اداروں کے ساتھ فیصلہ کرنے کی ضرورت ہوتی ہے۔
سنگل سائیکل آر ایس آئی کے نتیجے میں مرنے والے ریبوز کا جھوٹا اشارہ ہوسکتا ہے ، جس کی وجہ سے کثیر دورانیہ کی توثیق پر غور کیا جاسکتا ہے۔
اسٹاپ نقصان کی حد بہت زیادہ نرمی سے طے کی گئی ہے ، جس سے نقصان میں اضافہ ہوسکتا ہے۔
جب اشارے کی قیمت میں شدید اتار چڑھاؤ ہوتا ہے تو ، روک تھام کو توڑ دیا جاسکتا ہے ، اور روک تھام کو نرم کرنے پر غور کرنے کی ضرورت ہے۔
مندرجہ بالا خطرات پیرامیٹرز کو ایڈجسٹ کرنے، اشارے کے مجموعہ کو بہتر بنانے اور دیگر طریقوں سے کنٹرول کیا جا سکتا ہے.
اس حکمت عملی میں مزید بہتری لانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے:
ٹرانزیکشن کے اشارے کی توثیق میں اضافہ کریں تاکہ کم ٹرانزیکشنز میں جعلی توڑ سے بچا جاسکے۔
برن کی پٹی کے اشارے پر غور کریں اور پٹی کے ٹوٹنے پر سگنل دیں۔
مشین لرننگ یا نیورل نیٹ ورک ماڈل کی تعمیر جو خود بخود اعلی معیار کے تجارتی مواقع کی نشاندہی کرتی ہے۔
جینیاتی الگورتھم جیسے طریقوں کا استعمال کرتے ہوئے پیرامیٹرز کو خود بخود بہتر بنائیں ، اسٹاپ نقصان کی روک تھام کو ایڈجسٹ کریں۔
اس مضمون میں RSI اور فبونیکی ریٹرنس کے ساتھ فیصلہ کرنے کے لئے ایک مقداری تجارتی حکمت عملی کی تفصیلات بیان کی گئی ہیں۔ یہ حکمت عملی دوہری اشارے کے تجزیہ کو کلاسیکی تکنیکی حکمت عملی کے ساتھ جوڑتی ہے ، خطرے پر قابو پانے کی شرط پر ، تجارتی سگنل کے معیار کو بہتر بناتی ہے۔ پیرامیٹرز کی ایڈجسٹمنٹ اور ماڈل کی اصلاح کے ساتھ ، حکمت عملی کی تاثیر کو مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Gab Fib + RSI", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=1000, currency=currency.USD, commission_type=strategy.commission.cash_per_order, commission_value=4)
// Inputs
timeFilter = year >= 2000
// Stop Loss
stop_loss = input(title="SL in % of Instrum. i.e 1.5%=150pips", minval=0, step=0.1, defval=1.5) /100
// RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
// Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)
// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)
// Calculate RSI
vrsi = rsi(close, len)
// Calculate the Targets
targetUp = fd764
targetDown = fu764
// Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)
// Calculate Stop Losses
sl_long = close * (1-stop_loss)
sl_short = close * (1+stop_loss)
// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)
// Conditions to Close Trades
closeLong = high > exit_long or sl_long
closeShort = low < exit_short or sl_short
//Rounding to MinTick value
roundtargetUp = round_to_mintick(targetUp)
roundtargetDown = round_to_mintick(targetDown)
roundsllong = round_to_mintick(sl_long)
roundslshort = round_to_mintick(sl_short)
// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="[Fibonacci Level] Bottom")
// Strategy Orders
if timeFilter
// Entry Orders
strategy.entry(id="buy", long=true, when=openLong and high < targetUp, limit=close, alert_message="buy,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetUp)+",sl="+tostring(roundsllong))
strategy.entry(id="sell", long=false, when=openShort and low > targetDown, limit=close, alert_message="sell,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetDown)+",sl="+tostring(roundslshort))
// Exit Orders
strategy.exit(id="closelong", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=sl_long, alert_message="closelong,"+tostring(syminfo.ticker))
strategy.exit(id="closeshort", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=sl_short, alert_message="closeshort,"+tostring(syminfo.ticker))