یہ حکمت عملی بنیادی طور پر مارکیٹ کے رجحان اور الٹ پوائنٹس کی نشاندہی کرنے کے لئے آر ایس آئی کی اوسط قیمت اور اچانک قیمتوں میں بدلاؤ کا استعمال کرتی ہے۔ بنیادی خیال یہ ہے کہ جب آر ایس آئی زیادہ خرید یا زیادہ فروخت ہوتا ہے تو پوزیشنوں کے قیام پر غور کیا جائے ، اور اچانک قیمتوں میں تبدیلیوں کے وقت الٹ پوائنٹس کے مواقع تلاش کیے جائیں۔ ای ایم اے کو فلٹر کے طور پر بھی استعمال کیا جاتا ہے۔
آر ایس آئی کے ایس ایم اے کا حساب لگائیں۔ جب آر ایس آئی ایس ایم اے 60 سے اوپر کی حد کو عبور کرتا ہے یا 40 سے نیچے آتا ہے تو ، اسے زیادہ خرید یا زیادہ فروخت سمجھا جاتا ہے ، اور الٹ پوزیشنوں پر غور کیا جائے گا۔
جب آر ایس آئی کی تبدیلی ایک خاص قدر سے تجاوز کرتی ہے تو ، اسے اچانک تبدیلی سمجھا جاتا ہے۔ اصل قریبی قیمت کی تصدیق کے ساتھ مل کر ، یہ الٹ پوزیشن قائم کرنے کے لئے ایک سگنل کے طور پر کام کرتا ہے۔
فلٹرنگ کے لئے متعدد ای ایم اے استعمال کریں۔ صرف اس صورت میں جب قیمت مختصر مدت کے ای ایم اے سے تجاوز کرتی ہے تو ، طویل پوزیشن پر غور کیا جائے گا۔ صرف اس صورت میں جب قیمت مختصر مدت کے ای ایم اے سے نیچے آجاتی ہے تو ، مختصر پوزیشن پر غور کیا جائے گا۔
RSI اوسط، اچانک تبدیلیوں اور EMA فلٹرنگ کے استعمال کو یکجا کرکے، بہتر انٹری پوائنٹس کی نشاندہی کی جا سکتی ہے۔
آر ایس آئی اوسط کا استعمال کرتے ہوئے زیادہ خریدنے اور زیادہ فروخت کی حالتوں کا درست اندازہ لگایا جاسکتا ہے ، جو الٹ جانے کے مواقع کو پکڑنے کے لئے موزوں ہے۔
اچانک تبدیلیاں اکثر قیمت کے رجحان اور سمت میں تبدیلی کا مطلب ہوتی ہیں، اس سگنل کا استعمال کرتے ہوئے اندراجات کی بروقتیت کو بہتر بنا سکتا ہے۔
کثیر سطح کے ای ایم اے فلٹرنگ سے غلط سگنل سے بچنے اور غیر ضروری نقصانات کو کم کرنے میں مدد مل سکتی ہے۔
متعدد پیرامیٹرز کو فیصلہ کرنے کے معیار کے طور پر مل کر حکمت عملی کے استحکام اور قابل اعتماد کو بڑھا سکتا ہے.
آر ایس آئی کی کارکردگی غیر مستحکم ہوسکتی ہے اور ایس ایم اے ہٹ کی شرح کم ہوسکتی ہے۔ آر ایس آئی پیرامیٹرز کو بہتر بنایا جاسکتا ہے یا دوسرے اشارے اس کی جگہ لے سکتے ہیں۔
اچانک تبدیلیاں حقیقی تبدیلیوں کے بجائے صرف قلیل مدتی اتار چڑھاؤ ہوسکتی ہیں۔ فیصلے کی درستگی کو بہتر بنانے کے لیے سینسنگ سائیکل کی لمبائی میں اضافہ کریں۔
ای ایم اے سمت فلٹرنگ میں تاخیر ہے۔ حساسیت کو بہتر بنانے کے لئے مختصر مدت کے ای ایم اے کی جانچ کریں۔
عام طور پر ، یہ حکمت عملی پیرامیٹر ٹوننگ کے لئے کافی حساس ہے۔ پیرامیٹر کے بہترین مجموعے تلاش کرنے کے لئے محتاط ٹیسٹوں کی ضرورت ہے۔ خطرات کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا استعمال کریں۔
بہتر انٹری پوائنٹس تلاش کرنے کے لئے ADX، MACD کے ساتھ مل کر RSI جیسے دیگر اشارے کی جانچ کریں.
اچانک خرید/فروخت کے سگنل کی صداقت اور استحکام کا فیصلہ کرنے کے لیے مشین لرننگ الگورتھم کو بڑھانا۔
ای ایم اے کی سمت فلٹرنگ کو مزید بہتر بنائیں جیسے مختلف مدت کے ای ایم اے کے مرکب فیصلے کا استعمال۔
مارکیٹ کی اتار چڑھاؤ کی بنیاد پر اسٹاپ نقصان کی حد کو متحرک طور پر ایڈجسٹ کرنے کے لئے موافقت پذیر اسٹاپ نقصان کی حکمت عملی شامل کریں۔
پیرامیٹر کے بہترین مجموعے تلاش کرنے کے لئے پیرامیٹر کی اصلاح جاری رکھیں۔ تشخیص کے معیار شارپ تناسب وغیرہ ہوسکتے ہیں۔
یہ حکمت عملی سب سے پہلے زیادہ خرید / فروخت کی حالتوں کا تعین کرنے کے لئے آر ایس آئی اوسط کا استعمال کرتی ہے۔ اچانک تبدیلیوں کے واقع ہونے پر الٹ پوزیشنیں قائم کی جاتی ہیں۔ ای ایم اے کو ایک معاون فلٹر کے طور پر بھی استعمال کیا جاتا ہے۔ مناسب پیرامیٹر کی ترتیبات کے ساتھ ، یہ حکمت عملی مارکیٹ کے رجحان کی تبدیلیوں کا مؤثر طریقے سے تعین کرسکتی ہے۔ مجموعی طور پر ، اس میں اچھا استحکام اور عملی قدر ہے۔ مزید بہتری کے لئے ابھی بھی گنجائش ہے ، جس کے لئے مستقل جانچ اور اصلاح کی ضرورت ہے۔
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 3m basePeriod: 1m 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/ // © samwillington //@version=5 strategy("sma RSI & sudden buy and sell Strategy v1", overlay=true) price = close length = input( 14 ) inst_length = input( 10 ) var rbc = 0 var float rsiBP = 0.0 var rsc = 0 var float rsiSP = 0.0 bars = input(10) lookbackno2 = input.int(20) rsi_buy = 0 rsi_sell = 0 //EMA inputs input_ema20 = input.int(20) ema20 = ta.ema(price, input_ema20) input_ema50 = input.int(50) ema50 = ta.ema(price, input_ema50) input_ema100 = input.int(100) ema100 = ta.ema(price, input_ema100) input_ema200 = input.int(200) ema200 = ta.ema(price, input_ema200) input_ema400 = input.int(400) ema400 = ta.ema(price, input_ema400) input_ema800 = input.int(800) ema800 = ta.ema(price, input_ema800) vrsi = ta.rsi(price, length) hi2 = ta.highest(price, lookbackno2) lo2 = ta.lowest(price, lookbackno2) buy_diff_rsi = vrsi - ta.rsi(close[1], length) sell_diff_rsi = ta.rsi(close[1],length) - vrsi //RSI high low var int sudS = 0 var int sudB = 0 var float sudSO = 0.0 var float sudSC = 0.0 var float sudBO = 0.0 var float sudBC = 0.0 var sudBuy = 0 var sudSell = 0 var countB = 0 var countS = 0 var co_800 = false var co_400 = false var co_200 = false var co_100 = false var co_50 = false var co_20 = false co_800 := ta.crossover(price , ema800) co_400 := ta.crossover(price , ema400) co_200 := ta.crossover(price , ema200) co_100 := ta.crossover(price , ema100) co_50 := ta.crossover(price , ema50) co_20 := ta.crossover(price , ema20) if(ta.crossunder(price , ema20)) co_20 := false if(ta.crossunder(price , ema50)) co_50 := false if(ta.crossunder(price , ema100)) co_100 := false if(ta.crossunder(price , ema200)) co_200 := false if(ta.crossunder(price , ema400)) co_400 := false if(ta.crossunder(price , ema800)) co_800 := false if((price> ema800) and (price > ema400)) if(co_20) if(co_50) if(co_100) if(co_200) strategy.close("Sell") strategy.entry("Buy", strategy.long, comment="spl Buy") co_20 := false co_50 := false co_100 := false co_200 := false // too much rsi if(vrsi > 90) strategy.close("Buy") strategy.entry("Sell", strategy.short, comment="RSI too overbuy") if(vrsi < 10) strategy.close("Sell") strategy.entry("Buy", strategy.long, comment="RSI too oversold") var sudbcount = 0 // counting no. of bars till sudden rise var sudscount = 0 // counting no. of bars till sudden decrease if(sudB == 1) sudbcount := sudbcount + 1 if(sudS == 1) sudscount := sudscount + 1 if((buy_diff_rsi > inst_length) and (hi2 > price)) sudB := 1 sudBO := open sudBC := close if((sell_diff_rsi > inst_length) ) sudS := 1 sudSO := open sudSC := close if(sudbcount == bars) if(sudBC < price) strategy.close("Sell") strategy.entry("Buy", strategy.long, comment="sudd buy") sudbcount := 0 sudB := 0 sudbcount := 0 sudB := 0 if(sudscount == bars) if(sudSC > price) strategy.close("Buy") strategy.entry("Sell", strategy.short, comment="sudd sell") sudscount := 0 sudS := 0 sudscount := 0 sudS := 0 over40 = input( 40 ) over60 = input( 60 ) sma =ta.sma(vrsi, length) coo = ta.crossover(sma, over60) cuu = ta.crossunder(sma, over40) if (coo) strategy.close("Sell") strategy.entry("Buy", strategy.long, comment="modified buy") if (cuu) strategy.close("Buy") strategy.entry("Sell", strategy.short, comment="modefied sell") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)