یہ حکمت عملی تجارت کے لئے ڈبل ریورس مومنٹم انڈیکس اشارے پر مبنی ہے۔ یہ ایک خاص وقت کی مدت میں سب سے زیادہ قیمت ، سب سے کم قیمت ، اور اختتامی قیمت کا استعمال کرتے ہوئے ریورس مومنٹم انڈیکس کا حساب لگاتا ہے ، اور جب انڈیکس اوور بک زون سے نیچے کی طرف یا اوور سیل زون سے اوپر کی طرف پلٹ جاتا ہے تو تجارتی سگنل تیار کرتا ہے۔ یہ بریک آؤٹ اسٹاپ نقصان کا طریقہ کار بھی طے کرتا ہے۔
اس حکمت عملی کا بنیادی اشارے اسٹوکاسٹک مومنٹم انڈیکس (ایس ایم آئی) ہے۔ ایس ایم آئی کا حساب کتاب کا فارمولا یہ ہے:
$$SMI = \frac{Close-(HH+LL)/2}{AVGDIFF/2}*100$$
جہاں HH پچھلے N دنوں میں سب سے زیادہ قیمت ہے، LL پچھلے N دنوں میں سب سے کم قیمت ہے، N پیرامیٹر a کی طرف سے مقرر کیا جاتا ہے؛ AVGDIFF HH-LL کے M دن چلنے والے اوسط ہے، M پیرامیٹر b کی طرف سے مقرر کیا جاتا ہے.
ایس ایم آئی قیمتوں کی الٹ کی خصوصیت کو ظاہر کرتا ہے۔ جب اسٹاک کی قیمت پچھلے N دنوں میں سب سے زیادہ نقطہ کی طرف بڑھتی ہے تو ، ایس ایم آئی 100 کے قریب ہوتا ہے ، جس سے اسٹاک کی زیادہ خریداری کی نشاندہی ہوتی ہے۔ جب یہ پچھلے N دنوں میں سب سے کم نقطہ کی طرف بڑھتا ہے تو ، ایس ایم آئی -100 کے قریب ہوتا ہے ، جس سے زیادہ فروخت کی نشاندہی ہوتی ہے۔ خرید / فروخت کے سگنل اس وقت پیدا ہوتے ہیں جب ایس ایم آئی 100 کی سطح سے نیچے کی طرف پلٹ جاتا ہے یا -100 کی سطح سے اوپر کی طرف پلٹ جاتا ہے۔
اس حکمت عملی میں ایس ایم آئی کی ایم ڈے چلتی اوسط ایس ایم اے کو تجارتی سگنل لائن کے طور پر استعمال کیا جاتا ہے۔ جب ایس ایم آئی اوور بک زون سے نیچے کی طرف پلٹ جاتا ہے اور ایس ایم اے سے نیچے ٹوٹ جاتا ہے تو ، خرید کا سگنل پیدا ہوتا ہے۔ جب ایس ایم آئی اوور سیل زون سے اوپر کی طرف پلٹ جاتا ہے اور ایس ایم اے سے اوپر ٹوٹ جاتا ہے تو ، فروخت کا سگنل پیدا ہوتا ہے۔
اس کے علاوہ، حکمت عملی سٹاپ نقصان کے لئے موم بتی جسم توڑنے کا فیصلہ.
اس حکمت عملی کے فوائد یہ ہیں:
قیمت کی تبدیلی کے اصول کا استعمال کرتے ہوئے ، یہ تبدیلی کے مقامات پر تجارتی سگنل تیار کرسکتا ہے اور تبدیلی کے مواقع کو پکڑ سکتا ہے۔
ایس ایم آئی سب سے زیادہ قیمت، سب سے کم قیمت اور بند ہونے کی قیمت کو یکجا کرتا ہے تاکہ زیادہ سے زیادہ خریدنے اور زیادہ سے زیادہ فروخت کی شرائط کا فیصلہ کیا جاسکے، جس سے زیادہ قابل اعتماد سگنل بنتے ہیں۔
موم بتی کے جسم کے وقفے وقفے کے ساتھ، یہ وقت میں پوزیشنوں سے باہر نکل سکتا ہے اور مؤثر طریقے سے خطرات کو کنٹرول کرسکتا ہے.
اس حکمت عملی میں کچھ پیرامیٹرز ہیں اور اسے نافذ کرنا اور بہتر بنانا آسان ہے۔
اس حکمت عملی کے لئے کچھ خطرات بھی ہیں:
ریورس ٹریڈنگ کو کامیاب ریورسز کے عین مطابق وقت کا تعین کرنا مشکل ہے ، اور رجحان کی تبدیلی کو پکڑنے سے پہلے متعدد نقصانات کا سامنا کرنا پڑ سکتا ہے۔
الٹ پوائنٹس کے غلط فیصلے سے نقصانات میں اضافہ ہو سکتا ہے۔
جسم کے فرار سٹاپ نقصان بہت حساس ہو سکتا ہے اور پھنس جانے کا امکان بہت زیادہ ہو سکتا ہے۔
حل یہ ہیں:
ریورس ٹریڈنگ فریکوئنسی کو ایڈجسٹ کرنے کے لئے ایس ایم آئی پیرامیٹرز کو بہتر بنائیں.
الٹ کے وقت کا تعین کرنے کے لئے دیگر اشارے کو یکجا کریں.
بہت حساس ہونے سے بچنے کے لئے جسم کا سائز سٹاپ نقصان کے لئے ایڈجسٹ کریں.
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
ایس ایم آئی کے پیرامیٹرز a اور b کو بہتر بنائیں تاکہ الٹ کی گرفتاری کی حساسیت کو ایڈجسٹ کیا جاسکے۔
اہم رجحانات کی سمتوں کو نظر انداز کرنے سے بچنے کے لئے فیصلے کے لئے دیگر اشارے شامل کریں ، جیسے چلتے ہوئے اوسط ، اتار چڑھاؤ کے اشارے وغیرہ۔
زیادہ سٹاپ نقصان کے طریقوں کو شامل کریں تاکہ یہ بہت حساس یا غیر حساس نہ ہو، جیسے ٹریلنگ سٹاپ نقصان، منحنی سٹاپ نقصان وغیرہ.
ناکام واپسی کی تجارت سے بچنے کے لئے واپسی کی کامیابی کے امکان کا اندازہ کرنے کے لئے مشین سیکھنے کے ماڈل شامل کریں.
اختتام کے طور پر ، یہ الٹ پلٹ رفتار انڈیکس ایس ایم آئی پر مبنی دو طرفہ تجارتی حکمت عملی ہے۔ فائدہ قیمت کی الٹ پلٹ کا استعمال کرتے ہوئے اور الٹ پلٹ پوائنٹس پر سگنل پیدا کرکے زیادہ قلیل مدتی تجارتی مواقع حاصل کرنے میں ہے۔ لیکن الٹ پلٹ تجارت کے عام خطرات بھی ہیں۔ پیرامیٹر ٹیوننگ اور اسٹاپ نقصان کی اصلاح کی ضرورت ہے تاکہ نقصانات کو بڑھاوا نہ ہو۔ مجموعی طور پر ، یہ حکمت عملی الٹ پلٹ تجارت میں دلچسپی رکھنے والے سرمایہ کاروں کے لئے موزوں ہے ، لیکن خطرات کو کنٹرول کرنے کے لئے دوسرے اشارے اور سخت اسٹاپ نقصان کو شامل کرنا ضروری ہے۔
/*backtest start: 2023-11-01 00:00:00 end: 2023-11-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Stochastic Strategy v1.0", shorttitle = "Stochastic str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") a = input(5, "Percent K Length") b = input(3, "Percent D Length") limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit") 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") //Stochastic Momentum Index ll = lowest (low, a) hh = highest (high, a) diff = hh - ll rdiff = close - (hh+ll)/2 avgrel = ema(ema(rdiff,b),b) avgdiff = ema(ema(diff,b),b) SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0 SMIsignal = ema(SMI,b) //Lines plot(SMI, color = blue, linewidth = 3, title = "Stochastic Momentum Index") plot(SMIsignal, color = red, linewidth = 3, title = "SMI Signal Line") plot(limit, color = black, title = "Over Bought") plot(-1 * limit, color = black, title = "Over Sold") plot(0, color = blue, title = "Zero Line") //Body body = abs(close - open) abody = sma(body, 10) //Signals up = SMIsignal < -1 * limit and close < open dn = SMIsignal > limit and close > open exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2 //Trading lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Top", strategy.short, needshort == false ? 0 : lot) if exit strategy.close_all()