اسٹوکاسٹک مومنٹم حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو اسٹوکاسٹک مومنٹم انڈیکس (ایس ایم آئی) اور رشتہ دار طاقت انڈیکس (آر ایس آئی) کو جوڑتی ہے۔ یہ مارکیٹ میں زیادہ خریدنے اور زیادہ فروخت ہونے والے علاقوں کی نشاندہی کرنے کے لئے ایس ایم آئی کا استعمال کرتی ہے ، جس میں تیز رفتار آر ایس آئی سگنل فلٹر کی حیثیت سے کام کرتی ہے۔ یہ زیادہ قابل اعتماد سگنل کے انتخاب کے لئے جسمانی فلٹر کو بھی نافذ کرتی ہے۔
اسٹوکاسٹک مومنٹم انڈیکس (ایس ایم آئی) ایک عام تکنیکی اشارے ہے جو مقداری تجارت میں استعمال ہوتا ہے جس میں مومنٹم اور آسکیلشن اشارے کی طاقت کو جوڑتا ہے۔
خاص طور پر، ایس ایم آئی کا حساب اس طرح کیا جاتا ہے:
SMI = (قریبی - (HH + LL) /2) /(0.5*(HH - LL)) * 100
جہاں HH پچھلے N دنوں میں سب سے زیادہ قیمت ہے اور LL سب سے کم قیمت ہے۔
لہذا ایس ایم آئی میں رفتار کے رجحان کے بعد فیصلے اور اتار چڑھاؤ کے الٹ فیصلے دونوں شامل ہیں۔ 80 سے اوپر کی قیمتوں کو زیادہ سے زیادہ سمجھا جاتا ہے ، جبکہ 20 سے نیچے کی قیمتوں کو زیادہ سے زیادہ فروخت کیا جاتا ہے۔ یہ حکمت عملی تجارتی سگنل پیدا کرتی ہے جب ایس ایم آئی ان زیادہ سے زیادہ خرید یا فروخت کی سطح تک پہنچ جاتا ہے۔
رشتہ دار طاقت کا اشاریہ (آر ایس آئی) ایک معیاری اوور بک / اوور سیل انڈیکیٹر ہے۔ یہ حکمت عملی قلیل مدتی اوور بک / اوور سیل حالات کا فیصلہ کرنے کے لئے 7 کے عرصے کے ساتھ تیز رفتار آر ایس آئی کا استعمال کرتی ہے۔
20 سے کم پڑھنے کو oversold سمجھا جاتا ہے ، جبکہ 80 سے اوپر والے تیزی سے RSI کے مطابق overbought سمجھا جاتا ہے۔ جب ان حدوں کو توڑا جاتا ہے تو سگنل پیدا ہوتے ہیں۔
اس حکمت عملی میں شمعدان کے جسم کے سائز کی جانچ پڑتال کرکے کچھ سگنلز کو فلٹر کرنے کے لئے جسم فلٹر بھی لاگو ہوتا ہے۔ صرف ایک مقررہ حد سے تجاوز کرنے والے جسم ہی تجارت کو متحرک کریں گے۔
یہ کچھ غلط سگنل کو فلٹر کرتا ہے اور قابل اعتماد بڑھاتا ہے۔
اس نقطہ نظر میں ایس ایم آئی ، فاسٹ آر ایس آئی ، اور باڈی فلٹر کو ایک مضبوط تھری پارٹ سسٹم میں ملایا گیا ہے۔ متعدد مربوط سگنلز کا استعمال درستگی کو بہتر بناتا ہے اور استحکام کو بڑھاتا ہے۔
ایس ایم آئی اور فاسٹ آر ایس آئی دونوں ہی ختم ہونے والے رجحانات کا پتہ لگانے کے لئے بہترین ہیں۔ ان زیادہ پھیلے ہوئے علاقوں سے اوسط ریورسز کی تجارت کرکے ، حکمت عملی کم خریدنے اور اعلی فروخت کرنے پر قائم ہے۔
ڈپ اور شارٹ ریلی دونوں خریدنے کی صلاحیت مارکیٹ کے حالات میں مواقع کو زیادہ سے زیادہ کرتی ہے۔
جسم فلٹر ہلکے حالات میں کم قائل سگنل کو مسترد کرکے whipsaws سے بچتا ہے.
لمبی / مختصر سوئچنگ کا کثرت سے خطرہ ہوتا ہے۔ منطق کو بہتر بنانا اس کو کم سے کم کرسکتا ہے۔
سگنل مارکیٹ کے شرکاء کو گروپ کرسکتے ہیں اور انٹری پر تیزی سے الٹ پھیر کی حوصلہ افزائی کرسکتے ہیں۔ ٹھیک ٹوننگ پیرامیٹرز ریوڑ کے خطرے کو کم کرسکتے ہیں۔
انتہائی واقعات تمام ماڈلز کو الٹ سکتے ہیں۔ منظم خطرات پر قابو پانے کے لئے ذہین اسٹاپ نقصانات ضروری ہیں۔
مختلف ایس ایم آئی / آر ایس آئی ادوار اور جسم فلٹر کی حدوں کا تجربہ کرنے سے اعلی واپسی کے لئے بہترین اقدار کا پتہ چل سکتا ہے۔
اتار چڑھاؤ پر مبنی یا اے ٹی آر اسٹاپ کو شامل کرنے سے پوزیشن اور پورٹ فولیو کے خطرے کو بہتر طور پر شامل کیا جائے گا۔
مستقبل کے اشارے کی سطح کی پیش گوئی کرنے والے ماڈل اہم نکات کو پہلے سے پہچان سکتے ہیں۔ اس سے پیش گوئی کی طاقت میں اضافہ ہوگا۔
خلاصہ میں ، ایس ایم آئی ، فاسٹ آر ایس آئی ، اور باڈی فلٹر کو مربوط کرکے ، اس حکمت عملی نے ایک کافی جامع اوور بکٹ / اوور سیلڈ سسٹم تشکیل دیا ہے۔ ملٹی سگنل نقطہ نظر درستگی کو بہتر بناتا ہے ، جبکہ دو طرفہ تجارتی صلاحیت اور رسک کنٹرول توازن میں معاون ہیں۔ مسلسل پیرامیٹر اور ماڈل کی اصلاح کے ساتھ ، یہ طویل مدتی میں فوائد حاصل کرنے کا وعدہ کرتا ہے۔
/*backtest start: 2023-12-22 00:00:00 end: 2024-01-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Stochastic Strategy v1.1", shorttitle = "Stochastic str 1.1", 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") usemar = input(false, defval = false, title = "Use Martingale") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") usesmi = input(true, defval = true, title = "Use SMI Strategy") usersi = input(true, defval = true, title = "Use RSI Strategy") usebod = input(true, defval = true, title = "Use Body-Filter") a = input(5, "SMI Percent K Length") b = input(3, "SMI Percent D Length") limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit") fromyear = input(2017, defval = 2017, 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") //Fast RSI fastup = rma(max(change(close), 0), 7) fastdown = rma(-min(change(close), 0), 7) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //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 Filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 3 or usebod == false //Signals up1 = SMIsignal < -1 * limit and close < open and body and usesmi dn1 = SMIsignal > limit and close > open and body and usesmi up2 = fastrsi < 20 and close < open and body and usersi dn2 = fastrsi > 80 and close > open and body and usersi exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body //Trading profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1] mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1 lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1] if up1 or up2 if strategy.position_size < 0 strategy.close_all() strategy.entry("long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 or dn2 if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()