دوہری آر ایس آئی بریکآؤٹ حکمت عملی ایک الگورتھمک تجارتی حکمت عملی ہے جو آر ایس آئی اشارے کا استعمال کرتے ہوئے قیمتوں کے الٹ پوائنٹس کی نشاندہی کرتی ہے۔ یہ آر ایس آئی اشارے کا موازنہ پہلے سے طے شدہ اوپری اور نچلی حد کی اقدار کے ساتھ کرکے تجارتی سگنل تیار کرتی ہے تاکہ یہ طے کیا جاسکے کہ آیا مارکیٹ زیادہ خرید یا زیادہ فروخت ہوئی ہے۔
یہ حکمت عملی بنیادی طور پر مارکیٹ کی حالت کا فیصلہ کرنے کے لئے آر ایس آئی اشارے پر انحصار کرتی ہے۔ آر ایس آئی اشارے کا حساب ایک خاص مدت کے دوران اختتامی قیمتوں میں ہونے والی تبدیلیوں کی بنیاد پر کیا جاتا ہے ، جس سے اسٹاک کی خرید و فروخت کی رفتار ظاہر ہوتی ہے۔ جب آر ایس آئی پہلے سے طے شدہ اوپری حد (ڈیفالٹ 75) سے تجاوز کرتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ اسٹاک زیادہ خرید زون میں داخل ہوگیا ہے۔ جب آر ایس آئی پہلے سے طے شدہ نچلی حد (ڈیفالٹ 25) سے نیچے گرتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ اسٹاک زیادہ فروخت زون میں داخل ہوگیا ہے۔
فیصلے کے قواعد یہ ہیں:
اس کا تجارتی منطق سادہ اور واضح ہے، معقول ریفرنس پیرامیٹر کی ترتیبات، بڑی ترتیب کی جگہ کے ساتھ، اور مارکیٹ میں بڑے رجحانات کو پکڑنے کے لئے موزوں ہے.
اس حکمت عملی کے فوائد میں شامل ہیں:
عام طور پر، معقول ریفرنس پیرامیٹرز کی ترتیبات، آسان نفاذ، اور آر ایس آئی کے ذریعے مؤثر طریقے سے قیمت کی تبدیلیوں کا تعین کرنے کی صلاحیت کے ساتھ، یہ حکمت عملی درمیانی سے طویل مدتی رجحان کی گرفت کے لئے موزوں ہے اور ایک مقداری حکمت عملی کے طور پر سمجھنے اور استعمال کرنے میں آسان ہے.
اگرچہ یہ حکمت عملی نسبتاً سادہ اور قابل اعتماد ہے، لیکن ہم اس کے ممکنہ خطرات کو نظر انداز نہیں کر سکتے:
خطرات پر قابو پانے کے لیے ہمیں مندرجہ ذیل باتوں پر دھیان دینے کی ضرورت ہے:
اس حکمت عملی کا سامنا کرنے والے اہم خطرات کو مدنظر رکھتے ہوئے ، مختلف مارکیٹوں میں ردوبدل کی غلط تشخیص اور نقصانات ہیں ، ہم مندرجہ ذیل پہلوؤں سے بہتر بناسکتے ہیں:
خلاصہ یہ کہ ، دوہری آر ایس آئی بریکآؤٹ حکمت عملی ایک آسان اور عملی مقداری حکمت عملی ہے۔ یہ RSI کے ذریعہ قیمتوں میں ردوبدل کی نشاندہی کرتا ہے تاکہ سادہ رجحان کی پیروی حاصل کی جاسکے۔ اگرچہ کچھ غلط فہمی کے خطرات موجود ہیں ، لیکن پیرامیٹر ٹوننگ ، سگنل فلٹرنگ جیسی اصلاحات اس کو کم کرنے میں مدد کرسکتی ہیں اور اسے درمیانی سے طویل مدتی رجحانات کو پکڑنے میں اہم کردار ادا کرنے کی اجازت دیتی ہیں۔ اس کا منطق سیدھا ہے ، جس کی وجہ سے ابتدائی کوانٹس کے لئے حوالہ اور سیکھنے کے لئے موزوں ہے۔ مزید اصلاحات کے ساتھ ، یہ حکمت عملی نسبتا stable مستحکم مقداری واپسی حاصل کرنے میں وعدہ کرتی ہے۔
/*backtest start: 2023-12-19 00:00:00 end: 2023-12-26 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("RSI Algo", overlay=true) // Calculate start/end date and time condition DST = 1 //day light saving for usa //--- Europe London = iff(DST==0,"0000-0900","0100-1000") //--- America NewYork = iff(DST==0,"0400-1500","0500-1600") //--- Pacific Sydney = iff(DST==0,"1300-2200","1400-2300") //--- Asia Tokyo = iff(DST==0,"1500-2400","1600-0100") //-- Time In Range timeinrange(res, sess) => time(res, sess) != 0 london = timeinrange(timeframe.period, London) newyork = timeinrange(timeframe.period, NewYork) time_cond = true myPeriod = input(defval=14, type=input.integer, title="Period") myThresholdUp = input(defval=75, type=input.float, title="Upper Threshold") myThresholdDn = input(defval=25, type=input.float, title="Lower Threshold") myAlgoFlipToggle = input(defval=false, type=input.bool, title="Imverse Algorthim") myLineToggle = input(defval=true, type=input.bool, title="Show Lines") myLabelToggle = input(defval=true, type=input.bool, title="Show Labels") myRSI=rsi(close, myPeriod) buy = myAlgoFlipToggle ? falling(myRSI,1) and cross(myRSI, myThresholdDn) : rising(myRSI, 1) and cross(myRSI,myThresholdUp) //and time_cond sell = myAlgoFlipToggle ? rising(myRSI, 1) and cross(myRSI,myThresholdUp) : falling(myRSI,1) and cross(myRSI, myThresholdDn) //and time_cond myPosition = 0 myPosition := buy==1 ? 0 : sell==1 or myPosition[1]==1 ? 1 : 0 trendColor = buy ? color.red : sell ? color.green : na plot(myLineToggle ? buy and myPosition[1]==1 ? low - 0.004: sell and myPosition[1]==0 ? high + 0.004 : na : na, color=trendColor, style=plot.style_line, linewidth=4, editable=false) plotshape(myLabelToggle ? buy and myPosition[1]==1 ? low - 0.005 : na : na, style=shape.labelup, location=location.absolute, text="Buy", transp=0, textcolor = color.white, color=color.black, editable=false) plotshape(myLabelToggle ? sell and myPosition[1]==0 ? high + 0.005 : na : na, style=shape.labeldown, location=location.absolute, text="Sell", transp=0, textcolor = color.white, color=color.black, editable=false) strategy.initial_capital = 50000 //Calculate the size of the next trade balance = strategy.netprofit + strategy.initial_capital //current balance floating = strategy.openprofit //floating profit/loss risk = input(2,type=input.float,title="Risk %")/100 //risk % per trade isTwoDigit = input(false,"Is this a 2 digit pair? (JPY, XAU, XPD...") stop = input(250, title="stop loss pips") tp = input(2500, title="take profit pips") if(isTwoDigit) stop := stop/100 temp01 = balance * risk //Risk in USD temp02 = temp01/stop //Risk in lots temp03 = temp02*100000 //Convert to contracts size = 1 strategy.entry("long",1,size,when=buy and myPosition[1]==1 ) strategy.entry("short",0,size,when=sell and myPosition[1]==0) strategy.exit("exit_long","long",loss=stop, profit=tp) //Long exit (stop loss) strategy.exit("exit_short","short",loss=stop, profit=tp) //Short exit (stop loss) //strategy.close_all(when= not time_cond)